You are on page 1of 28

Java Data Types

Java SE
Contents
• Java Data Types

• Primitive Type

• Reference Type

• Wrapper Class of Primitive Types

• Arrays
Java Data Types

Primitive Data Type Reference Data Type


Primitive Types
• Computer ၏ OS မ#$%တ'င) Programming ဘ$သ$ရပ)မ#$%တ'င)
Data အ/ဖစ)အသu3%/ပu5iuင)ရန) 8ကiuတင)/ပင)ဆင)ထ$%eသ$ Data
မ#$%=i>က?ပ@% ၎င)%တiuအ$% ကနဦ% eဒတ$ပu3စ3 (Primitive Type) ဟu
eခGဆiu>ကပHသည)။

• Primitive Type မ#$%အ$% အသu3%/ပuပHက မ3မiuရ@အeပGတ'င) ၎င)%၏


တန)ဖiu% အတiuင)% အတiအက#eနရ$ယLeလN=iပHသည)။

• Primitive Type Variables မ#$%သည) Object မ#$% မဟuတ)


eသ$e>က$င)N ၎င)%တန)ဖiu%မ#$%အ$% Class မ#$%အ$% new လuပ)၍
သတ)မPတ)ရန)မလiuအပ)ပH။
Primitive Types
Primitive Types
Type Description Type Description

byte 8bit, ည or - Integer float 32bit, ည or - fp value

short 16bit, ည or - Integer double 64bit, ည or - fp value

int 32bit, ည or - Integer char 16bit, Unicode


Character
long 64bit, ည or - Integer boolean true or false
Literals
boolean result = true; • Primitive Data Type မ#$%၏ တန)ဖiu%မ#$%အ$% eဖ$)/ပရ$မP$
char capitalC = 'C'; ၎င)%၏တန)ဖiu%အ$% Source Code မ#$%တ'င)
byte b = 100; တiuက)Uiuက)eရ%သ$%eဖG/ပရပHသည)
short s = 10000;
int i = 100000; • အဆiuပH Source Code မ#$%အ$% Literal ဟu eခGဆiuပHသည)။

• Boolean

အသu3%/ပuလiuသQ)N Data ၏ တန)ဖiu%သည) Yes သiuမဟuတ) No သ$ /ဖစ)ပHက boolean type
အ$% အသu3%/ပu5iuင)?ပ@%၊ Literals အeန/ဖင)N Yes အ$% true, No အ$% false အ/ဖစ)
အသu3%/ပu5iuင)၏။Boolean Type Variable တစ)ခu၏ Default တန)ဖiu%မP$ false /ဖစ)ပHသည)။

• Character and String



Character Value မ#$%အeန/ဖင)N Unicode Character မ#$%အ$% တစ)လu3%စ@ [ ‘ ] စ$လu3%အ$%
ဝန)%ရ3၍ eရ%သ$% အသu3%/ပu5iuင)၏။String မ#$%မP$ Reference Type /ဖစ)eသ$)လည)% Primitive
Type ကTNသiu eရ%သ$%5iuင)?ပ@%၊ ၎င)%၏တန)ဖiu%မ#$%အ$% [ “ ] /ဖင)N ဝန)%ရ3၍ eရ%သ$%5iuင)ပHသည)။
Integer Literals
Type Description

Decimal 10 ကiu အe/ခခ3?ပ@%၊ 0 မP 9 အ$% အသu3%/ပu၍eဖ$)/ပ5iuင)ပHသည)။

Octal 8 ကiu အe/ခခ3?ပ@%၊ 0 မP 7 အ$% အသu3%/ပu၍eဖ$)/ပ5iuင)ပHသည)။

Hexadecimal 16 ကiu အe/ခခ3?ပ@%၊ 0 မP 9 A မP F အ$% အသu3%၍


eဖ$)/ပ5iuင)ပHသည)။

