วันจันทร์ที่ 14 มีนาคม พ.ศ. 2554

คำสั่ง for

สวัสดีค่ะ ในบทความนี้ฉันจะพูดถึงคำสั่งที่ใช้วนลูปคำสั่งสุดท้ายกันนะค่ะ มือเก่าที่เข้ามาอ่านน่าจะพอเดาได้นะค่ะว่าคำสั่งอะไร คำสั่งที่ว่านั้นก็คือคำสั่ง for ค่ะ ซึ่งคำสั่งนี้ถ้าเราเข้าใจได้ดีจะทำให้ใช้งานมันได้สะดวกสบายขึ้น คำสั่งนี้มีเงื่อนไขในการใช้งานอยู่พอสมควรเราลองมาดูกันเลยนะค่

คำสั่ง for มีรูปแบบดังนี้




จากรูปแบบของการใช้งานคำสั่งนี้จะเห็นว่าในวงเล็บของคำสั่ง for นั้นมี 3 ส่วนที่ต้องกำหนด คือ
 
1. ค่าตัวแปรเริ่มต้น ใช้กำหนดค่าเริ่มต้นของตัวแปรที่จะใช้ในการควบคุม การวนลูป
 
2. เงื่อนไข ใช้กำหนดเงื่อนไขการวนลูป
 
3. เปลี่ยนแปลงค่าตัวแปร ใช้ในการเพิ่มหรือลดค่าของตัวแปรที่ใช้ในการควบคุมการวนลูป จะเห็นว่าการใช้งานนั้นต่างจาก คำสั่ง while โดยที่คำสั่ง for นั้นจะมีการกำหนดค่าและเงื่อนไขต่างๆ ลงไปเลยทันทีเพื่อใช้ในการควบคุมการวนลูปตามที่เราต้องการ ลองมาดูตัวอย่างกันดีกว่านะค่ะ







อธิบายโปรแกรม จากโค้ดโปรแกรมนี้จะเป็นการคำนวณหาค่าผลบวกของ 1 ถึง 10 (1+2+3+4+5+6+7+8+9+10) ซึ่งใช้ลูป for นะครับโดยมีการกำหนดตัวแปร i ไว ้เป็น 1 เมื่อเริ่มเข้ามาที่ลูป ส่วนเงื่อนไขคือ i <= 10 คือ เราต้องการให้ลูปนี้วนไป 10 ครั้ง ส่วน i++ เป็นการเพิ่มค่า i ทีละ 1 เมื่อจบรอบการทำงานในแต่ละรอบนั่นเอง ลองไล่ โค้ดดูนะค่ะ
i = 1, sum = 0 + 1 จบรอบแรก sum = 1
i = 2, sum = 1 + 2 จบรอบที่สอง sum = 3
i = 3, sum = 3 + 3 จบรอบที่สาม sum = 6
i = 4, sum = 6 + 4 จบรอบที่สี่ sum = 10
i = 5, sum = 10 + 5 จบรอบที่ห้า sum = 15
i = 6, sum = 15 + 6 จบรอบที่หก sum = 21
i = 7, sum = 21 + 7 จบรอบที่เจ็ด sum = 28
i = 8, sum = 28 + 8 จบรอบที่แปด sum = 36
i = 9, sum = 36 + 9 จบรอบที่เก้า sum = 45
i = 10, sum = 45 + 10 จบรอบที่สิบ sum = 55

จะเห็นว่าในรอบสุดท้ายคือ รอบที่สิบนั้นค่า i++ ยังคงทำงานอยู่คือ จะได้ค่า i ค่าสุดท้ายเป็น 11 แต่พอนำไปเช็คที่เงื่อนไขแล้วทำให้เงื่อนไขนั้นผิดเพราะ i <= 10 นั่นเองจึง ทำให้ออกจากลูป นอกจากนี้ยังมีการใช้งานในรูปแบบอื่นอีกซึ่งฉันจะยกมาเป็นกฏให้ดูกันนะค่ะ
กฎการใช้คำสั่ง for
1.
ค่าที่เพิ่มขึ้นในแต่ละรอบของตัวแปรควบคุมนั้นจะเป็นเท่าไรก็ได้ เช่น

