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

java_types-variables-operators_fall2024

Uploaded by

dosiw40588
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

java_types-variables-operators_fall2024

Uploaded by

dosiw40588
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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