Binary 2 ကiu အe/ခခ3?ပ@%၊ 0 5Pင)N 1 ကiuသ$ အသu3%/ပu၍


eဖ$)/ပ5iuင)ပHသည)။
Integer Literals
Floating Points
• ဒသမကiန)%တန)ဖiu%မ#$%အ$% အသu3%/ပuရန)အတ'က) floating point
numbers မ#$%အ$% အသu3%/ပu5iuင)၏။

• Float Type အ$% အသu3%/ပuပHက Literal ၏ eန$က)ဆu3%တ'င) f သiuမဟuတ)


F အ$% /ဖQ)Nစ'က)eရ%သ$%5iuင)၏။

• Double Type အ$% အသu3%/ပuပHက Literal ၏ eန$က)ဆu3%တ'င) d


သiuမဟuတ) D အ$% /ဖQ)Nစ'က) eရ%သ$%5iuင)၏။

• Java ဘ$သ$ရပ)တ'င) Floating Point တန)ဖiu%မ#$%အ$% eရ%သ$%ရ$တ'င)


Scientific Notification အeနနPင)Nလည)% eရ%သ$%eဖ$)/ပ5iuင)ပHသည)။
Underscore In Numeric
Literals
• Numeric Literals မ#$% အ>က$%တ'င) အ/မင)=င)%eစရန) Underscore မ#$%အ$%
>က$%ခ3၍ eရ%သ$%5iuင)၏

• eVဆu3%5Pင)N eန$က)ဆu3%တiuတ'င) Underscore မ#$%အ$%eရ%သ$%၍မရပH

• Prefix စ$လu3%မ#$%၏ eန$က)တ'င)လည)% eရ%သ$%၍ မရပH

• Suffix စ$လu3%၏ eVတ'င)လည)% eရ%၍မရပH။

• Number အ/ဖစ)e/ပ$င)%မQ)N String တန)ဖiu%မ#$%>က$%တ'င)လည)% eရ%သ$%၍


မရပH။

• ဒသမအမPတ)အသ$%၏ eV5Pင)N eန$က)တiuတ'င)လည)% eရ%သ$%၍မရပH။


Reference Data Type
• Object မ#$%အ$%လu3%သည) Reference Type Data မ#$%
/ဖစ)>ကပHသည)။

• Reference Type Data မ#$%သည) Class မ#$%မPတဆင)N new


Keyword အ$% အသu3%/ပuက$ Heap Memory အeပGတ'င)
Instance အ/ဖစ) /ပuလuပ)?ပ@% ၎င)%၏ memory address အ$%
Reference Type Variable တ'င) အစ$%ထiu%ပHသည)။

• အဆiuပH Data မ#$%သည) Variable တ'င) တန)ဖiu%အစစ)အမPန)အ$%


အသu3%မ/ပuပT Address ကiuသ$ အစ$%ထiu%၍ တန)ဖiu%အ$% Reference
လuပ)eနeသ$e>က$င)N Reference Type ဟu eခGဆiu/ခင)% /ဖစ)ပHသည)။
Reference Type
Wrapper Classes
Primitive Wrapper Argument Types of Constructor
boolean Boolean boolean or String
char Character char
byte Byte byte or String
short Short short or String
int Integer int or String
long Long long or String
float Float float, double or String
double Double double or String

• Primitive Data မ#$%အ$% Object အeန/ဖင)N အသu3%/ပuရန) Java ဘ$သ$ရပ)၌ Wrapper


Class မ#$%အ$% /ပင)ဆင)ထ$%ပHသည)။

• Wrapper Class မ#$%အ$% အသu3%/ပu/ခင)%အ$%/ဖင)N Primitive မ#$%အ$% Object အeန/ဖင)N


