Introduction to Java

(Java မိတ္ဆက္)

Javaဟာ Sun Microsystems ကေန စတင္ခဲ့တဲ့ languageႏွင့္ platformတခုျဖစ္ပါတယ္။ လိုအပ္ခ်က္အမ်ဳိးမ်ဳိးကို ျဖည့္ဆည္းဖို ့ Sun က edition(3)ခု ထုတ္ခဲ့ ပါတယ္။ Java SE, Java EE ႏွင့္ Java ME တို ့ပဲ ျဖစ္ပါတယ္။ ဒီeditionတခုခ်င္းစီအေႀကာင္းႏွင့္ android အေႀကာင္း ေနာက္ပိုင္းမွာ ေဖာ္ျပေပးသြားမွာပါ။
Java ရဲ ့historyကေတာ့ ေျပာခဲ့တဲ့အတိုင္း Sun က စတင္ခဲ့ပါတယ္။ ၁၉၉၀ခုႏွစ္မွာ Sun ရဲ ့ဝန္ထမ္းေတြျဖစ္တဲ့ James Gosling, Patrick Naughton ႏွင့္ Mike Sheridanတို ့ကို computingေလာကရဲ ့အနာဂတ္ ၿဖစ္ႏုိင္ေခ်ေတြကို သုံးသပ္ဖို ့တာဝန္ေပးခံရပါတယ္။ သူတို ့က computing deviceေတြထြက္ေပၚလာႏုိင္ၿပီး intelligent consumerေတြအတြက္ အသုံးအေဆာင္ ျဖစ္လာႏုိင္တယ္လို ့ခန္ ့မွန္းခဲ့ႀကတယ္။ ဒီအတြက္ ႀကိဳတင္ျပင္ဆင္တဲ့အေနနဲ ့Green projectကို စတင္ခဲ့ပါတယ္။



Greenရဲ ့အသီးအပြင့္ကေတာ့ Star 7လို ့ေခၚတဲ့ 5လက္မ color LCD display, ASPARC proessorသုံး graphicအေတာ္အသင့္ေကာင္းမြန္တဲ့ unix version စက္ကုိ တီထြင္ႏုိင္ခဲ့ပါတယ္။ ဒီစက္မွာ သုံးတဲ့ appေရးဖို ့Oakဆိုတဲ့ languageကို James Gosling က developလုပ္ခဲ့ပါတယ္။ Oakဆိုတာ သူ ့ရုံးခန္းျပတင္းေပါက္ေဘးက ဝက္သစ္ခ်ပင္ကို အစြဲျပဳၿပီးေပးတာပါ။ ေနာက္ တျခားနာမည္တူ languageေတြနဲ ့ကြဲလြဲေအာင္ သူ ့ language ကို Dr.Gosling က Javaလို ့အမည္ေျပာင္းခဲ့ပါတယ္။ SunဟာJava languageနဲ ့platformမွာ အဆက္မျပတ္ပါဝင္ခဲ့ၿပီး ၂၀၁၀ခုႏွစ္မွာေတာ့ Sunကို Oracleက ဝယ္ခဲ့ပါတယ္။

Java is a language

