data types and operators and statements

22
DATA TYPES AND OPERATORS AND STATEMENTS

Upload: asbasb82

Post on 22-May-2015

205 views

Category:

Education


1 download

DESCRIPTION

Learning Basic datatypes , operators and statements in Java

TRANSCRIPT

Page 1: Data types and operators and statements

DATA TYPES AND OPERATORS

AND STATEMENTS

Page 2: Data types and operators and statements

Data types

Prof. Ashish Bhatia

2

Page 3: Data types and operators and statements

Byte Ordering

Prof. Ashish Bhatia

3

JAVA

x86 and

x64

Page 4: Data types and operators and statements

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]

Page 5: Data types and operators and statements

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

Page 6: Data types and operators and statements

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

Page 7: Data types and operators and statements

Super Type and Sub Type Relations

Prof. Ashish Bhatia

7

double

float

long

int

short

byte

char

Page 8: Data types and operators and statements

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

Page 9: Data types and operators and statements

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.

Page 10: Data types and operators and statements

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;

Page 11: Data types and operators and statements

Unicode Escape in Java

Prof. Ashish Bhatia

11

\ufour hex number

\u0A85

Page 12: Data types and operators and statements

Reference Datatypes

Prof. Ashish Bhatia

12

Arrays

Classes

Interface

Enum

Annotation

Page 13: Data types and operators and statements

Operators

Prof. Ashish Bhatia

13

Arithmetic Operators

+ - * / %

Conversion

Widening

Sub type to super type

Narrowing

Super Type to sub type

Mixed Conversion

Page 14: Data types and operators and statements

Operators

Prof. Ashish Bhatia

14

Unary + and –

String Concatenation

Page 15: Data types and operators and statements

Operator

Prof. Ashish Bhatia

15

Relational Operator

< > <= >= == !=

Logical Operator

& | ^ ! && ||

Bitwise Operator

& | ^ ~ << >> >>>

Increment and Decrement Operator [ ++ , -- ]

Conditional Operator (? : )

Assignment Operator

instanceof

new

Page 16: Data types and operators and statements

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?

Page 17: Data types and operators and statements

Statements

Prof. Ashish Bhatia

17

Conditional

if, if-else, switch-case

Loop

for, while, do-while

break, continue, return

Labeled break and continue

Page 18: Data types and operators and statements

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);

Page 19: Data types and operators and statements

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);

}

}

Page 20: Data types and operators and statements

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);

Page 21: Data types and operators and statements

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}

Page 22: Data types and operators and statements

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);

}

}