0% found this document useful (0 votes)
4 views

java_types-variables-operators_fall2024

Uploaded by

dosiw40588
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

java_types-variables-operators_fall2024

Uploaded by

dosiw40588
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Types, Variables and Operators

Computer Engineering Department


Java Course
Prof. Dr. Ahmet Sayar
Kocaeli University – Fall 2024
Types
• Kinds of values that can be stored and
manipulated
• boolean: Truth value (true or false).
• int: Integer (0, 1, -47).
• double: Real number (3.14, 1.0, -2.1).
• String: Text (“hello”, “example”).
Variables
• Named location that stores a value of one
particular type
• Form:
TYPE NAME;
• Example:
String foo;
int x;
• A variable must be declared before it is
used.
Java Identifiers
• An identifier is a name, such as the name of a
variable.
• Türkish characters are ok
• Identifiers may contain only
– Letters
• Not beginning with digit
– digits (0 through 9)
• Used only with with letters
– the underscore character (_)
– and the currency sign symbols ($, £, €)

but the first character cannot be a digit.


Example identifiers: Check their
correctness
• int k!34;
• int 2dfg;
• int test1;
• int test23we;
• int df_;
• int sd$;
• int @kl;
• int $fg;
• int k.t;
• int k-t;
• int şşt;
• int $;
• int a ei;
Java Identifiers, cont.
• Identifiers may not contain any spaces, dots (.),
asterisks (*), or other characters:
7-11 netscape.com util.* (not allowed)
• Identifiers can be arbitrarily long.
• Since Java is case sensitive, stuff, Stuff,
and STUFF are different identifiers.
Keywords or Reserved Words
• Words such as if are called keywords or
reserved words and have special, predefined
meanings.
• Keywords cannot be used as identifiers.
• Other keywords: int, public, class
Primitive Types
Assignment
• An assignment statement is used to assign a value to a
variable.
answer = 42;
• Use ‘=‘ to give variables a value.
• Example:
– String foo;
– foo = “IAP 6.092”;
• Can be combined with variable declaration
– String foo = “IAP 6.092”;
• int numberOfBaskets, eggsPerBasket;
• int numberOfBaskets=5, eggsPerBasket;
Operators
• Symbols that perform simple computations
• Assignment: =
• Addition: +
• Subtraction: -
• Multiplication: *
• Division: /
• Mod: %
Order of Operations - precedence
• Follows standard math rules:
– Parentheses
– Multiplication and division
– Addition and subtraction

– double x = 3 / 2 + 1;
• System.out.println(‘’x = ’’+x);
– double y = 3 / (2 + 1);
• System.out.println(‘’y = ’’+y);
Order of Operations – Cont.
Order of Operations – Cont.
• The binary arithmetic operators *, /, and %, have
lower precedence than the unary operators ++, --
, and !, but have higher precedence than the
binary arithmetic operators + and -.
• When binary operators have equal precedence,
the operator on the left acts before the
operator(s) on the right.
Sample Expressions
Increment (and Decrement)
Operators
• Used to increase (or decrease) the value of a
variable by 1
• Easy to use, important to recognize
• The increment operator
count++ or ++count
• The decrement operator
count-- or --count
Increment (and Decrement)
Operators
• Equivalent operations
count++;
++count;
count = count + 1;

count--;
--count;
count = count - 1;
Examples
• int k=0, y=0, x;
• x = ++k-y;
• System.out.println("x's value : "+x);

• int k=0, y=0, x;


• x = k++-y;
• System.out.println("x's value : "+x);
Increment (and Decrement)
Operators in Expressions
• after executing
int m = 4;
int result = 3 * (++m)
result has a value of 15 and m has a value of 5
• after executing
int m = 4;
int result = 3 * (m++)
result has a value of 12 and m has a value of 5
Sample code: operators and
assignments
Division
• Division (“/”) operates differently on integers
and on doubles!
• Example:
– double a = 5.0/2.0; // a = 2.5
– int b = 4/2; // b = 2
– int c = 5/2; // c = 2
– double d = 5/2; // d = 2.0
Conversion by casting
• int a = 2; // a = 2
• double a = 2; // a = 2.0 (Implicit)

• int a = 18.7; // ERROR


• int a = (int)18.7; // a = 18

• double a = 2/3; // a = 0.0


• double a = (double)2/3; // a = 0.6666…
Conversion by casting - Cont
• double z = 3.0/2.0;
• System.out.println("===== "+z);

• double t = 3/2;
• System.out.println("===== "+t);

• double m = (double)3/2;
• System.out.println("===== "+m);
Casting
Data Types and Their Relations in a Tree
Casting example
• public class Casting {
• public static void main(String[] args){
• float a=12.5f;
• int i = (int) a;
• System.out.println("(int)12.5f==" + i);
• float f = i;
• System.out.println("float değeri: " + f);
• f =f * i;
• System.out.println(f+"*" + i + "==" + f);
• }
• }
(int)12.5f==12
float değeri: 12.0
12.0*12==144.0
Which ones are correct?
• float f = 2.34f; • byte a = 126;
• int b = ++a;
• double d = f; •
• • byte a; int b;
• f=d; • a=b;

• d=f;
• byte a = 1;
• • short b = a;
• long a = 15878; •
• float f = 2.34f;
• f = 1.1*a;
• char c=65;
• •
• int a = 78; • double d;
• long b = a*9876; • char c=65;
• d = c*f*1.5;
• public class Casting_2 {
• public static void main(String args[]) {
• byte x = 126;
• System.out.println( DoIt(x) );
• }
• static String DoIt(int a) {
• return "I've received an int of value "+a;
• }
• static String DoIt(byte a) {
• return "I've received a byte of value "+a;
• }
• }
• public class Casting_3 {
• public static void main(String args[]) {
• char x = 'A';
• System.out.println( DoIt(x) );
• }
• static String DoIt(int a) {
• return "I've received an int of value "+a;
• }
• static String DoIt(byte a) {
• return "I've received a byte of value "+a;
• }
• }

You might also like