Friday, January 17, 2014

20th batch master thesis မ်ားသိေစရန္....

ရန္ကုန္ကြန္ပ်ဴတာတကၠသိုလ္တြင္ Ayeyarwady Bank ႏွင့္ ပူးေပါင္း၍ ေက်ာင္းသားကဒ္ ကို ATM Chip နဲ႕ ေပါင္းျပီး ထုပ္ေပးမည္ ျဖစ္ပါသျဖင့္ မိမိတို႕၏ personal information မ်ားကို လာေရာက္ form ျဖည္႕ေပးၾကပါရန္ ေလးစားစြာျဖင့္ ပန္ၾကားအပ္ ပါသည္။ တတိယႏွစ္၊ Honus ႏွင့္ master course work မ်ား၏ form မ်ားကို Ayeyarwady Bank သို႕ေပးပို႕ျပီး ေနျပီ ျဖစ္ေသာ္လည္း master thesis 20 batch မ်ားမွာ ျဖည္႕သြင္းရန္ က်န္ရွိေနသူမ်ား ရွိေနပါေသးသည္။ တနလၤာေန႕ ေနာက္ဆံုးထား၍ မိိမိတို႕၏ Form မ်ားကို လာေရာက္ျဖည္႕သြင္းေပးၾကပါရန္ ႏွင့္
မလာေရာက္ပါက မိမိတို႕၏ တာ၀န္သာျဖစ္ေၾကာင္း အေၾကာင္းၾကားအပ္ပါသည္။


ATM card service အတြက္ form ျဖည္႕ရမည္ ျဖစ္ပါသည္။ Form တြင္ name, birthday, father name, marital status, gender, address, NRC စတဲ့ အခ်က္မ်ား ျဖည္႕သြင္းရမည္ ျဖစ္ပါသည္။


ဒီ form ကို ျဖည္႕သြင္းျပီး Ayeyarwady Bank ကို ေပးပို႕ျပီးကာမွ ေက်ာင္းသားကဒ္တြင္ ATM chip ထည္႕ကာ ေက်ာင္းသားကဒ္ကို ျပဳလုပ္ေပးႏိုင္မွာ ျဖစ္ပါသျဖင့္ လာေရာက္ေပးသြင္းႏိုင္ပါရန္ အေၾကာင္းၾကားအပ္ပါသည္။

Java Tutorial 5

Java မွာေပါင္းႏုတ္ေျမာက္စားတြက္ခ်က္မွဳေတြ လုပ္ဖို႔ operator ေတြေပးထားပါတယ္၊ ေအာက္ကနမူနာကိုေလ့လာၾကည့္ပါ။
int i = 10;

int j = 5;

int k = i + j; //15

System.out.println(k);

System.out.println(5*2);

System.out.println(10/3); //Answer is 3

System.out.print(10%3); //Answer is 1
Operator Precedence

Java တြက္ခ်က္မွဳေတြလုပ္ႏိုင္ဖို႔ operator ေတြဟာအမ်ားႀကီးပါပဲ၊ ဒီ equation ကိုၾကည့္ပါ (x+7)*(9-y/2) ၊ အဲဒီ့မွာဘယ္တြက္ခ်က္မွဳကို system ကအရင္လုပ္မွာလဲ။ operator ေတြမွာအေရးပါမွဳ အဆင့္သတ္မွတ္ခ်က္(operator precedence)ဆိုတာရွိပါတယ္၊ system ကအဲဒီ့ အေရးပါမွဳအဆင့္အတိုင္း operator ေတြကိုလုပ္ေဆာင္မွာပါ၊ ဆိုလိုတာက precedence ျမင့္တဲ့ operator ေတြကိုအရင္လုပ္ေဆာင္မွာပါ။ ေအာက္မွာ operator precedence ဇယားေပးထားပါတယ္။ ဇယားမွာရွိတဲ့ operator ေတြထဲမွာအေပၚမွာရွိတဲ့ operator ေတြကေအာက္မွာရွိတဲ့ operator ေတြထက္ပိုျမင့္ၿပီး၊ ဘယ္ဘက္က operator ကညာဘက္က operator ထက္ပိုျမင့္ပါတယ္။

Operator Precedence Table

Operator Precedence

 

Assignment Operator

