1 Variables and Data Types. 2 Variable Definition a location in memory, referenced by a name...
-
Upload
yuliana-rowse -
Category
Documents
-
view
226 -
download
1
Transcript of 1 Variables and Data Types. 2 Variable Definition a location in memory, referenced by a name...
1
Variables and Data Types
2
Variable Definition
a location in memory, referenced by a name (identifier), where data of a given type can be stored, changed, and retrieved
Using variables establish its data type and initial value
(declaration) set/change its value (assignment, input) use/display its value (expressions, output)
3
Example:Using Variables
int dimecount; // declarationdouble dimevalue = 0.10; // declaration with initial
valuedouble totalvalue;
dimecount = Input.readInt(); // input (assignment)totalvalue = dimecount*dimevalue; // assignmentSystem.out.println(totalvalue); // output
4
0.10
5.30
53
dimevalue
dimecount
totalvalue
dimecount = Input.readInt();
totalvalue = dimecount*dimevalue;
INPUT
OUTPUT
System.out.println(totalvalue);
5
Back toJava Program Structure A Java program (application or
applet) is a class that consists of methods main(), init(), paint(), action(), setup(),
onButtonPressed(), … Each method has a body
delimited by { } consists of a sequence of statements
(including declarations)
6
Statements Declarations
int dimecount;double dimevalue = 0.10;
Assignment statementsdimecount = Input.readInt();totalvalue = dimecount*dimevalue;
Output statementsSystem.out.println(totalvalue);
7
Identifier
A name in a Java program used for variables, classes, methods, ...
Rules in forming an identifier: consists of letters, digits, and underscores
(_) should start with letter or underscore
Examples: ateneo score5 total_credit BigBlue _one4three x if
Some identifiers are reserved words
8
Data Type Describes a domain or pool of values Helps a compiler impose rules Programming language needs rules for
constructing literals for a given data type e.g., 234 is an integer literal, ‘A’ is a
character literal, 2.1e-3 is a double floating point literal
Some primitive data types in Java: int, char, float, double, boolean
9
Understanding Data Types
Important components of a data type:
Range of values Literals Possible operations
10
The int Data Type Range: -2,147,483,648 to
2,147,483,647 applies to all system platforms
Literals sequence of digits Examples: 22, 16, 1, 426, 0, 12900
Operations: usual arithmetic operations +, -, *, /, % negative numbers obtained using - as prefix
11
The double Data Type Values: decimal numbers
Range: 4.94e-324 to 1.80e+308 precision: n.nnnnn... X 10(+/-)mmm
Literals (examples) 100.5, 0.33333, 200000.0 -8E10 (-80000000000), 2.1e-3 (0.0021)
Operations: arithmetic ops (division?) float: lower precision
12
Constants Literal values in a program
appear often enough and may be associated with an appropriate name
declare as a “variable with a fixed value” Examples
public static final int MAX = 100; public static final double PI = 3.1415926; public static final double DIMEVALUE =
0.10;
13
Input and Output
14
I/O in Java Text output in Java
System.out.print & System.out.println Input in pure Java is not straightforward
need to handle exception cases uses notions of streams and files
Trend in current applications perform I/O through visual components GUIs
15
Input.java A “home made” class designed to
make console input simpler For use in Java applications
make sure that Input.java is in your working directory
use Input.xxx() for text input of ints/doublesInput.readInt(), Input.readDouble()
16
Input Statements areAssignment Statements
Examples:
double interestRate;...int count = Input.readInt();
17
Applets To create applets
need to process GUI events need an init() method to set up visual
objects, an action() method to specify associated actions
use InputOutputApplet extend InputOutputApplet instead of
Applet define setup() and onButtonPressed()
18
Using InputOutputApplet Make sure InputOutputApplet.class is
present in your directory In the setup() method
addInput(“name”) to add input objects addButton(“label”) to add a button addOutput() to add an output area
In the onButtonPressed method getInt(), getDouble() for retrieving data print(), println() for printing on output area
19
Operators and Expressions
20
Operators in Java Arithmetic operators
+, -, *, /, % Special operators
(, ) performs grouping = (assignment)
Other operators
21
Understanding Operators Operands
count (binary/unary) type
Calculation performed value (and type) returned
Other effects
22
Example: % Binary operation Both operands are ints Returns the (int) remainder when
left operand is divided by the right operand
No additional effects
23
Another Example: = Binary operation Left operand must be a variable Returns the value of the right
operand Effect: value of right operand is
assigned to left operand
* Note that a = b = c = 0; is valid
24
Other Operators Increment and decrement operators
++, -- post- or pre-
Assignment operators +=, -=, *=, /=, …
“Built-in” Functions not really operators (but similar) Math.abs(), Math.sqrt(), Math.pow(), ...
25
Post-increment Operator: ++ Example: number++ Unary operator Operand must be a variable Returns the (original) value of the
operand Effect: variable is incremented
26
Pre-increment Operator: ++ Example: ++number Unary operator Operand must be a variable Returns the incremented value of
the operand Effect: variable is incremented
27
About ++ Notice that a++; and ++a; are
virtually equivalent return value is ignored in both cases could be used as shorthands for a = a+1;
Distinction apparent when the return value is used
a = 5; a = 5;b = a++; b = ++a;// values of a & b? // values of a & b?
28
Decrement Operator: --
Analogous definitions for
Post-decrement number-- Pre-decrement --number
29
Assignment Operators There is a shorthand for constructs
such as sum = sum + number;
sum += number;
+= is an operator: such an operator exists for virtually
every arithmetic operator +=, -=, *=. /=, %=, ...
effect: variable is updated returned value: the updated value
30
Built-in Functions Provided in Java to provide for more
complex operations Example: Math.pow()
double result = Math.pow(5.5,3.0); can be viewed as a binary operation
that calculates some power of a number javap java.lang.Math
prints a list of available math functions
31
Operand Types vsResult Type There are cases where the type of
the result differs from the types of the operands
Examples division between an int and a double
returns a double Math.round() has an operand
(argument) that is a float but returns an int
32
Expressions Expression
sequence of variables, literals, operators, and function calls
Uses right operand of an assignment argument for System.out.println()
Expression-statement an expression terminated by a semicolon
33
Strings
34
Variables Revisited A variable holds a value
A variable may instead contain a reference
5
“Hello”
int num = 5;
num
String s = “Hello”;
s
35
String A special kind of data type
called a class allows for string objects
About Strings sequences of characters (letters, digits,
etc) literals: formed by delimiting the
sequence of characters with " " operations?
36
Operations on Strings Concatenation
“Hello” + “ there” equals “Hello there” Obtain length of string
String s = “Hello”; int len = s.length(); // len = 5
Obtain a substring String s = “Hello”; String t = s.substring(0,3); // t = “Hel”