Wednesday, January 15, 2014

Java Tutorial 4

Java Tutorial 4 (Variable)

Program တစ္ခုအလုပ္လုပ္ေနခ်ိန္မွာ လိုအပ္တဲ့ data ေတြကို memory ေပၚမွာသိမ္းထားေလ့ရွိပါတယ္၊ ကြ်န္ပ္တို႔ programmer ေတြအေနနဲ႔ဒီ data ေတြကိုဘယ္လိုကိုင္တြယ္မလဲလို႔ ေမးစရာရွိပါတယ္၊ variable ေတြကေနတဆင့္ကိုင္တြယ္ႏိုင္ပါတယ္။ သခ်ၤာသင္ဖူးသူတုိုင္းသိက်မွာပါ သခ်ၤာမွာ x, y ,z ဆိုတဲ့စကားလုံးေတြကို တန္ဖိုးေတြေပးထားၿပီး equation ေတြထဲမွာအဲဒီတန္ဖိုးေတြကို အစားထိုးၿပီးတြက္ပါတယ္။ variable ေတြကအဲဒီသေဘာတရားနဲ႔ဆင္တူပါတယ္၊ variable တစ္ခုကို နာမည္တပ္ေပးလိုက္ၿပီး အဲဒီ variable ထဲကိုတန္ဖိုးတစ္ခုခုထည့္လိုက္ပါမယ္၊ ၿပီးေတာ့အဲဒီ့ variable ရဲ႕နာမည္ကေနတစ္ဆင့္ သူရဲ႕တန္ဖိုးကိုေျပာင္းလဲႏိုင္ပါတယ္။ လူတစ္ေယာက္ရဲ႕နာမည္ကိုေခၚၿပီး အဲဒီ့လူကိုအလုပ္လုပ္ခိုင္းသလိုမ်ိဴး၊ variable ရဲ႕နာမည္ကိုေခၚၿပီး အဲဒီ့ variable ကိုကိုင္တြယ္ႏိုင္ပါတယ္။ variable တစ္ခုကိုတန္ဖိုးတစ္ခုပဲ သိမ္းထားေပးပါတယ္။

Variable တစ္ခုကို system ကသိေအာင္ ဒီလိုေၾကာ္ျငာရပါတယ္။ ဒီသေဘာတရားကို သင္နားမလည္ရင္ စိတ္မပူပါနဲ႔ ဆက္ဖတ္ပါ။

int var1;

 

Variable ရဲ႕အမ်ိဴးအစား

Variable ေတြရဲ႕တန္ဖိုးေတြမွာ အမ်ိဴးအစားေတြကိုယ္စီရွိက်ပါတယ္၊ ဥပမာ variable ရဲ႕တန္ဖိုးဟာ ဂဏန္းလား စကားလံုးေတြလား ဒါမွမဟုတ္တျခား အမ်ိဴးအစားလားဆိုတာသူ႔ရဲ႕ type (အမ်ိဴးအစား)ကသတ္မွတ္ေပးပါတယ္။ java မွာ variable ေၾကာ္ျငာရင္သူ႔ရဲ႕ type ကိုမျဖစ္မေနထည့္ေပးရပါမယ္၊ ဘာေၾကာင့္လဲဆိုေတာ့ java ဟာ strongly typed language တစ္ခုျဖစ္လို႔ပါ၊ ဒါေၾကာင့္ type ကိုသတ္မွတ္ေပးဖို႔လိုပါတယ္။ java မွာအဓိကအက်ဆံုး type က ၈ ခုရွိပါတယ္၊ ၄ ခုက integer type ျဖစ္ပါတယ္၊ ၂ ခုကေတာ့ floating point number type ျဖစ္ပါတယ္၊ ၁ ခုက character type ျဖစ္ၿပီးေနာက္ဆံုးတစ္ခုက Boolean type ျဖစ္ပါတယ္။ ဒီ ၈ ခုလံုးကိုေအာက္မွာရွင္းျပထားပါတယ္။

 

Integer Type