for(int x=0 ; x<=100 ; x=x+5)
2. ค่าของตัวแปรควบคุมอาจถูกกำหนดให้ลดลงก็ได้ เช่น
for(int x=100 ; x>0 ; x- -)
3. ตัวแปรควบคุมอาจเป็นชนิด  character ได้ เช่น
for(char ch =’a’ ; ch<=’z’ ; ch++)
4. ตัวแปรควบคุมสามารถมีได้มากกว่า 1 ตัวแปร เช่น
for(int x=0,y=0 ; x+y<100 ; x++,y++)
5 . ถ้ามีการละบางส่วนหรือทุกส่วนของพารามิเตอร์ในวงเล็บจะเป็นการสั่งให้ for ทำงานไม่รู้จบ เช่น
for( ; ; )
System.out.println(“ Hello”);

6. ในคำสั่ง for สามารถมีคำสั่ง for ซ้อนอยู่ภายในได้อีก เช่น
for(int x=1 ; x<=3 ; x++)
{ 
System.out.println(“ x = ”+x);
for(int y=1 ; x<=5 ; y++)
System.out.println(“ y = ”+y);
}

เป็นอย่างไรกันบ้างค่ะกฏการใช้งานทั้ง 6 ข้อซึ่งจะทำให้เรานำไปใช้งานในรูปแบบอื่นได้อีก ผมแนะนำว่าท่านที่ยังไม่คุ้นเคยก็ให้ฝึกฝนเขียนกันเลยนะค่ะจะได้รู้ผิดรู้ถูกและ เป็นการเพิ่มทักษะให้กับตัวเองด้วยนะค่ะ สำหรับคำสั่งในการวนลูปก็คงจะมีเพียงเท่านี้แหละครับที่ใช้งานกันบ่อยๆ ก่อนที่จะจบบทความฉันมีแบบทดสอบให้มาทำกันเล่นๆ นะครับให้ลองดูภาพต่อไปนี้ค่ะ





ในสามรูปนี้ให้เราลองเขียนโปรแกรมโดยใช้เครื่องหมาย * พิมพ์ออกมาเป็นรูปตามแบบ  โดยมีข้อกำหนดว่าให้ใช้เครื่องหมาย * ได้แค่ดวงเดียวในโปรแกรม นะค่ะ ห้ามลักไก่ใช้ System.out.println(“ * * * * * ”); ออกมาแบบนี้นะค่ะ ใช้ได้แค่ดวงเดียวเท่านั้น แล้วให้มันพิมพ์ออกมาเป็นรูปดังกล่าวรูปใดรูปหนึ่งโปรแกรมละ 1 รูป ลองทำกันเล่นๆ ดูนะค่ะถือว่าเป็นการฝึกฝนการเขียนโปแกรมไปในตัว ถ้าใครอยากได้เฉลยก็ไปโพสต์บอกผมไว้ที่ webboard นะค่ะ 



ดูตัวอย่าง การบวกเลขตั้งแต่ 1 ถึง 100
#include<stdio.h>
main()
{
int i,ans;
ans=0;
for(i=1;i<=100;i++){
ans=ans+i;
}
printf("answer is %d",ans);
}
        ในที่นี้เราทำการกำหนดให้ตัวแปร i เป็นตัวแปรนับ ส่วน ans เป็นตัวแปรที่ใช้เก็บค่าคำตอบ ในบรรทัด for นั้นไม่มีปัญหาอะไรยกเว้น ที่เราเจอ i++ นั่นก็หมายถึง i+1 นั่นเอง คือ ในloop นี้เราจะทำการเพิ่มตัวนับ i ไปทีละ 1 สมมตินะครับสมมติ ว่าหากเราต้องการจะ แสดงเฉพาะเลขคี่ที่อยู่ระหว่าง 1 ถึง 100 เราจะทำอย่างไร ดูต่อค่ะ

