itm 352 - © port, kazmanvariables - 1 itm 352 data types, variables
TRANSCRIPT
ITM 352 - © Port, Kazman Variables - 1
ITM 352
Data types, Variables
ITM 352 - © Port, Kazman Variables - 2
AnnouncementsApache and NetBeans must be installed and
working on your laptop NOW During class:
Start NetBeans and create a new project “Lab1” Go to the Lab 1 assignment on Laulima. You may copy
and paste the exercises in to Word then back into the submission area or work directly on Laulima (just be sure to save a draft frequently)
ITM 352 - © Port, Kazman Variables - 3
AgendaLecture:
Outputting to the screen and console Data types Variables
ITM 352 - © Port, Kazman Variables - 4
Output in JS Use document.write() for simple output to the current
browser page document.write('hello'); // could use "hello"
To write to a particular location (i.e. page element) set its innerHTML attribute
<div id="place"></div> <script> document.getElementById("place").innerHTML='hello'; </script> Use console.log output to the JS console which is not
displayed on the browser page. It can only be seen through the browser tools or NetBeans Output (good for testing)console.log("hello");
ITM 352 - © Port, Kazman Variables - 5
Output in PHP Use echo for simple output
echo 'hello'; echo 'hello', ' goodbye'; echo ('hello');
print is virtually the same syntax print 'hello';
You can use () if you like echo('hello'); print('hello');
New line for console output (we don’t do much of this) echo "line1\nline2";
New line for HTML output echo 'line1<br>line2';
ITM 352 - © Port, Kazman Variables - 6
What is a Variable? A named location to store data
a container for data (like a box or bucket)
It can hold only one type of data at a time for example only integers, only floating point (real) numbers, or
only characters A variable with a scalar type holds one scalar value A variable with a compound type holds multiple scalar values,
BUT the variable still holds only a single (the compound type itself) value
Syntax for a variable is $<identifier> PHP Example: $name, $age JS Example: var name, var age Case sensitive!
$name $age
'Dan' 30.3
ITM 352 - © Port, Kazman Variables - 7
Assigning Values to Variables The assignment operator: "="
"sets" a value for a variable not the "is equal to" sign; not the same as in algebra
It means - "Assign the value of the expression on the right side to the variable on the left side."
Can have the variable on both sides of the equals sign:$count = 10;// initialize counter to ten
$count = $count - 1;// decrement counter
var count = 10;// initialize counter to ten
var count = count - 1;// decrement counter new value of count = 10 - 1 = 9
ITM 352 - © Port, Kazman Variables - 8
Creating Variables
A variable is declared the first time a value is set for it
A variable declaration associates a name with a storage location in memory and specifies the type of data it will store: $a = 1.1 ; // declares and sets a real number $a = true ; // declares and sets a boolean $a = 'Zip Zap' ; // declares and sets a string var a = 1.1 ; // declares and sets a real number var a = true; // declares and sets a boolean var a = 'Zip Zap' ; // declares and sets a string
ITM 352 - © Port, Kazman Variables - 9
Variable Names: Identifiers
Rules(these must be obeyed)
all identifiers must follow the same rules
must not start with a digit must contain only numbers,
letters, underscore (_) and some other special characters
names are case-sensitive (ThisName and thisName are two different variable names)
No spaces!
Good Programming Practice (these should be obeyed)
always use meaningful names from the problem domain (for example, eggsPerBasket instead of n, which is meaningless, or count, which is not meaningful enough)
start variable names with lower case capitalize interior words (use
eggsPerBasket instead of eggsperbasket)
use underscore (_) for spaces CAPITALIZE constants (i.e. variables
that do not change values)
ITM 352 - © Port, Kazman Variables - 10
Variable Default Values
Variables have default values $a = $a + 1; // $a=0 by default $s = $s."Fred"; // default $s='' var a = a + 1; // a=0 by default var s = s + "Fred"; // default s=""
IMPORTANT: It is best to not assume the default value is what you want. Always explicitly set the initial value of a variable!!!! e.g. $a = 0; $s = ""; $b = false;
ITM 352 - © Port, Kazman Variables - 11
Two Main Kinds of Data Types
Scalar the simplest types also called "primitive" or
"basic" types cannot decompose into
other types contain single values only Examples:
Integer Floating point (real) String Boolean
Compound also call class types more complex composed of other types
(primitive or class types) can contain multiple
values Examples:
Arrays Objects (more about these
in ITM353)
ITM 352 - © Port, Kazman Variables - 12
Which Ones to Know for Now - 1 integer
just whole numbers may be positive or negative no decimal point may use
Octal: 0755 // starts '0' Hex: 0xFF // starts '0x'
In PHP these are referred to as int boolean
only two values – true or false used for 'conditional' tests (e.g. if,
when) In PHP these are referred to as bool
floating point real numbers, both positive and
negative has a decimal point (fractional
part) two formats
number with decimal point, e.g. 514.061
e (or scientific, or floating-point) notation, e.g. 5.14061E2, which means 5.14061 x 102
In PHP these are referred to as double
null The 'nothing' type (more on
this later)
ITM 352 - © Port, Kazman Variables - 13
A string is a sequence of characters A very common data type
Names, passwords, addresses, histories, etc. Often used to represent complex data
Dates, phone numbers, SS numbers, formatted output A common data-interchange or data-sharing type
key-value pairs, XML, comma delimited data, logs PHP has a vast and powerful set of functions for working with strings.
JS not so much, but there are frameworks such as JQuery that do. Manipulation, searching, comparing, translation, etc. Check out php.net
Examples: “Mr. Smith”, ‘808-956-6948’, ‘21.7’, “1202 King St.”
Which Ones to Know for Now – 2.
ITM 352 - © Port, Kazman Variables - 14
NULL
Null is a special type that means "no value"It can be used to unset a variableIt is used as a place holder within
compound types (more on this later…) $a = NULL; // $a is “unset”, also can use unset($a)
var a = null; // var a; would set a as “undefined” not null
Do Exercise #1 in lab
ITM 352 - © Port, Kazman Variables - 15
Simple Expressions
Data types can be operated on (e.g. arithmetic, string operations) echo 1+2; echo 3*2; echo "Big" . " " . "Dude"; printf("5/3 is about %3d", 5/3);
Operators: +, -, ., *, /, %
ITM 352 - © Port, Kazman Variables - 16
Simple Expressions With VariablesVariables can be operated on (e.g.
arithmetic)
// add 1 to value in $a and set in $add$add = $a + 1;
// multiply value in $a by 2 and set in $mult $mult = $a * 2;
// concatenate string in $s with 'Fred' and// set in $str $str = $s . " Fred";
ITM 352 - © Port, Kazman Variables - 17
Printf() Use printf() for more complex formatted output printf('This prints 2 decimal places %.2f', 3.1415927);
This prints 2 decimal places 3.14
Printf() is a function whose first argument is a string that describes the desired format and the remaining arguments are the values to substitute into the type specifications (anything that starts with %)
Do Exercise #2,#3 (and bonus if you wish) in lab