Operator ေတြကိုတစ္ခုခ်င္းစီရွင္းျပသြားပါမယ္။ ပထမတစ္ခုက assignment operator တဲ့၊ သူကို variable ေတြ assign လုပ္တဲ့ေနရာမွာသံုးတယ္ေလ၊ ဒီေကာင္က ညာဘက္မွာရွိတဲ့တန္ဖိုးကို ကူးၿပီး ဘယ္ဘက္မွာရွိတဲ့ variable ထဲထည့္ေပးတယ္၊ တစ္နည္းေျပာရရင္ ညာဘက္ကဟာကို ဘယ္ဘက္ထဲကူးထည့္ေပးတာေပါ့။

int cadence = 0;


int speed = 20;

int gear = 2;

Arithmetic Operator

ေနာက္ operator တစ္ခုက arithmetic operator တဲ့ ေပါင္းႏုတ္ေျမာက္စား လုပ္တဲ့ operator ေပါ့၊ သူက ၅ မ်ိဴးရွိပါတယ္၊ + အေပါင္း, - အႏုတ္, * အေျမာက္, / အစား(စားလဒ္ကိုသာရွာေပးပါတယ္), % အစား(အၾကြင္းကိုပဲရွာေပးပါတယ္)။ Equation ေတြကိုအတိုေကာက္ေရးလည္းရပါတယ္။ x = x + 4; ဟာ x += 4; နဲ႔အတူတူပါပဲ။ + အေပါင္းလကၡဏာကို string ေတြတစ္ခုႏွင့္တစ္ခု ေပါင္းစပ္တဲ့ေနရာမွာသံုးလို႔ရပါတယ္။

 

Unary Operator
Unary operator ကေတာ့ operand တစ္ခုပဲလိုအပ္တဲ့ operator ပါ၊ “++” (Increment operator)ဆိုတာကိန္းတစ္ခုရဲ႕တန္ဖိုးကို တစ္ခုတိုးေပးပါတယ္(တစ္ေပါင္းေပးပါတယ္)၊ “--” (Decrement operator)ဆိုတာကိန္းတစ္ခုကို တစ္ေလွ်ာ့တာပါ၊ “!” (Logical complement) ကေတာ့ Boolean တန္ဖိုးကိုေျပာင္းျပန္ေျပာင္းေပးပါတယ္။


int x = 10;  //x တန္ဖိုးက ၁၀ ပါ


x++;  //x တန္ဖိုးဟာ ၁၁ ျဖစ္သြားပါၿပီ

x--;  //x ဟာ ၁၀ ျပန္ျဖစ္ပါတယ္

boolean check = true;

System.out.print(!check);  //false ဆိုတဲ့တန္ဖိုးထြက္လာပါမယ္

ဒါကေတာ့ နမူနာ class ဖိုင္ပါ၊ စမ္းသပ္ေလ့လာၾကည့္ပါ။

“UnaryOP.java”

class UnaryOP {


     public static void main(String[] args){

          int result = +1; // result is now 1

          System.out.println(result);

          result--;  // result is now 0

          System.out.println(result);

          result++; // result is now 1

          System.out.println(result);

          result = -result; // result is now -1

          System.out.println(result);

          boolean success = false;

          System.out.println(success); // false

          System.out.println(!success); // true

     }

}

“++”(increment) ႏွင့္ “--“(decrement) operator ေတြမွာ prefix ႏွင့္ postfix ဆိုတဲ့အမ်ိဴးအစားႏွစ္မ်ိဴးရွိပါတယ္၊ “++x” ဒီလိုေရးရင္ prefix ပါ၊ “x++” ဒီလိုဆိုရင္ေတာ့ postfix ပါ။ ကြာျခားခ်က္ရွိပါတယ္၊ prefix ကတစ္တိုးၿပီးေတာ့မွ တန္ဖိုးကိုထုတ္ေပးၿပီး၊ postfix ကေတာ့တန္ဖိုးကိုအရင္ထုတ္ေပးၿပီးမွ တစ္တိုးပါတယ္။ ဥပမာျပပါမယ္၊

int x = 5;


System.out.println(++x);  //ဒါဆိုရင္အေျဖက ၆ ပါ

 

int y = 5;

System.out.println(y++);  //ဒါဆိုရင္အေျဖက ၅ ပါ

System.out.println(y);  //အေျဖက ၆ ပါ

ပိုနားလည္ေအာင္ထပ္ရွင္းျပပါမယ္၊ System.out.print(x++); ဆိုတဲ့ကုဒ္တစ္ေၾကာင္းဟာ System.out.print(x); x += 1; ဆိုတဲ့ကုဒ္ႏွစ္ေၾကာင္းနဲ႔တူပါတယ္။

 