ดูตัวอย่าง การแสดงเฉพาะเลขคี่ที่อยู่ในช่วงตั้งแต่ 1 ถึง 100
#include<stdio.h>
main()
{
int i ;
for(i=1;i<=100;i=i+2){
printf("Odd number is %d\n",i);
}
}
นั่นคือเราก็วน loop เหมือนเดิมเพียงแต่ในแต่ละรอบนั้นเราทำการเพิ่มค่า i ไปทีละ 2 ซึ่งเดิมค่า i มีค่าเท่ากับ 1 พอ compiler มา check ว่า 1<=100 นั้นจริงไหม ปรากฎว่าจริงก็ให้ทำงานในloop ต่อ โดยมีการเพิ่มค่า i=i+2 นั่นหมายความว่าตอนนี้ i มีค่าเป็น 1+2 ก็คือ 3 นั่นเอง ในรอบต่อมาเราก็แสดงค่า 3 ทำเช่นนี้ไปเรื่อยๆ เราก็จะได้เฉพาะเลขคี่ 1,3,5,7,...,99
สมมตินะครับสมมติ ว่าหากเราต้องการจะ แสดงเฉพาะเลขคู่ที่อยู่ระหว่าง 1 ถึง 100 เราจะทำอย่างไร ดูต่อค่ะ 

ดูตัวอย่าง การแสดงเฉพาะเลขคู่ที่อยู่ในช่วงตั้งแต่ 1 ถึง 100
#include<stdio.h>
main()
{
int i ;
for(i=2;i<=100;i=i+2){
printf("Odd number is %d\n",i);
}
}
เช่นเคยค่ะไม่ค่อยแตกต่างอะไรกับการ แสดงเฉพาะเลขคี่ แต่จะต่างกันตรงการเริ่มต้นค่าให้กับตัวนับค่ะ นั่นคือเราทำการเริ่มต้นค่า ตัวนับด้วย 2 นั่นคือตัวแปร i จะมีค่าเริ่มต้นเป็น 2 ในการวน loop รอบแรกค่ะจากนั้นก็เหมือนเดิมในแต่ละรอบ ค่า i จะถูกเพิ่มทีละ 2 ครับ ดังนั้นสุดท้ายเราก็จะได้ 2,4,6,8,10,...,100 ไปตามระเบียบ
และหากเราต้องการจะแสดงเฉพาะเลขคู่นี่แหละแต่ต้องการให้ แสดง ถอยหลัง คือ แสดง 100,98,96,94,...,8,6,4,2 จะทำได้อย่างไร
ดูตัวอย่าง การแสดงเฉพาะเลขคู่(ถอยหลัง)ที่อยู่ในช่วงตั้งแต่ 1 ถึง 100
#include<stdio.h>
main()
{
int i ;
for(i=100;i>=1;i=i-2){
printf("Odd number is %d\n",i);
}
}
        นั่นคือในบรรทัด for เรากำหนดค่าเริ่มต้นเป็น 100 ที่สำคัญคือเงื่อนไขเดิมเรากำหนดเป็น น้อยกว่าเท่ากับ แต่ในที่นี้เรากำหนดเป็นว่า i มากกว่าเท่า 1 loop จึงจะยังทำงานต่อ และที่สำคัญเช่นเดียวกันคือเราทำการลดค่า i ไปทีละ 2 ครับ เท่านี้เราก็จะได้ ค่า 100,98,96,...,4,2 แล้วค่ะขอให้ลองไล่โปรแกรมดูสักนิด แล้วก็จะเข้าใจโดยกระจ่างเองค่ะ



แหล่งที่มา :: Java 


วันอาทิตย์ที่ 13 มีนาคม พ.ศ. 2554

วิวัฒนาการของภาษา java