Integer type ဆိုတာ ကိန္းဂဏန္းေတြကိုသိမ္းဖို႔ပါ၊ ကိန္းျပည့္ေတြကိုပဲ သိမ္းဆည္းေပးပါတယ္၊ အေပါင္းကိန္းကိုသာမက အႏုတ္ကိန္းကိုပါသိမ္းေပးႏိုင္ပါတယ္။ ဒါေပမဲ့သူ႔မွာကန္႔သတ္ခ်က္တစ္ခုရွိပါတယ္၊ သတ္မွတ္ထားတဲ့ ကိန္းဂဏန္းေတြကိုသာသိမ္းေပးႏိုင္ပါတယ္။ integer type မွာအမ်ိဴးအစားေလးမ်ိဴးရွိပါတယ္။ ပထမက int ပါ သူ႔ရဲ႕တန္ဖိုးက -2,147,483,648 ကေန 2,147,483, 647 ထိျဖစ္ခြင့္ရွိပါတယ္။ ဒုတိယကေတာ့ short ျဖစ္ပါတယ္ တန္ဖိုးက -32,768 ကေန 32,767 ထိပါ၊ တတိယက long လို႔ေခၚၿပီး တန္ဖိုးက -9,223,372,036,854,775,808 ကေန 9,223,372,036,854,775,807 ထိပါ၊ သူကအမ်ားဆံုးပါပဲ၊ ေနာက္ဆံုးတစ္ခုက byte တဲ့ တန္ဖိုးကေတာ့ –128 ကေန 127 အထိပဲရွိပါတယ္၊ အနည္းဆံုးပါပဲ။ ဒီထဲမွာအသံုးအမ်ားဆံုးကေတာ့ int ပါ။ java မွာရွိတဲ့ဒီတန္ဖိုးေတြက ကိန္းေသေတြပါ၊ ဆိုလိုတာက platform ေတြ operating system ေတြေျပာင္းသြားပါေစ မေျပာင္းလဲတာကေတာ့ ဒီတန္ဖိုးေတြပါပဲ၊ ဒါေပမဲ့ C မွာေတာ့အဲလိုမဟုတ္ပါဘူး၊ C မွာကေတာ့ compiler ေပၚမူတည္ၿပီး တန္ဖိုးအမ်ိဴးမ်ိဴးကြဲပါတယ္၊ 32-bit integer, 16-bit integer စသည္ျဖင့္ေပါ႔။ ဒီေတာ့ C မွာက 32-bit processor ေပၚမွာ run ႏိုင္တဲ့ program ဟာ 16-bit processor ေပၚမွာ run တဲ့အခါ integer overflow (processor ေပၚမွာ integer မသိမ္းႏိုင္တဲ့ error) ျဖစ္လာႏိုင္ပါတယ္။ integer type ျဖစ္တဲ့ variable ေတြေၾကာ္ျငာရာမွာ ရွိသင့္တဲ့ကန္႔သတ္ခ်က္ထက္ ေက်ာ္လို႔မရပါဘူး။ ဥပမာ-

int x = -2147483648;   //ဒါဆိုမွန္ပါတယ္

int x = -2147483649;  //ဒါဆိုမွားပါတယ္

int x = 2000000000;  //ဒါဆိုမွန္ပါတယ္

int x = 3000000000;  //ဒါဆိုမွားပါတယ္

short x = 200;  //ဒါဆိုမွန္တယ္

 

Floating-Point Type

ဒီ type ရဲ႕တန္ဖိုးေတြက ဒသမကိန္းေတြပါ၊ ပထမတစ္ခုက float တဲ့သူ႔ကန္႔သတ္ခ်က္က decimal တန္ဖိုး ၆  လံုး ၇ လံုးေလာက္ရွိပါတယ္၊ ဒုတိယက double ပါသူ႔ကန္႔သတ္ခ်က္က decimal တန္ဖိုး ၁၅ လံုးေလာက္ရွိပါတယ္။ ဒီႏွစ္ခုမွာအသံုးမ်ားတာက double ပါ။ ဒီ floating-point ကိုေငြေၾကးတြက္ခ်က္တဲ့ ေနရာမွာသံုးမယ္ဆိုအဆင္မေျပပါဘူး၊ ဘာေၾကာင့္လဲဆိုေတာ့ ဒသမတန္ဖိုးေၾကာင့္ပါ၊ ဒီကုတ္ System.out.print(2.0 – 1.1); ကို run ၾကည့္ရင္ 0.8999999999999999 လို႔ထြက္လာလိမ့္မယ္၊ 0.9 လို႔ေတာ့ထြက္မွာမဟုတ္ဘူး ဘာေၾကာင့္လဲဆိုေတာ့ floating point ေတြကို binary number system နဲ႔တြက္ထားလို႔ပါ။

 

Char Type

Char type ကိုအဂၤလိပ္အကၡရာ တစ္လံုးကိုေဖာ္ျပတဲ့ေနရာမွာ သံုးပါတယ္။ သူက 16-bit Unicode character ျဖစ္ပါတယ္၊ အနိမ့္ဆံုး '\u0000' ကေနအျမင့္ဆံုး ‘\uffff’ ထိရွိပါတယ္။ တကယ္ေတာ့ဒီ char type ကအသံုးနည္းပါတယ္၊ သူ႔အစား string ကိုသံုးက်ပါတယ္။

 

Boolean Type