အေျခအေနစစ္ေဆးတဲ့ (conditional operator) ကိုေတာ့ေနာက္ပိုစ့္က်မွ “if” အေၾကာင္းႏွင့္တြဲဖက္ရွင္းျပပါမယ္။

Previous : Java Tutorial 4

Next : Java Tutorial 6

Thursday, January 16, 2014

January 2014 အတြက္ top-20 programming languages မ်ား

Programming languages မ်ားကို ေလ့လာေနသူမ်ားအတြက္ ၂၀၁၄ january လမွာ TIOBE က ထုတ္ျပန္လုိက္တဲ့ languages ေတြရဲ႕ top 20 အစဥ္လိုက္ကို ေဖာ္ျပေပးလုိက္ပါတယ္။ ဒီ ဇယားကို ၾကည္႕ျပီး ဘယ္ programming language က  အနာဂတ္အတြက္ အေျခအေနေကာင္းျပီး အလုပ္အကိုင္ အခြင့္လမ္းေတြ ပိုမို ေပးစြမ္းႏိုင္မလဲ ဆိုတာကို ခန္႕မွန္းႏိုင္မွာ ျဖစ္ပါတယ္။ Transact-SQL ကေတာ့ ၂၀၁၃ ခုႏွစ္အတြင္းမွာ အသံုးျပဳႏႈန္းတိုးတက္လာတဲ့အတြက္ TIOBE ရဲ႕ TIOBE programming language award ကို ရရွိခဲ့တာကို ေတြ႕ရပါတယ္။ Transact-SQL ဟာ ဒီ award ကို ရရွိသြားတာဟာ ဘာေၾကာင့္လဲဆိုရင္ Microsoft ရဲ႕ SQLServer database engine ဟာ အသံုးျပဳသူနည္းလာျပီ   popularity နည္းလာလို႕ပဲ ျဖစ္ပါတယ္။


အခုေနာက္ပိုင္း Mobile app develop ဟာ popular ျဖစ္လာတဲ့အေလ်ာက္ JAVA (for android) နဲ႕ Objective-C (for iOS) ေတြဟာ ဇယားမွာ နံပါတ္ ၂ နဲ႕ ၃ ကို ရယူႏိုင္ေနျပီ ျဖစ္ပါတယ္။ C language ကေတာ့ hardware ကို ကိုင္တြယ္ရမယ့္ ေနရာေတြနဲ႕ engineers ေတြ က အသံုးျပဳမႈမ်ားေနတဲ့ အတြက္ နံပါတ္ ၁ ေနရာကို ပိုင္ဆိုင္ထားႏိုင္တာျဖစ္ပါတယ္။ C language ဟာ Hacker ေတြရဲ႕ အသံုးျပဳမႈအမ်ားဆံုး language ထဲမွာ ပါ၀င္တဲ့ language လည္း ျဖစ္ပါတယ္။ အရင္ကာလမ်ားက နံပါတ္အနိမ့္ပိုင္းကုိ ေရာက္ေနေပမယ့္ အခု Window Phone ေတြအတြက္ app ေတြ ေရးသားလာမႈ ရွိလာတဲ့အတြက္ C# language ဟာ နံပါတ္ ၅ ေနရာကို ပိုင္ဆိုင္လာႏိုင္တာ ျဖစ္ပါတယ္။


Web development နဲ႕ ပတ္သက္ျပီး PHP ကေတာ့ နံပါတ္ ၆ ေနရာမွာ ရပ္တည္ႏိုင္ေနတာကို ေတြ႕ရပါတယ္။ PHP ဟာ ေဒးဗစ္မိုယက္ Everton football အသင္းမွာ ရွိေနစဥ္ကာလတုန္းကလို ဇယားရဲ႕ ၆, ၇, ၈, ၉ စတဲ့ေနရာေတြမွာ အတက္အဆင္းလုပ္ေနတာကို ေတြ႕ရပါတယ္။ သူနဲ႕ Visual Basic ကေတာ့ တစ္လွည္႕စီ အတက္အဆင္းလုပ္ေနတတ္ပါတယ္။ Python ဟာလည္း ေလ့လာႏို္င္ရင္ အသံုး၀င္တဲ့ scripting programming language ျဖစ္ပါတယ္။ သူဟာ နံပါတ္ ၈ ေနရာမွာ ေရာက္ေနျပီး သူ႕ရဲ႕ ေအာက္မွာေတာ့ JavaScript က ကပ္ရပ္ေနရာယူထားတာကို ေတြ႕ရပါတယ္။