ประวัติและวิวัฒนาการของภาษา java
กำเนิดภาษา Java  มีสาเหตุเริ่มต้นจากความยุ่งยากในการพัฒนาโปรแกรมใช้งาน (application) สำหรับระบบ Internet ทั้งนี้เพราะระบบ Internet ถูกออกแบบให้เป็นระบบเปิด (open system) โดยมีจุดประสงค์ให้สามารถใช้งานได้จากเครื่องคอมพิวเตอร์ทุกประเภท ไม่ว่าจะเป็นเครื่องแบบ PC เครื่อง Macintosh เครื่อง UNIX หรือ เครื่อง Mini Computer ไปจนถึงเครื่องระดับ Super Computer ดังนั้นในปี พ.ศ. 2534 บริษัท ซัน ไมโครซิสเต็มส์ (Sun Microsystems, Inc.) จึงได้พัฒนาภาษาคอมพิวเตอร์ใหม่ที่มีประสิทธิภาพในการทำงาน โดยตั้งวัตถุประสงค์ไว้ให้เป็นภาษาชนิดไม่ยึดติดกับ PlateForm ใดเลย ขึ้นมา James Gosling และทีมงานพัฒนาของ Sun Microsystem ได้ตั้งชื่อภาษานี้ว่า Java ขึ้นมาตามชื่อกาแฟที่พวกเขาใช้ดื่มขณะพัฒนาภาษา Java นับเป็นภาษาคอมพิวเตอร์ภาษาแรกของโลกที่ถูกออกแบบให้มีคุณสมบัติพิเศษด้านเทคนิค สามารถสร้างโปรแกรมใช้งานจากเครื่องคอมพิวเตอร์ประเภทหนึ่ง แล้วนำไปใช้ได้กับเครื่องอีกประเภทหนึ่งที่อยู่ภายในเครือข่ายเดียวกัน หรือต่างเครือข่ายได้โดยไม่ยึดติดกับ PlateForm หรือประเภทของเครื่องคอมพิวเตอร์อีกต่อไป
รุ่นต่าง ๆ ของภาษา java
  • 1.0 (ค.ศ. 1996)  ออกครั้งแรกสุด
  • 1.1 (ค.ศ. 1997)  ปรับปรุงครั้งใหญ่ โดยเพิ่ม inner class
  • 1.2 (4 ธันวาค, ค.ศ. 1998)  รหัส Playground ด้านจาวาแพลตฟอร์มได้รับการเปลี่ยนแปลงครั้งใหญ่ใน API และ JVM (API สำคัญที่เพิ่มมาคือ Java Collections Framework และ Swing; ส่วนใน JVM เพิ่ม JIT compiler) แต่ตัวภาษาจาวานั้น เปลี่ยนแปลงเพียงเล็กน้อย (เพิ่มคีย์เวิร์ด strictfp) และทั้งหมดถูกเรียกชื่อใหม่ว่า "จาวา 2" แต่ระบบเลขรุ่นยังไม่เปลี่ยนแปลง
  • 1.3 (8 พฤษภาคม, ค.ศ. 2000)  รหัส Kestrel แก้ไขเล็กน้อย
  • 1.4 (13 กุมภาพันธ์, ค.ศ. 2002)  รหัส Merlin เป็นรุ่นที่ถูกใช้งานมากที่สุดในปัจจุบัน (ขณะที่เขียน ค.ศ. 2005)
  • 5.0 (29 กันยายน, ค.ศ. 2004)  รหัส Tiger (เดิมทีนับเป็น 1.5) เพิ่มคุณสมบัติใหม่ในภาษาจาวา เช่น Annotations ซึ่งเป็นที่ถกเถียงกันว่านำมาจากภาษาซีชาร์ป ของบริษัทไมโครซอฟท์, Enumerations, Varargs, Enhanced for loop, Autoboxing, และที่สำคัญคือ Generics
  • 6.0 (11 ธันวาคม, ค.ศ. 2006)  รหัส Mustang เป็นรุ่นในการพัฒนาของ Java SDK 6.0 ที่ออกมาให้ทดลองใช้ในเดือนพฤศจิกายน ค.ศ. 2004
  • 7.0 (กำลังพัฒนา กำหนดออก ค.ศ. 2008)  รหัส Dolphin กำลังพัฒนา