၎င)%တiuတ'င)ပHဝင)eသ$ Method မ#$%အ$% လ'ယ)လင)NတကL အသu3%/ပu5iuင)ပHသည)။
Auto Boxing - Unboxing
• ဂ#$ဗ$%ဘ$သ$ရပ)တ'င) Primitive Type မP Wrapper Object
အ/ဖစ)e/ပ$င)%လည)%/ခင)%အ$% Boxing ဟu eခGဆiu?ပ@%၊ Object မP
Primitive Type အ/ဖစ)e/ပ$င)%လည)%/ခင)%အ$% Unboxing ဟu
eခGဆiuပHသည)။

• ယခင)က Primitive Type မP Wrapper Object အ/ဖစ)


e/ပ$င)%လည)%ရ$တ'င) Constructor အ$% အသu3%/ပu၍eသ$)၎င)%
Unboxing လuပ)ရ$တ'င) Method မ#$%မPတဆင)N eရ%သ$%ရန)လiuအပ)
ခTNeသ$)လည)% Java SE 5 အeရ$က)တ'င) တiuက)Uiuက) အစ$%ထiu%၍
eရ%သ$%5iuင)?ပ@% ၎င)%အ$% Autoboxing And Unboxing
ဟueခGဆiuပHသည)။
Auto Boxing - Unboxing
// Before Java SE 5
Integer index = new Integer(10);
int intValue = index.intValue();
Character c = new Character(‘c’);
char cValue = c.charValue();

// After Java SE 5
Integer index = 10;
int intValue = index;
Character c = ‘c’;
char cValue = c;
Primitive Vs Reference
Category Primitive Reference
Storage Actual Value Referenced Address of Memory
Equality Use == Operator Use Object#equals method
Determination
Counts of Type ၈မ#iu%သ$ Object မ#$%အ$%လu3%
Literal Values their own literals String Literals
null for all Objects
Java Operators •Arithmetic Arithmetic Operators
•Assignment
•Logical
•Relational
Garbage Collector Garbage Collector အ$% Garbage Collector မP အလiuအeလ[$က)
အသu3%မ/ပu5iuင) တ$ဝန)ယL
Arrays

• Java ဘ$သ$ရပ)တ'င) Data မ#$%အ$% အစuအစည)%လiuက) အသu3%/ပu5iuင)ရန)


အတ'က) Array Object 5Pင)N Collections မ#$%အ$% /ပင)ဆင)ထ$%

• Array သည) 8ကiuတင)သတ)မPတ)ထ$%eသ$ အeရအတ'က)/ဖင)N Data


မ#$%အ$% အစ@အစ\)အလiuက) သiမ)%ဆည)%eပ%ထ$%5iuင)eသ$ Container
Object တစ)မ#iu%
Data In Arrays

• Array မ#$%အတ'င)%တ'င) Primitive Type မ#$%၊ Reference Type မ#$%5Pင)N


အ/ခ$%eသ$ Array မ#$%အ$%လည)% /ဖQ)Nစ'က) အသu3%/ပu5iuင)ပHသည)။
Declaring Arrays

• Array မ#$%အ$% အသu3%/ပuရ$တ'င) အ/ခ$%eသ$ Variable မ#$%ကTNသiuပင) Declare


လuပ)ရန)လiuအပ)ပHသည)။

• ဦ%စ'$ Array တ'င) အသu3%/ပuမQ)N Type အ$% eဖ$)/ပ၍၊ eန$က)တ'င) Variable Name 5Pင)N Array ၏
သeက]တ/ဖစ)eသ$ [] အ$% eရ%သ$%ရပHသည)။

• Variable Name 5Pင)N [] အ$% Type ၏ eန$က)တ'င) 5Pစ)သက)သလiu အစ@အစ\) /ဖင)Neရ%သ$%5iuင)ပHသည)။

• သiuရ$တ'င) [] ကiu Variable Name ၏ အeVတ'င) eရ%>ကသည)က မ#$%ပHသည)။