ဒီ language ေတြရဲ႕ popularity အေျပာင္းအလဲကို TIOBE က လတိုင္းထုတ္ျပန္သလို ကၽြန္ေတာ္ကလည္း ျမန္မာေက်ာင္းသားေတြနဲ႕ developres ေတြအတြက္ ဒီ site ေလးမွာ ျပန္လည္ေဖာ္ျပေပးပါ့မယ္။




TIOBE Index for January 2014

















































































































































































Jan 2014Jan 2013ChangeProgramming LanguageRatingsChange
11C17.871%+0.02%
22Java16.499%-0.92%
33Objective-C11.098%+0.82%
44C++7.548%-1.59%
55C#5.855%-0.34%
66PHP4.627%-0.92%
77(Visual) Basic2.989%-1.76%
88Python2.400%-1.77%
910JavaScript1.569%-0.41%
1022Transact-SQL1.559%+0.98%
1112Visual Basic .NET1.558%+0.52%
1211Ruby1.082%-0.69%
139Perl0.917%-1.35%
1414Pascal0.780%-0.15%
1517MATLAB0.776%+0.14%
1645F#0.720%+0.53%
1721PL/SQL0.634%+0.05%
1835D0.627%+0.33%
1913Lisp0.604%-0.35%
2015Delphi/Object Pascal0.595%-0.32%





အျခားထင္ရွားတဲ့ languages မ်ား....




































































































































































PositionProgramming LanguageRatings
21Logo0.592
22SAS0.585
23PostScript0.520
24Assembly0.495
25PL/I0.488
26ABAP0.474
27COBOL0.461
28Fortran0.412
29Lua0.375
30Ladder Logic0.369
31C shell0.355
32Tcl0.351
33Scala0.337
34RPG (OS/400)0.337
35Max/MSP0.331
36Go0.326
37OpenEdge ABL0.310
38ActionScript0.308
39ML0.292
40Ada0.280
41Common Lisp0.275
42cT0.268
43Haskell0.265
44R0.252
45JScript.NET0.246
46Emacs Lisp0.242
47Prolog0.220
48Modula-30.215
49Scheme0.213
50S-PLUS0.212



မွတ္ခ်က္။     ။ TIOBE ဟာ language ေတြရဲ႕ popularity ကို ပဲ လစဥ္ထုတ္ေပးတာ ျဖစ္ပါတယ္။ အေကာင္းဆံုး language ကို ထုတ္ျပန္တာ     မဟုတ္ပါဘူး။ အေကာင္းဆံုး language ဆိုတာ သင္ေရးမယ့္ project အေပၚမွာလည္း မူတည္ႏိုင္ပါေသးတယ္။ TIOBE ဟာ search engine ေတြက ရွာေဖြမႈမ်ားျခင္းမမ်ားျခင္းဆိုတဲ့ အခ်က္ေတြ developers ေတြ engineers ေတြရဲ႕ အသံုးျပဳမႈအနည္းအမ်ား စတဲ့အခ်က္ေတြေပၚမွာ မူတည္ျပီး popularity ကို တြက္ထုတ္ေ့ပးတာျဖစ္ပါတယ္။



credit: tiobe

ရန္ကုန္ကြန္ပ်ဴတာတကၠသိုလ္ ၏ ဘြဲ႕ႏွင္းသဘင္ အခမ္းအနား - အခ်ိန္

Ph.D(IT), M.C.Sc., M.C.Tech., B.C.Sc.(Hons), B.C.Tech.(Hons), B.C.Sc., B.C.Tech. ဘြဲေလွ်ာက္ထားသူမ်ား အားလံုးအေနျဖင္႔ အစမ္းေလ႔က်င္႔မည္႔ရက္မွာ 7.2.2014(ေသာၾကာေန႔)ျဖစ္ျပီး ဘြဲ႔ႏွင္းသဘင္ က်င္းပမည္႔ရက္ကေတာ႔ 8.2.2014(စေနေန႔) ျဖစ္ပါတယ္။ က်င္းပမည္႔ ေနရာကေတာ႔ ရန္ကုန္တကၠသိုလ္နယ္ေျမရွိ ဘြဲ႔ႏွင္းသဘင္ခန္းမပဲျဖစ္ပါတယ္။ အစမ္းေလ႔က်င္႔မည္႔ရက္ကို ပ်က္ကြက္သူမ်ားအား ဘြဲ႔ႏွင္းသဘင္သို႔ တက္ေရာက္ခြင္႔မျပဳပါ။
ဘြဲ႔၀တ္စံု ငွားရမ္းရန္ ေထာက္ခံစားမ်ားကို (31-1-2014) ေသာၾကာေန႔မွ စျပီး ရန္ကုန္ကြန္ပ်ဴတာတကၠသိုလ္ စာေမးပြဲႏွင္႔ ဘြဲ႔ႏွင္း သဘင္ဌာနတြင္ စတင္ထုတ္ေပးမည္ျဖစ္ပါသည္။