รูปแบบการเขียนโปรแกรม
 Java เป็นภาษาแบบ Compiler คำสั่งในภาษา Java หรือ Source Code จึงต้องเขียนเก็บไว้เป็น text file มีส่วนขยายเป็น .java หลังจากนั้นต้องนำไฟล์ดังกล่าวไปทำการ Compile จาก Source Code ให้กลายเป็นรหัสภาษากลางที่เรียกว่า Binary File หรือ Byte Code (ไฟล์ที่มีส่วนขยายเป็น .class) มีคุณลักษณะเด่นคือ มีขนาดเล็ก สามารถนำไปประยุกต์ใช้งานได้สะดวกรวดเร็ว โดยเตรียมโปรแกรมดังกล่าวไว้บนเครื่อง Server และเมื่อมีการเรียกใช้งานจาก Web Browser ตัว Server จะทำการส่งข้อมูลดังกล่าวกลับ เพื่อให้ Web Browser สั่งให้ทำงานต่อไป Java ถูกจัดให้เป็นภาษาคอมพิวเตอร์ระดับสูงเช่นเดียวกับภาษา Fortran, Cobol, C, Pascal หรือ Basic เป็นภาษาที่มีเสถียรภาพการทำงานสูง ใช้โครงสร้างการเขียนโปรแกรมเป็น Object-Oriented Programming หรือ OOP มีโครงสร้างของภาษาคล้ายกับภาษา C++ เนื่องจาก Java ใช้ภาษา C++ เป็นต้นแบบในการพัฒนาขึ้นมาการทำงานและความปลอดภัยของ Java นั้น เมื่อผู้ส่งคำร้องขอข้อมูล Web Page ไปยัง Web Server หากภายใน Web Page นั้นมีรหัสคำสั่ง สำหรับกำหนด Java Applet ที่ต้องการนำมาใช้งาน Server ก็จะเพียงทำหน้าที่ส่งข้อมูลต่างๆ เกี่ยวกับ Applet นั้นไปยังเครื่องคอมพิวเตอร์ของผู้ใช้ จากนั้น Web Browser ที่เครื่องคอมพิวเตอร์ของผู้ใช้จะนำ Binary File (Byte Code) ที่ได้นั้นไปเรียกใช้งานต่อไปอีกที ส่วนควบคุมการทำงานของ Java (Java runtime) โดยปกติจะฝังตัวอยู่ในโปรแกรม Web Browser เพื่อทำหน้าที่ควบคุมการทำงานของโปรแกรม Java ที่ส่งมาจาก Server และเมื่อ Web Browser นั้นพบ Web Page ที่มีรหัสคำสั่ง ข้อมูลต่างๆที่ใช้ในการทำงานร่วมกับ Applet นั้นจะถูกส่งกลับคืนมายัง Browser ของผู้ใช้ให้โดยอัตโนมัติ การจัดการกับ JAVA Applet จะเรียบร้อยเมื่อเราได้เห็นภาพและได้ยินตามที่ได้มีการกำหนดมา เนื่องจาก JAVA ถูกสร้างขึ้นเพื่อใช้ทำงานร่วมกับระบบเครือข่าย จึงถูกเน้นให้มีระบบการรักษาความปลอดภัยที่รัดกุม เพื่อป้องกันอันตรายที่อาจเกิดจากไวรัสคอมพิวเตอร์ หรือโปรแกรมคอมพิวเตอร์ที่มีโอกาสทำงานผิดพลาดได้ และเพื่อตัดปัญหามิให้เป็นอันตรายต่อระบบการทำงานของเครื่องคอมพิวเตอร์ที่เรียกใช้มัน ภาษา Java จึงไม่มีคุณสมบัติในการเข้าถึงหน่วยความจำของระบบในระดับลึก และเนื่องจาก Java ต้องทำงานผ่าน Web Browser ดังนั้น Web Browser จึงทำหน้าที่เป็นผู้ตรวจทานรหัสคำสั่งของ Java ก่อนว่าไม่มีการเขียนรหัสคำสั่งที่เป็นอันตรายต่อระบบจากนั้นจึงผ่านให้ Java Class Loader เพื่อสั่งให้โปรแกรมทำงานต่อไป ฉะนั้น Java จึงเหมาะกับการใช้งานที่ต้องการความปลอดภัยสูงผ่านระบบ NetWork หรือการทำธุรกิจในระบบ Internet (E-commerce) โดย Java ได้มีการแบ่งระบบรักษาความปลอดภัยไว้เป็น 3 ระดับดังนี้
