Data types and operators and statements

Preview:

DESCRIPTION

Learning Basic datatypes , operators and statements in Java

Citation preview

DATA TYPES AND OPERATORS

AND STATEMENTS

Data types

Prof. Ashish Bhatia

2

Byte Ordering

Prof. Ashish Bhatia

3

JAVA

x86 and

x64

Floating Points - float

Prof. Ashish Bhatia

4

Float [ 8byte = 64 bits]

123.45 ? What is exponent and Significand

31 – Sign Bit [ 1 bit ]

23-30 – Exponent Field [ 8 bit ]

0-22 - Significand [23 bit]

Floating Points

Prof. Ashish Bhatia

5

Float [ 4byte = 32 bits]

Bits 30-23

Exponent

Bits 0-22 Significand

0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Bits 30-23

Exponent

Bits 0-22 Significand

1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Bits 30-23

Exponent

Bits 0-22 Significand

1 1 1 1 1 1 1 1 1 Any Non – zero value

Floating Points - double

Prof. Ashish Bhatia

6

Bits 62-52

Exponent

Bits 51-0 Significand

0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Bits 62-52

Exponent

Bits 51-0 Significand

1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Bits 62-52

Exponent

Bits 51-0 Significand

1 1 1 1 1 1 1 1 1 Any non-zero value

Super Type and Sub Type Relations

Prof. Ashish Bhatia

7

double

float

long

int

short

byte

char

Using Literals

Prof. Ashish Bhatia

8

Use l or L for long values else everything is int.

Use f or F for Float values else everything is double.

For Octal use 0

For Hex use 0x or 0X

\ used for special characters

‘\n’ = New Line

‘\t’ = Tab

‘\017’ = Character constant

Legal Identifiers

Prof. Ashish Bhatia

9

Must start with a letter, a currency character ($), or a connecting character such as the underscore ( _ ). Identifiers cannot start with a number!

After the first character, identifiers can contain any combination of letters, currency characters, connecting characters, or numbers.

In practice, there is no limit to the number of characters an identifier can contain.

Identifiers in Java are case-sensitive; foo and FOO are two different identifiers.

Example

Prof. Ashish Bhatia

10

int _a;

int $c;

int ______2_w;

int _$;

int this_is_a_very_detailed_name_for_an_;

int :b;

int -d;

int e#;

int .f;

int 7g;

Unicode Escape in Java

Prof. Ashish Bhatia

11

\ufour hex number

\u0A85

Reference Datatypes

Prof. Ashish Bhatia

12

Arrays

Classes

Interface

Enum

Annotation

Operators

Prof. Ashish Bhatia

13

Arithmetic Operators

+ - * / %

Conversion

Widening

Sub type to super type

Narrowing

Super Type to sub type

Mixed Conversion

Operators

Prof. Ashish Bhatia

14

Unary + and –

String Concatenation

Operator

Prof. Ashish Bhatia

15

Relational Operator

< > <= >= == !=

Logical Operator

& | ^ ! && ||

Bitwise Operator

& | ^ ~ << >> >>>

Increment and Decrement Operator [ ++ , -- ]

Conditional Operator (? : )

Assignment Operator

instanceof

new

Example

Prof. Ashish Bhatia

16

int a = 60; /* 60 = 0011 1100 */

int c = a << 2; /* 240 = 1111 0000 */

int c = a >> 2; /* 15 = 1111 */

int c = a >>> 2; /* 215 = 0000 1111 */

What is int a = -60?

Statements

Prof. Ashish Bhatia

17

Conditional

if, if-else, switch-case

Loop

for, while, do-while

break, continue, return

Labeled break and continue

Brain Teasing Exercise

Prof. Ashish Bhatia

18

x*=2+5

boolean b = 100 > 99;

5.0 == 5L

if(x=0) {}

if(b){}

if(5 && 6) {}

int x = 1; int y=++x; // x++ System.out.println(y);

Output

Prof. Ashish Bhatia

19

class Test{

public static void main(String[] args) {

int i = 42;

String s = (i<40)?"life":(i>50)?"universe":"everything";

System.out.println(s);

}

}

Output

Prof. Ashish Bhatia

20

String s = "";

boolean b1 = true;

boolean b2 = false;

if((b2 = false) | (21%5) > 2) s += "x";

if(b1 || (b2 = true)) s += "y";

if(b2 == true) s += "z";

System.out.println(s);

More on Arrays

Prof. Ashish Bhatia

21

int [] array; // recommended

int array[];

int [5] array; // ERROR

Declaring an Array

Constructing an Array

int array[] = new Array[]

int array[] = {1,2,3}

int z[] = new int[] {1,2,3}

int z[] = new int[3] {1,2,3}

Getting user input

Prof. Ashish Bhatia

22

import java.util.Scanner;

class Scan

{

public static void main(String args[])

{

Scanner s = new Scanner(System.in);

int x = s.nextInt();

System.out.println(x);

x = s.nextInt();

System.out.println(x);

}

}

Recommended