ucsy graduation ceremony


credit to: https://www.facebook.com/UCSY.Daily.News?ref=hl

Updated Skype iOS app for iPhone 5S and new iPads

iPhone 5S နဲ႕ iPad ေတြမွာ အသံုးျပဳေနတဲ့ Skype app ေတြကို update လုပ္ေပးလိုက္ျပီ ျဖစ္ပါတယ္။ update လုပ္ေပးလိုက္တဲ့ အတြက္ high quality video call ေတြေခၚဆိုႏိုင္မွာ ျဖစ္ပါတယ္။ ဒါ့အျပင္ chat notifications ကိုလည္း အရင္ကထက္ပိုေကာင္းေအာင္ update လုပ္ေပးထားတာကို ေတြ႕ရပါတယ္။ iPhones အတြက္ update လုပ္ေပးလို္က္တဲ့ skype app ဟာ two-way video call ကို support ေပးႏိုင္တာကို ေတြ႕ရပါတယ္။ ဒါ့အျပင္ iPad အတြက္ ထုတ္လုပ္ေပးထားတဲ့ Skype app ဟာလည္း iPad Air နဲ႕ iPad mini (with Retina Display) ေပၚမွာ အသံုးျပဳႏုိင္ေအာင္ update လူပ္ေပးလိုက္ျပီ ျဖစ္ပါတယ္။ ဒီ iPad နဲ႕ iPhone အတြက္ update လုပ္ေပးလိုက္တဲ့ Skype app ႏွစ္ခုစလံုးဟာ skype chats အတြက္ push notifications ေတြကို support ေပးႏိုင္မွာ ျဖစ္ပါတယ္။ update လုပ္ေပးလိုက္တဲ့အတြက္ အရင္ကထက္ပိုျပီး devices ေတြနဲ႕ ျမန္ျမန္ဆန္ဆန္ sync လုပ္ႏိုင္ေတာ့မွာ ျဖစ္ပါတယ္။


ေအာက္မွာ download link ေတြေပးလိုက္ပါတယ္ေနာ္….


Free for iPhone (click here for Download)


Free for iPad  (click here for Download)


credit: iMore

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

သင့္ရဲ႕ PC ကို ဖုန္းနဲ႕ Reboot လုပ္ခ်င္ပါသလား ????

Xda forum member တစ္ေယာက္ျဖစ္တဲ့ lastspartan09 ဟာ Droid Remote ဆိုတဲ့ app တစ္ခုကို 2012 ခုႏွစ္တုန္းက တီထြင္ခဲ့ပါတယ္။ ဒီ app ေလးဟာ သင့္ရဲ႕ computer နဲ႕ mobile phone ကို WiFi network နဲ႕ ခ်ိတ္ဆက္ျပီး phone ကေနတစ္ဆင့္ computer ကို shutdown, reboot, hibernate လုပ္ႏိုင္ေအာင္ စီစဥ္ထားတဲ့ app ေလးျဖစ္ပါတယ္။


ဒီ action ေတြကို ရိဳးရွင္းတဲ့ button ေလးခုနဲ႕ user interface ကို တည္ေဆာက္ထားတာကို ေတြ႕ရပါတယ္။ Timer ေပးျပီး သင္ပိတ္ခ်င္တဲ့အခ်ိန္မွာ computer ကို ပိတ္လို႕ရေအာင္ စီစဥ္ထားႏုိုင္တာကိုလည္း ေတြ႕ရပါတယ္။


ေအာက္က LINK မွာ ဘယ္လို အသံုးျပဳရမယ္ဆိုတာနဲ႕ အေသးစိတ္ အခ်က္အလက္ေတြကို ၾကည္႕႐ွဳႏိုင္မွာ ျဖစ္ပါတယ္….


http://forum.xda-developers.com/showthread.php?t=2053721


credit: xda-developers