1.การตรวจสอบความถูกต้องของรหัสคำสั่ง

2.การกำหนดไฟล์ที่สามารถใช้งานได้

3.การตรวจสอบขณะเรียกใช้งาน


ข้อดีและข้อเสียของจาวา
ข้อดี
  • โปรแกรมจาวาที่เขียนขึ้นสามารถทำงานได้หลาย platform โดยไม่จำเป็นต้องแก้ไขหรือ compile ใหม่ ทำให้ช่วยลดค่าใช้จ่ายและเวลาที่ต้องเสียไปในการ port หรือทำให้โปรแกรมใช้งานได้หลาย platform
  • ภาษาจาวาเป็นภาษาเชิงวัตถุ ซึ่งเหมาะสำหรับพัฒนาระบบที่มีความซับซ้อน การพัฒนาโปรแกรมแบบวัตถุจะช่วยให้เราสามารถใช้คำหรือชื่อ ต่าง ๆ ที่มีอยู่ในระบบงานนั้นมาใช้ในการออกแบบโปรแกรมได้ ทำให้เข้าใจได้ง่ายขึ้น
  • ภาษาจาวามีความซับซ้อนน้อยกว่าภาษา C++ ทำให้ใช้งานได้ง่ายกว่าและลดความผิดพลาดได้มากขึ้น
  • ภาษาจาวามีการตรวจสอบข้อผิดพลาดทั้งตอน compile time และ runtime ทำให้ลดข้อผิดพลาดที่อาจเกิดขึ้นในโปรแกรม และช่วยให้ debug โปรแกรมได้ง่าย
  • ภาษาจาวาถูกออกแบบมาให้มีความปลอดภัยสูงตั้งแต่แรก ทำให้โปรแกรมที่เขียนขึ้นด้วยจาวามีความปลอดภัยมากกว่าโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น
  • มี IDE, application server, และ library ต่าง ๆ มากมายสำหรับจาวาที่เราสามารถใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย ทำให้เราสามารถลดค่าใช้จ่ายที่ต้องเสียไปกับการซื้อ tool และ s/w ต่าง ๆ