ဒီ type ကေတာ့ တန္ဖိုးႏွစ္မ်ိဴးပဲရွိပါတယ္ true ႏွင့္ false ပါပဲ။ အမွား အမွန္ စစ္ေဆးတဲ့ေနရာမွာသံုးပါတယ္။

 

Variable ကိုအသံုးျပဳနည္း

Variable ကိုမသံုးခင္ အရင္ဆံုးေၾကာ္ျငာရပါတယ္၊ variable ေၾကာ္ျငာတဲ့အခါေနာက္ဆံုးမွာ ; ထည့္ေပးရပါမယ္။ ဒီလိုေပါ့ -

double salary;

int days;

boolean isOK;

 

variable ေၾကာ္ျငာတဲ့ေနရာမွာ ေရွ႕ဆံုးက variable type ျဖစ္ၿပီး ေနာက္ကေတာ့ variable ရဲ႕နာမည္ပါပဲ။ variable ရဲ႕နာမည္ဟာ letter(ကိန္းဂဏန္းမဟုတ္ေသာ အကၡရာစဥ္) နဲ႔စတင္ရၿပီး ေနာက္ပိုင္းကေတာ့ letter(အကၡရာစဥ္)ေရာ digit(ကိန္းဂဏန္း)ေရာ ျဖစ္ခြင့္ရွိပါတယ္၊ ဒါေပမဲ့ special character ႏွင့္ space ေတာ့ပါလို႔မရပါဘူး။ variable ရဲ႕နာမည္နဲ႔ java language ထဲမွာပါတဲ့ java language ကအသံုးျပဳတဲ့ စကားလံုးေတြနဲ႔တူလို႔မရပါဘူး၊ ဥပမာ -

int public;  //မွားပါတယ္၊ public ဆိုတာ java ရဲ႕ reserved word ျဖစ္ေနပါတယ္

boolean class;  //မွားပါတယ္

 

စာတစ္ေၾကာင္းထဲမွာ “ , ” ကိုသံုးၿပီး variable ႏွစ္ခုေၾကာ္ျငာလို႔ရပါတယ္။ int i, j;

 

တန္ဖိုးသတ္မွတ္ေပးျခင္း

Variable ေတြကိုတန္ဖိုးမသတ္မွတ္ပဲ သံုးလို႔မရပါဘူး၊ သံုးရင္ error တက္ပါတယ္။ တန္ဖိုးကိုဒီလိုေပးရပါတယ္ -

int i;  //declaration

i = 20;  //တန္ဖိုးသတ္မွတ္ေပးျခင္း

 

တစ္ေၾကာင္းထဲမွာ ေၾကာ္ျငာတာေရာ တန္ဖိုးသတ္မွတ္တာေရာ ေပါင္းေရးလို႔ရပါတယ္။

int i = 20;

 

တန္ဖိုးကို ခဏခဏေျပာင္းလို႔ရပါတယ္။

int days = 12;

days = 7;

 

variable ရဲ႕တန္ဖိုးကို console ေပၚမွာေပၚေစခ်င္ရင္ ဒီလိုေရးရပါတယ္။

int i = 5;

int days = 7;

System.out.println(i);

System.out.print(days);

 

ကိန္းေသ

ကိန္းေသဆိုတာ variable တစ္မ်ိဴးပါပဲ၊ သူ႔ရဲ႕တန္ဖိုးကို တစ္ခါေပးၿပီးရင္ ထပ္ေျပာင္းလို႔မရပါ သူ႔တန္ဖိုးကအေသပါပဲ။ ကိန္းေသ variable ကိုဒီလိုေၾကာ္ျငာပါတယ္။

final double CM_PER_INCH = 2.54;

 

class ရဲ႕ကိန္းေသ variable ကိုေတာ့ static ထည့္ၿပီးေၾကာ္ျငာရပါတယ္။

static final double CM_PER_INCH = 2.54;

 

ေအာက္ကနမူနာကို run ၾကည့္ပါ။ “Paper.java” ဆိုတဲ့ ဖိုင္နာမည္ႏွင့္သိမ္းပါ။

public class Paper

{

public static final double CM_PER_INCH = 2.54; //class’s constant variable

public static void main(String[] args)

{

double paperWidth = 8.5;

double paperHeight = 11;

System.out.println("Paper size in centimeters: "

+ paperWidth * CM_PER_INCH + " by " + paperHeight * CM_PER_INCH);

}

}

 

Previous : Java Tutorial 3

Next : Java Tutorial 5

2 comments:

  1. […] – အခ်ိန္Updated Skype iOS app for iPhone 5S and new iPadsJava Tutorial 4သင့္ရဲ႕ PC ကို ဖုန္းနဲ႕ Reboot […]

    ReplyDelete