Javaဟာ developerမ်ားမွ source code(program text) ေတြကုိ ေဖာ္ျပရင္ သုံးတဲ့ ဘာသာစကားတခု ျဖစ္ပါတယ္။ Javaရဲ ့syntax(ဘာသာစကားတခုရဲ ့ဝါက်အထားအသို (သို ့) ဖြဲ ့စည္းပုံ) ဟာ C ႏွင့္ C++တို ့ကေန တစိတ္တပိုင္း ပုံတူ ဖြဲ ့စည္းထားတာၿပီး C/C++သမားေတြအတြက္ ေလ့လာမႈ လြယ္ကူလ်င္ျမန္ေစဖို ့ရည္ရြယ္ပါတယ္။
Java နဲ ့C ရဲ ့တူညီခ်က္ အခ်ဳိ ့
*comment style (single ႏွင့္ multiline comment)
*java reserved wordေတာ္ေတာ္မ်ားမ်ား( if, for, switch, while, try, class, public, etc)
*data type( integer, double, character, float, etc)
*same operator(+,-,*,/,% operater ႏွင့္ conditional operator (?:)
*statement အစအဆုံး { }
Java နဲ ့Cရဲ ့ျခားနားခ်က္
*Javadoc လို ့ေခၚတဲ့ comment styleတမ်ဳိး
*Javaရဲ ့ကိုယ္ပိုင္ reserved word(extends, strictfp, synchronized, transcript, etc)
*Javaက byte integer typeကို supportလုပ္ၿပီး characterကို လကၡဏာထည့္ခြင့္မျပဳ ။ unsigned integer, short, longေတြကို လက္မခံသလို သတ္မွတ္တဲ့ ပမာဏထက္ေက်ာ္လို ့မရပါ။
*Javaမွာ Cမွာ မရွိတဲ့operatorေတြပါပါတယ္။ ဥပမာ instanceof ႏွင့္ >>>(unsigned right shift)
*Javaဟာ Cမွာ မေတြ ့ႏုိင္တဲ့ လုပ္ေဆာင္ခ်က္ေတြ အမ်ားအျပားလုပ္ႏုိင္ပါတယ္။

 

Java is a platform


javaဟာ languageတခု ျဖစ္တယ္လို ့ ေျပာခဲ့ပါတယ္။ javaဟာ platform တခုလည္း ျဖစ္ပါတယ္။
javaက programေတြကို excuteလုပ္ႏုိင္တဲ့ platformတခုလည္း ျဖစ္ပါတယ္။ physical processor (ဥပမာ  Intel processor)ပါ၀င္ၿပီး operating system(ဥပမာ Linux) နဲ ့ေပါင္းစပ္ထားတဲ့platformတခုလုိပဲ Javaဟာ virtual machine ပါ၀င္ၿပီး  programေတြကို executeလုပ္ဖို ့လုိအပ္တဲ့ environment ေပါင္းစပ္ထားပါတယ္။ virtual machineဆိုတာကေတာ့ softwareနဲ ့ဖန္တီးထားတဲ့ processor(processor အတု) ကို ေျပာတာပါ။ ဒီprocessorဟာ တကယ့္physical processorေတြလိုပဲ ကိုယ္ပိုင္instructionေတြ ပါဝင္ပါတယ္။ execution environmentမွာေတာ့ program runဖို ့အတြက္နဲ ့Operating Systemနဲ ့ဆက္သြယ္ေဆာင္ရြက္ဖို ့လိုအပ္တဲ့ librariesေတြ ပါဝင္ပါတယ္။  
librariesေတြမွာေတာ့ common taskေတြေဆာင္ရြက္ဖို ့ႀကိဳတင္ထည့္သြင္းထားတဲ့ classfileအေျမာက္အမ်ား ပါဝင္ပါတယ္(ဥပမာ math operation နဲ ့network communication)။ ဒီlibrariesေတြကို Standard Class Librariesလုိ ့ ေခၚပါတယ္။ 
Javaရဲ  ့virtual machineနဲ ့execution environmentေပါင္းစပ္လုိက္ၿပီး platformတခုျဖစ္သြားတဲ့အတြက္ Javaကို ဘယ္platform(Windows, Linux or MacOs )မွာ မဆို runလို ့ ရပါၿပီ။
ဘာလို ့လဲဆိုေတာ့ Javaရဲ  ့special programျဖစ္တဲ့ Java complier (javac)က programmerေရးသားထားတဲ့ Java source codeကို Java virtual machineမွာ runဖို ့အတြက္ bytecode အျဖစ္ေျပာင္းေပးပါတယ္။အလြယ္တကူေျပာရရင္ေတာ့ ကၽြန္မတုိ ့ေရးသားလိုက္တဲ့ .java fileေတြကို virtual machineမွာ runဖုိ ့.class file အျဖစ္ေျပာင္းေပးတာပါ။ .classဆိုတဲ့ extensionနဲ ့ဆုံးၿပီး compileလုပ္ၿပီး classေတြကို သိမ္းေပးတဲ့အတြက္ classfileလုိ ့လဲ ေခၚပါတယ္။  classfileရတဲ့အခါ toolတခုျဖစ္တဲ့ (java)က virtual machine ကို စတင္ေစၿပီး main classfileကို ေပးလုိက္ပါတယ္။ virtual machineက classloaderကိုသုံးၿပီး classေတြကိုေခၚပါတယ္။ classေတြကိုေခၚၿပီးေနာက္ classရဲ  ့bytecodeကို bytecode verifierက validျဖစ္မျဖစ္ စစ္ၿပီး မွန္ကန္ရင္ေတာ့ Java ရဲ  ့ Interpreter(စကားျပန္)က Operating Systemရဲ  ့native codeကိုေျပာင္းေပးပါတယ္။ မွားရင္ virtual machineက ရပ္သြားပါတယ္။ (ဒီမွာ ရႈပ္မွာစိုးလို ့Just In Time(JIT)compilerအေႀကာင္း မေျပာေတာ့ပါဘူး။ မနက္ျဖန္က်မွ Javaရဲ့ editionတခုခ်င္းအေႀကာင္းနဲ ့ Androidအေႀကာင္း ဆက္ေတာ့မယ္။)

Java's editions and JDK tool


    Desktop computer, web browser, web sever, mobile phone ႏွင့္ embedded device(ဥပမာ television set-top box (စေလာင္းစက္)) ေတြမွာ runဖို ့java programေတြကိုေရးတဲ့အခါ developerေတြက java platform ရဲ့ editionအမ်ဳိးမ်ဳိးကို သုံးပါတယ္။
    *Java Platform, Standard Edition (Java SE): ဒါကေတာ့ PCေတြမွာ runႏုိင္တဲ့ appေရးတဲ့အခါ သုံးပါတယ္။     web browser ေတြအတြင္းမွာ runႏုိင္တဲ့ Java program  တမ်ဳိးျဖစ္တဲ့ appletေတြ ေရးတဲ့အခါလဲ သုံးပါတယ္။
    *Java Platform, Enterprise Edition (Java EE): server programေတြ ျဖစ္တဲ့ serveletေတြေရးတဲ့အခါ သုံးပါတယ္။     Java EEကို Java SEေပၚမွာ တည္ေဆာက္ထားပါတယ္။
    *Java Platform, Micro Edition (Java ME): mobile deviceေတြေပၚမွာ runတဲ့ MIDLetsေတြကို developလုပ္တဲ့အခါ ႏွင့္ embedded deviceေတြေပၚမွာ runတဲ့ Xletsေတြ ေရးတဲ့အခါ သုံးတဲ့ platformျဖစ္ပါတယ္။
    ဒါအျပင့္ developerေတြဟာ android deviceအတြက္ appေတြကို ေရးဖို ့အတြက္ googleက တီထြင္ထုတ္လုပ္ထားတဲ့ Java platformကို သုံးၾကပါတယ္။ အဲဒါကိုေတာ့ Android Plaformလုိ ့ေခၚပါတယ္။ Google Android Platformမွာေတာ့ Java SEေပၚမွာ တစိတ္တပိုင္း အေျခခံထားတဲ့ Java core librariesေတြပါဝင္ၿပီး Dalvikဆိုတဲ့ virtual machineပါဝင္တယ္။ runေတာ့ android platformအတြက္ ျပင္ဆင္ေရးသားထားတဲ့ linux kernelေပၚမွာ runတယ္။ ဒါေၾကာင့္ android deviceေတြမွာ firmwareကို မထိခိုက္ေစဘဲ Linux OSေတြျဖစ္တဲ့ Ubuntu, Back Trackေတြကို deviceမွာ တင္သုံးလုိ ့ရတယ္။
    ကဲ editionေတြအေၾကာင္းေျပာၿပီးဆိုေတာ့ programmingကို ဆက္ေလ့လာရေအာင္...
    အရင္ဆံုး Java programကို runဖို ့လိုအပ္တဲ့ JDK installလုပ္ရေအာင္။ ဒီlinkကို သြားၿပီး Java SE Development Kitကို downloadဆြဲလိုက္ပါ...installလုပ္ၿပီးရင္ေတာ့ ကၽြန္မတို ့ဘယ္ directoryကေခၚေခၚ အလုပ္ လုပ္ေအာင္ environment variableမွာ pathေလးထည့္ရေအာင္။ အရင္ဆုံး computerကို right clickေထာက္၊ propertyကိုသြား၊ Advanced system settingsကိုႏွိပ္၊ System Propertiesေပၚလာရင္ Environment Variablesကိုႏွိပ္၊ User Variables ႏွင့္System Variables ႏွစ္ခုထဲက System Variableရဲ့ pathကုိ ရွာ ၂ခ်က္ႏွိပ္လိုက္ၿပီး၊ Javaရဲ့ installလုပ္ၿပီး bin folderေနရာ(ဥပမာC:\Program Files\Java\bin)ကို ေရး (သို ့) pasteလုပ္။ ဥပမာ ဒီလိုရွိၿပီးသား%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ ရဲ့ေနာက္မွာ semicolon (;)ထည့္ၿပီး C:\Program Files\Java\bin; ကို ဆက္ထည့္ေပါ့။ ဒါဆိုရင္ ဒီလုိရမယ္..( %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\bin;)။

Getting Started with Java


ကဲ Java programေလး စေရးလိုက္ၾကေအာင္...ေဈးအႀကီးဆုံး notepadေလး ဖြင့္ၿပီး ေအာက္က code ေလးကို copy & pasteလုပ္ myFirst.javaလို ့ တေနေနရာမွာ saveလိုက္ပါ။ class name နဲ ့file name တူမွ ရမွေနာ္။ တျခား နာမည္နဲ ့သိမ္းခ်င္ရင္ classရဲ့ ေနာက္က myFirstကိုေရာ ျပင္ေပးလိုက္ပါ။ ကၽြန္မကေတာ့ D:\java ထဲမွာ သိမ္းလိုက္မယ္။ :-D
window+r ႏွိပ္၊ runထဲမွာ cmdလုိ ့ ရုိက္ၿပီး command promptကို ေခၚလိုက္ေနာ္..cmdက်လာရင္ C:\Users\ur user nameဆုိၿပီး စာရုိက္ဖုိ ့ cruserေပၚေနလိမ့္မယ္။ ကၽြန္မစက္ကေတာ့ C:\Users\Tek လုိ ့ေပၚေနတယ္။ ပထမဆုံး ကိုယ့္စက္ထဲမွာ Javaရွိမရွိ ႀကည့္ရေအာင္..javaလို ့ရုိက္ၾကည့္လိုက္ပါ..စာေတြအမ်ားႀကီးက်လာရင္ java install လုပ္ၿပီးသားေပါ့၊ version checkခ်င္ရင္ java -versionလုိ ့ commandရုိက္လိုက္ပါ။ version infoျပပါလိမ့္မယ္။ ကဲ program runရေအာင္.....

/* This is a simple Java program.
Name this file myFirst.java.
*/
class myFirst
//A Java program begins with a call to main().
    public static void main(String args[]) {
        System.out.println("Hello World");
    }


ကဲ အေပၚက codeကို runဖုိ ့myFirst.java ရွိတဲ့ pathဆီ သြားရေအာင္။ ကၽြန္မက Dေအာက္က javaေအာက္မွာ သိမ္းတဲ့ အတြက္ D:လုိ ့ cmdမွာ ရုိက္၊ အဲဒါဆုိ C:\Users\user nameကေန D:\လုိ ့ေပၚေနမယ္။ cd javaလုိ ့ရုိက္ရင္ myFirst.java သိမ္းထားတဲ့ folderထဲ ေရာက္သြားၿပီ။ program run ဖုိ ့javac myFirst.javaလုိ ့ ရုိက္လိုက္ပါ။  javac က java virtual machineကို စတင္ေစၿပီး compilerရဲ့ main classfileကို စစ္ေဆးပါတယ္။ ၿပီး compileလုပ္ၿပီးသား classfileထုတ္ေပးပါတယ္။ ဒါဆုိရင္ myFirst.classဆုိတဲ့ fileတခု D:\javaေအာက္မွာ ေရာက္ေနပါၿပီ။ ၾကည့္ ၾကည့္လိုက္ပါအုံး....ရၿပီးသား bytecodeကို native codeေျပာင္း executeလုပ္ေပးဖို ့java myFirstလုိ ့ ရုိက္ပါ။ cmdမွာ Hello World ဆုိတဲ့ စာသားေလး ေပၚေနပါၿပီ။ ဘယ္လို runရတယ္ဆုိတာ ေျပာၿပီးၿပီဆိုေတာ့ codeေလး တခ်က္ၾကည့္ရေအာင္..။ /*........*/ဒါကေတာ့ multi-line commentပါ။ //...ဒါကေတာ့ single line commentပါ။ commentေတြကို program runတဲ့ အခါ executeမလုပ္ဘဲ neglect လုပ္ပါတယ္။ commentက ဘာအသုံးဝင္လဲ ေမးရင္ေတာ့ programmerအတြက္ codeကို ၿပင္ဆင္တဲ့အခါ အလြယ္တကူ ျပင္ႏုိင္ေအာင္ မွတ္ၾကတာပါ။ System.out.printက screenမွာ စာသားျပတာပါ။ printရဲ့ေနာက္က lnဆုိတာကေတာ့ new line ၊ ေနာက္တေၾကာင္း ဆင္းမယ္လုိ ့ေျပာတာပါ။ lnမပါတာနဲ ့ပါတာ ဘာကြာလဲ ေသခ်ာ runၾကည့္ပါ။ ျပခ်င္တဲ့ စာသားကို "..."ထဲမွာ ထည့္ေရးရပါတယ္။ semi-colon(;)ေလးကို terminatorလို ့ေခၚပါတယ္။ အာႏုိး ေျပးမျမင္နဲ ့ဦး..စာတေၾကာင္းၿပီးၿပီလို ့ဆုိလိုတာပါ။ ကဲ classေတြကို နာမည္ေပးျခင္း အေၾကာင္းေျပာရေအာင္.........မေျပာခင္ classဆုိတာ ဘာလဲဆုိေတာ့ code အစုအေဝးကို ေခၚတာပါ။ အဲဒီထဲမွာ လုပ္ရမယ့္ instrucitionေတြ ေရးရတာပါ။ classေတြကို နာမည္ေပးရင္.......
    *alphabet(a,bc,etc) နဲ႔စရမယ္။
    *letter(စာလုံး), digit(ဂဏန္း), underscores(_) ႏွင့္ dollar sign($)ေတြပါလို႔ ရတယ္။
    * java programming languageရဲ႕reserved word(e.g. public, int, true, private)ေတြ မျဖစ္ရ။
    *true, false, nullတို႔ မျဖစ္ရ။
classေတြကို နာမည္ေပးတဲ့အခါ အထက္ပါစည္းမ်ဥ္းနဲ႔ကိုက္ေအာင္ နာမည္ေပးရပါမယ္။ ဒီclass nameေတြထဲက ဘယ္ဟာရ၊ မရ စဥ္းစားႀကည့္ပါ (1. 1program, 2. my_program, 3. $calculate, 4. @first, 5. first_@1 )။ အေျဖကို ၿပီးက် ေပးမယ္ေနာ္......
class အဖြင့္အပိတ္၊ method အဖြင့္အပိတ၊္ loopအဖြင့္အပိတ္ ေတြကို {}နဲ႔ေရးပါတယ္။classကုိ ဘယ္လုိနာမည္ေပးရမလဲ သိၿပီးရင္ main()ကို ရွင္းျပပါ့မယ္။ ဒီ codeေလးကုိ ၾကည့္ပါ။

class DumpArgs{ 
public static void main(String[] args) { 
    System.out.println("Passed arguments:"); 
    for (int i = 0; i < args.length; i++) 
        System.out.print(args[i]+" "); 
    } 

ဒီ programမွာ DumpArgsဆိုတဲ့ class နဲ႔ classထဲဲမွာ mainဆုိတဲ့ methodပါပါတယ္။   java virtual machineက programတပုဒ္ကို စစ္တဲ့အခါ main method ပါမပါစစ္ပါတယ္။ main()မပါတဲ့ programကုိ compileမလုပ္ပါဘူး။ ဘာလုိ႔လဲဆုိေတာ့ mainက programရဲ႕စမွတ္မို႔ပါ။ စမွတ္မရွိရင္ ဆုံးမွတ္ဆုိတာမရွိသလုိ programဆုိတာလည္း မျဖစ္ေတာ့ပါ။ (ေနာက္ postေတြက်ရင္ class နဲ႔ methodအေႀကာင္း အေသးစိတ္ရွင္းျပပါ့မယ္။) program runဖုိ႔ main methodကုိ ေခၚတဲ့အခါ array(အခန္း) အလိုက္ စာလုံးေတြ သိုေလွာင္ထားတဲ့ String(စာေၾကာင္း)နဲ႔ သုံးၿပီးေခၚပါတယ္။ ဥပမာ..ဒီprogramကို runဖုိ႔ javac DumpArgs.javaလုိ႔ cmdမွာ ရုိက္ရပါတယ္။ ဒါဆိုရင္ compileလုပ္ၿပီးသား .classဆိုတဲ့ fileရပါတယ္။ ရရင္ appilicationကို runဖို႔ java DumpArgs လုိ႔ရုိက္ရပါတယ္။ java DumpArgsဆုိတဲ့ စာသားကို Stringအျဖစ္ေၾကညာထားတဲ့ argsက စစ္ေဆးပါတယ္။ သုံးလုိက္တဲ့ commandထက္ပိုတဲ့ စာသားေတြကို argsဆုိတဲ့ String arrayထဲမွာ သြားသိမ္းပါတယ္။  ပိုၿပီးျမင္သာေအာင္ runၾကည့္ရေအာင္....
javac DumpArgs.java
java DumpArgs
ဟုတ္ကဲ့ ဘာထူးျခားလဲ...ဘာမွ မထူးျခားပါ။ Passed arguments: ဆုိတဲ့ စာသားပဲ ထြက္လာပါတယ္။ ဘာမွ ပိုမရုိက္လို႔ ဘာမွမသိမ္းထားပါ။ ျပန္ရုိက္ၾကည့္မယ္....
java DumpArgs Myanmar iT group
ဘာထူးျခားလဲ.....
Passed arguments: 
Myanmar iT group လုိ႔ ထြက္လာပါတယ္။ Beginျဖစ္တဲ့အတြက္ loopingပတ္သတ္တဲ့ အေၾကာင္းမရွင္းေတာ့ဘူး။ System.out.printကေတာ့ ေျပာၿပီးသားပဲ၊ သိမွာပါေနာ....ထုံးစံကေတာ့ argsလုိ႔ ေပးေပမဲ့ ႀကိဳက္တဲ့ နာမည္ေပးလို႔ ရပါတယ္။
အေျဖကေတာ့ 2 တခုပဲ မွန္တယ္....ဟီး။

Variables ေၾကညာျခင္း


variableဆုိတာ ကၽြန္မတုိ႔ ေရးသားတဲ့ programမွာ အသုံးျပဳမဲ့ dataတန္ဖုိးေတြကို memoryေပၚမွာ ေနရာယူသိမ္းဆည္းေပးမွာ ျဖစ္ပါတယ္။ အသုံးျပဳမဲ့ dataတန္ဖိုးအလိုက္ typeကိုလည္း ေၾကညာေပးရပါမယ္။ ဥပမာ ကၽြန္မက 2ဆုိတဲ့ဂဏန္းေလးကို ယူသုံးခ်င္ပါတယ္။ မသုံးခင္ သူ႕ကို memoryေပၚမွာ ေနရာယူၿပီး သိမ္းထားဖို႔ လိုပါတယ္။ memoryမွာသာ မရွိရင္ ယူသုံးလုိ႔လဲ မရပါ။ ဒါေႀကာင့္ numဆုိတဲ့ နာမည္နဲ႔ 2ဆုိတဲ့ ဂဏန္းေလးကို သိမ္းထားလုိက္မယ္။ နာမည္ကေတာ့ ကုိယ္ႀကိဳက္တာ ေပးရပါတယ္။ class nameေပးတဲ့ ruleေတြနဲ႔ အတူတူပါပဲ။ ဒါဆုိရင္ numထဲမွာ 2ရွိတယ္။ 2က ဘာလဲ စဥ္းစားႀကည့္ရေအာင္....ဂဏန္း..ဂဏန္းကိုမွ ကိန္းၿပည့္ အမ်ဳိးအစား ျဖစ္ပါတယ္။ ဒါေၾကာင့္ typeကို integerလုိ႔ ေၾကညာရပါမယ္။ integerရဲ႕ အတုိေကာက္က int ....ဒီေတာ့ ေၾကညာရင္ int numလုိ႔ ေၾကညာရပါမယ္။ 2ကုိ numထဲ ထည့္ခ်င္ရင္ ထည့္တဲ့သေကၤတက (=) ပါ။ programmingမွာ (=)က ညီမွ်ျခင္းမဟုတ္ဘဲ assign(dataထည့္တဲ့)သေကၤတ ျဖစ္ပါတယ္။ဒီေတာ့.......
int num;
num=2;
လို႔ ျဖစ္ပါလိမ့္မယ္။ ဒါမွမဟုတ္ 
int num=2;
ဒီလို variableေၾကညာရင္း တခါထဲ valueကို assignလုပ္လဲ ရပါတယ္။ variableကုိ ေၾကညာတဲ့အခါ typeအလုိက္ ေၾကညာရပါမယ္။

Integer Types
ပထမဆုံး integer typeအေၾကာင္း စေျပာပါမယ္။ integer typeေလးမ်ဳိး ရွိပါတယ္။ typeမတူတာနဲ႔အမွ် ထည့္ႏုိင္တဲ့ ပမာဏလည္း မတူပါ။ ဒီဇယားေလးကို ၾကည့္ပါ။
type    size inByte    Minimum Value                         Maximum Value
byte     1                          -128                                             127
short   2                         -32,768                                         32,767
int       4                        -2,147,483,648                          2,147,483,647
long    8                 -9,223,372,036,854,775,808      9,223,372,036,854,775,807
ကုိယ္သိမ္းမဲ့ ပမာဏအလိုက္ typeကို ေၾကညာေပးရပါမယ္။ သိုေလွာင္ႏုိင္တဲ့ ပမာဏထက္ ေက်ာ္လြန္တဲ့တန္ဖိုးထည့္ရင္ errorတက္ပါတယ္။ ကဲ example တစ္ခုေလာက္ၾကည့္ရေအာင္...........

class AdditionDemo{
    public static void main(String args[]){
        int num1=225, num2=12345;// or int num1=43; int num2=5;
        System.out.println("The value of num1 is "+num1);
        System.out.println("The value of num2 is "+num2);
    }
}

System.out.printlnက ဘာလဲဆုိတာ ေရွ႕က postေတြမွာလဲ ေျပာခဲ့ပါတယ္။ screenေပၚမွာ ျပခ်င္တဲ့ စာသားကို double quoteထဲထည့္ေရးရပါတယ္။ ဒီမွာေတာ့ num1, num2ထဲက တန္ဖိုးကို ထုတ္ျပခ်င္တာ ျဖစ္တဲ့အတြက္ (+) signခံေပးရတာပါ။



ကၽြန္ေတာ္ေရးတဲ့ postေတြက စာဖတ္သူအတြက္ အက်ဳိ္းရွိတယ္ဆုိရင္ commentေပးခဲ့ပါ။ လိုအပ္ခ်က္ေလးမ်ားရွိရင္လည္း အႀကံေပးခဲ့ပါ။


4 comments:

Nan Da said...

ခုလို ဗဟုသုတ ရေစတဲ့ ပိုစ္နဲ႕ blog ေလးအတြက္ ေက်းဇူးပါ

Unknown said...

thz a lot..

Shwe Myanmar said...

thz a lot..

Ghost Rider said...

thanks saya

Post a Comment

 

Myanmar Android Programming Tutorials@ 2013 | designed by Star Tek