Arrays Initialisation
// တန)ဖiu%အ$%တiuက)Uiuက)အစ$%ထiu%/ခင)%
int [] array = {1, 2, 3, 4};
String [] strArray = {“mg mg”, “ag ag”};

// eနရ$ယL၍ တန)ဖiu%မ#$%အ$% အစ$%ထiu%/ခင)%


int [] array;
array = new int[4];
array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;

String [] strArray;
strArray = new String [2];
strArray[0] = “mg mg”;
strArray[1] = “ag ag”;
Using Array’s Elements
int [] array = {1, 2, 3, 4};

// Index Number /ဖင)Nဆက)သ'ယ)5iuင)


// အစန3ပHတ)သည) သuည
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);

// =iသည)ထက)ပiu၍ eတ$င)%မiပHက
// ArrayIndexOutOfBoundsException
System.out.println(array[4]);
Multi Dimension Arrays
Multi Dimension Arrays
Public static void main (String … args) {
int [][] array = {{1, 0, 12, -1},
{7, -3, 2, 5},
{-5, -2, 2, 9}};

System.out.println(“Element of 0-0 : “ + array[0][0]);


System.out.println(“Element of 0-1 : “ + array[0][1]);
System.out.println(“Element of 0-2 : “ + array[0][2]);
System.out.println(“Element of 0-3 : “ + array[0][3]);
System.out.println(“Element of 1-0 : “ + array[1][0]);
System.out.println(“Element of 1-1 : “ + array[1][1]);
System.out.println(“Element of 1-2 : “ + array[1][2]);
System.out.println(“Element of 1-3 : “ + array[1][3]);
System.out.println(“Element of 2-0 : “ + array[2][0]);
System.out.println(“Element of 2-1 : “ + array[2][1]);
System.out.println(“Element of 2-2 : “ + array[2][2]);
System.out.println(“Element of 2-3 : “ + array[2][3]);
}
Arrays Utility Class
• Array မ#$%အ$% အသu3%/ပu5iuင)ရန) utility class အeန/ဖင)N java.util.Arrays အ$%
/ပင)ဆင)ထ$%ပHသည)။

• Arrays တ'င)ပHဝင)eသ$ static method မ#$%အ$% အသu3%/ပu/ခင)%အ$%/ဖင)N eအ$က)ပH


လuပ)eဆ$င)ခ#က)မ#$%အ$% /ပuလuပ)5iuင)မည) /ဖစ)ပHသည)။

• Array မP List အ/ဖစ)e/ပ$င)%/ခင)%

• Array အတ'င)%=i Element ၏ eနရ$အ$% =$eဖ'/ခင)%

• Array မ#$%အ$% eက$)ပ@ကL%/ခင)%

• Array အတ'င)%=i Element မ#$%အ$% Sort လuပ)/ခင)%

• Array ၏ Element မ#$%အ$% တန)ဖiu%တစ)ခu/ဖင)N fill လuပ)/ခင)%


Copying Arrays
import java.util.Arrays;

class ArrayCopyOfDemo {

public static void main(String[] args) {

char[] copyFrom = {'d', 'e', 'c', 'a',


'f', 'f', 'e', 'i', 'n',
'a', 't', 'e', 'd'};

char[] copyTo = Arrays.copyOfRange(copyFrom, 2, 9);

System.out.println(new String(copyTo));
}
}
Sorting Array’s Elements
import java.util.Arrays;

public class ArraySearch {

public static void main(String[] args) {


// data in array
String[] array = {"Hello", "You", "Got", "Mail"};

// sort
Arrays.sort(array);

for(String s : array){
System.out.println(s);
}
}
}
Exercise

• Unlimited Size Array အeနနTN အသu3%/ပu5iuင)eသ$ Object


ကiu တည)eဆ$က)5iuင)eသ$ Class တစ)ခuကiu တည)eဆ$က)ပH

• Arrays Utility Class ၏ copy method ကiu


အသu3/ပu5iuင)ပHသည)

You might also like