ข้อเสีย
  • ทำงานได้ช้ากว่า native code (โปรแกรมที่ compile ให้อยู่ในรูปของภาษาเครื่อง) หรือโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น อย่างเช่น C หรือ C++ ทั้งนี้ก็เพราะว่าโปรแกรมที่เขียนขึ้นด้วยภาษาจาวาจะถูกแปลงเป็นภาษากลางก่อน แล้วเมื่อโปรแกรมทำงานคำสั่งของภาษากลางนี้จะถูกเปลี่ยนเป็นภาษาเครื่องอีกทีหนึ่ง ทีล่ะคำสั่ง (หรือกลุ่มของคำสั่ง) ณ runtime ทำให้ทำงานช้ากว่า native code ซึ่งอยู่ในรูปของภาษาเครื่องแล้วตั้งแต่ compile  โปรแกรมที่ต้องการความเร็วในการทำงานจึงไม่นิยมเขียนด้วยจาวา
  • tool ที่มีในการใช้พัฒนาโปรแกรมจาวามักไม่ค่อยเก่ง ทำให้หลายอย่างโปรแกรมเมอร์จะต้องเป็นคนทำเอง ทำให้ต้องเสียเวลาทำงานในส่วนที่ tool ทำไม่ได้ ถ้าดู tool ของ MS จะใช้งานได้ง่ายกว่า และพัฒนาได้เร็วกว่า (แต่ต้องซื้อ tool ของ MS และก็ต้องรันบน platform ของ MS
ตัวอย่าง SOURCE CODE
JavaDoc สำหรับเอกสารอธิบาย class ต้องประกอบด้วย:
  • บทสรุป และสาระสำคัญ
  • คำอธิบายในรายละเอียด
  • ตัวอย่างโค้ดและตัวอย่างการใช้ class
  • รายชื่อของผู้เขียนโดยใช้ JavaDoc @author tag                                                                                              
เพราะ "feature" ใน JavaDoc ทำให้เราต้องใส่เครื่องหมายดอกจันไว้หน้าบรรทัดเพื่อรักษาย่อหน้าของเราไว้.
ตัวอย่าง
    /** A vector class optimized for working with ints. <p>


        Like the Vector object, except rather than tracking a dynamic

        array of pointers to different objects, this is simply a

        dynamic array of ints.  The advantage is speed and memory

        savings.<p>

        Example:

        <pre>

    *
    *        // report longest lines
    *        TextFileIn f = new TextFileIn("blather.txt");
    *        IntVector v = new IntVector();
    *        int longestLine = 0 ;
    *        boolean done = false ;
    *        while ( ! done )
    *        {
    *            String s = f.readLine();
    *            if ( s == null )
    *            {
    *                done = true ;
    *            }
    *            else
    *            {
    *                int sLength = s.length() ;
    *                if ( sLength > longestLine )
    *                {
    *                    longestLine = sLength ;
    *                }
    *                v.append( sLength );
    *            }
    *        }
    *        f.close();
    *        System.out.println("The longest lines are on line numbers:");
    *        for ( int i = 0 ; i < v.length() ; i++ )
    *        {
    *            if ( v.get( i ) == longestLine )
    *            {
    *                System.out.println( i );
    *            }
    *        }
        </pre>
        @author Adam Baum
        @author Justin Case
    */
    public class IntVector
    {

ตัวแปร ที่ใช้กับ Java และคำสั่ง


ตัวแปร [Variable]

คือ ชื่อทีกำหนดขึ้นเพื่อใช้ในการเก็บข้อมูล โดยหลักการตั้งชื่อก็ได้กล่าวในบทความแรกแล้วนะค่ะ
รูปแบบการประกาศตัวแปร
รูปแบบ ชนิดข้อมูล  ตัวแปร;
รูปแบบการค่าให้กับตัวแปร
รูปแบบ  ตัวแปร = ค่าที่ต้องการกำหนดให้;
  เมื่อประกาศตัวแปรขึ้นแล้วนั้นเราต้องกำหนดค่าให้กับตัวแปรเอง ซึ่งหากมีการเรียกใช้งานตัวแปรที่ยังไม่ได้ถูกกำหนดค่า เมื่อคอมไพล์ จะมีการแจ้งข้อผิดพลาดว่า
"varable might not have been intialized"
มาดูค่าตัวแปรที่ภาษา Java ใช้กันบ้างค่ะ 

ตัวแปร
การใช้
การแสดงผล a=5 , b=2
+=
a += b
a=a+b
เช่น
a=5 + 2   ||  a= 7
-=
a -= b
a=a-b
เช่น
a=5 - 2    ||  a= 3
*=
a *= b
a=a*b
เช่น
a=5 * 2    ||  a= 10
/=
a /= b
a=a/b
เช่น
a=5 / 2    ||  a= 2
%=
a %= b
a=a%b
เช่น
a=5 -%2  ||  a= 1
Character literal
เป็นตัวอักษรตัวเดียว หรือจะเป็นค่า escape sequence ก็ได้ Character  literal จะถูกคลุมด้วยเครื่องหมาย Single quote (' ')

escape sequence
ความหมาย
\b
 ถอยหลัง 1 ตัวอักษร [Backspace]
\t
 แถบแนวนอน [Horizontal tab]
\n
 ขึ้นบรรทัดใหม่ [New line]
\f
 ขึ้นหน้าใหม่ [Form feed]
\r
 เลื่อนเคอร์เซอร์ไปทางซ้ายสุด [Carriage return]
\'
 หมายถึงตัวอักษร ' [Single Quote]
\"
 หมายถึงตัวอักษร " [Double Quote]
\\
 หมายถึงตัวอักษร \\ [Backslash]
\xxx
 หมายถึงตัวอักษรที่มีรหัสแอสกี [ASCII] เท่ากับค่าเลขฐาน 8 เช่น '\043' ก็จะได้#
\uxxx
 หมายถึงตัวอักษรที่มีรหัส Uncode เท่ากับเลขฐาน 16 เช่น '\u0023' ก็จะได้ #
การแสดงผล
System.out.print      = เป็นการแสดงผลบรรทัดนั้นไม่มีการขึ้นบรรทัดใหม่
System.out.println   = เป็นการแสดงผลบรรทัดนั้นมีการขึ้นบรรทัดใหม่
System.out.println(check);  = แสดงค่าที่เก็บอยู่ที่ check  เช่น check='Good';  ก็จะได้ผลลัพท์ Good
System.out.println("Thaiware");   = แสดงค่า Thaiware
System.out.println("Thaiware "+check); = จะแสดงค่า  Thaiware Good
ชนิดของข้อมูลพื้นฐาน
1. Logical ได้แก่ Boolean ค่าจะต้องเป็น true หรือ false เท่านั้น
2. Textual ได้แก่ Char
3. Integral ได้แก่ Byte , Short , Int , Long
4. Floating-Point ได้แก่ Float Double
1. Logical

class testboolean
     {
        public static void main(String[] args)
          {
//ประกาศค่าตัวแปร//
            boolean check = true;
            boolean verify = false;
//แสดงผล//
            System.out.println(check);
            System.out.println(verify);
            }
}
ผลการ Run
2. Textual 

class TestCharCtring
      {
           public static void main(String[] args)
               {
//ประกาศค่าตัวแปรต่างๆ//
                   char ch1 = 'a';
                   char ch2 = '\n';
                   char ch3 = '\u0002';
                   String str1 = "Hello My Friends";
                   String str2 = "";
                   String str3 = "A";
//ทำการแสดงผล//
                   System.out.println(ch1);
                   System.out.print(ch2);
                   System.out.println(ch3);
                   System.out.print(str1);
                   System.out.println(str2);
                   System.out.println(str3);
                   }
}
ผลการ Run


3. Integral  ก่อนที่จะมาดูตัวอย่างเรามาทำความเข้าใจของแต่ละชนิดของข้อมูลก่อนดีกว่า

ชนิดข้อมูล
ขนาด
ค่าต่ำสุด
ค่าสูงสุด
Byte
บิต หรือ 1 ไบต์
 -27
  2-1
Shout
16 บิต หรือ 2ไบต์
 -215
  215 -1
Int
32 บิต หรือ 4ไบต์
 -231
  231 -1
Long
64 บิต หรือ 8 ไบต์
 -263
  263 -1


4. Floating-Point ก่อนที่จะมาดูตัวอย่างเรามาทำความเข้าใจของแต่ละชนิดของข้อมูลก่อนดีกว่า

ชนิดข้อมูล
ขนาด
ค่าต่ำสุด
ค่าสูงสุ
Float
32 บิต หรือ 4ไบต์
 -3.40282347E+38
 3.40282347E+38
Double
64 บิต หรือ 8 ไบต์
 -1.79769E+308
 1.79769E+308

class TestIntegralFloating
       {
          public static void main(String[] args)
             {
// ประกาศค่าตัวแปร //
             byte a = 1;
             short b = 2;
             int c = 3;
// การที่มี L หรือ I ต่อท้ายไม่งั้นค่าจะถูกมองเป็น int //
             long d = 4L;
// การที่มี F ต่อท้ายไม่งั้นค่าจะถูกมองเป็น Double //
             float e = 5.0F;
             double f = 6.0;
// แสดงผล //
             System.out.println(a+" "+b+" "+c+" "+d);
             System.out.println(e+" "+f);
             }
}
 ผลการ Run
แหล่งที่มา :: Java