วันอังคารที่ 31 กรกฎาคม พ.ศ. 2550

สรุปการเรียนรู้กับ Java 6

จากการเรียนของครั้งที่แล้วนั้น
การใช้ if กับ else เปล่าๆนั้น สามารถกำหนดเงื่อนไข
ได้แค่ใช่กับไม่เท่านั้น หรือพูดง่ายๆคือโปรแกรมจะทำเงื่อนไขได้แค่ 2 แบบเท่านั้น
แต่ถ้าเราต้องการเงื่อนไขที่ละเอียดมากขึ้น เราสามารถใช้ else if แทน else ธรรมดา
ซึ่งสามารถใช้ else if กี่ครั้งก็ได้ซึ่งตรงกันข้ามกับ else ธรรมดา
เช่น

if(x==120)
{ System.out.println("x = " + x);
System.out.println("Condition = true");
}
else if(x<120){
System.out.println("Your number is lower than that number!!!");
System.out.println("Please try again.");
}
else if(x>120){
System.out.println("Your number is higher than that number!!!");
System.out.println("Please try again.");
}

ซึ่งเป็นตัวอย่างหนึ่งของการบอกเงื่อนไขที่ละเอียดโดย
ถ้าตัวเลขนั้นมากกว่า 120 โปรแกรมจะทำงานว่า

Your number is higher than that number!!!
Please try again.

แต่ถ้าน้อยกว่าจำทำงาน

Your number is lower than that number!!!
Please try again.

แทน
โดยสรุปแล้ว การใช้ else if มีการเขียนชุดคำสั่งดังนี้

if(a){
ชุดคำสั่ง1;
}
else if(b){
ชุดคำสั่ง2;
}
else if(c){
ชุดคำสั่ง3;
}
.
.
.

ในอีกทางหนึ่ง หากโปรแกรมที่เป็นตัวเลขมากๆแล้ว
การใช้ if, else หรือ else if จะทำให้ข้อมูลการเขียนนั้นยาวมาก
จนอาจทำให้โปรแกรมทำงานมากจนเกินความจำเป็นก็ได้
เช่นการคิดคะแนนเกรด หรือการวัดรายได้ของประชากรเป็นต้น
ซึ่งตัวเลขนั้นมีมากมาย
เราจึงต้องใช้ switch - case ซึ่งโปรแกรมที่ทำงานคล้ายกับ if else
แต่สามารถทำงานได้หลากหลายกว่าและง่ายกว่า โดย
สามารถใช้กับข้อมูลที่เป็นจำนวนเต็มก็ได้ หรือเป็นอักขระก็ได้โดย
จะแบ่งเป็นกรณีๆ
เช่น

switch(x/10)
{
case 0:;
case 1:;
case 2:;
case 3:;
case 4:System.out.println("You're failed!!");break;
case 5:System.out.println("You're grade is D.");break;
case 6:System.out.println("You're grade is C.");break;
case 7:System.out.println("You're grade is B.");break;
case 8:;
case 9:;
case 10:System.out.println("You're grade is A. Congratulations!!");break;
}

ในกรณีนี้เป็นการใส่คะแนนเพื่อหาเกรด โดย
ถ้าคะแนนอยู่ในระดับ 80-100 จะได้เกรด A
ถ้าคะแนนอยู่ในระดับ 70-79 จะได้เกรด B
ถ้าคะแนนอยู่ในระดับ 69-60 จะได้เกรด C
ถ้าคะแนนอยู่ในระดับ 59-50 จะได้เกรด D
และน้อยกว่านั้นคือตก
*ข้อสังเกตุ 1 จากเงื่อนไข switch จะเห็นได้ว่าถ้าเป็นตัวเลขจำนวนเต็มที่หารด้วย 10 แล้ว
จะเหลือเศษอยู่ในบางกรณี ซึ่งโปรแกรมจะปัดเศษลงอัตโนมัติ เพื่อให้โปรแกรมทำงาน
2. ต้องมี break ตามท้ายด้วย เนื่องจากหากไม่มี โปรแกรมจะทำเงื่อนไขอื่นๆด้วย
เช่น หาก ได้คะแนน 62 โปรแกรมจะบอกว่า คุณได้เกรด A, B และ C ซึ่งมันตรงข้ามกับความเป็นจริง



สามารถดูตัวอย่างเพิ่มได้ที่นี่

http://www.megaupload.com/?d=SIBSR691

วันศุกร์ที่ 27 กรกฎาคม พ.ศ. 2550

Music Online




Nothing too much just a recommend web from my friends

วันพฤหัสบดีที่ 19 กรกฎาคม พ.ศ. 2550

สรุปการเรียนรู้กับ Java 5

ประโยคเงื่อนไข

ในความเป็นจริงทั่วไปแล้ว
เมื่อมีสิ่งเร้าอะไรสักอย่าง จึงทำให้เราต้องเลือกเดินไปทางใดทางหนึ่งเช่น

คะแนนของคณะบัญชีสูงมากๆ (สมมุติว่า 80 ) เป็นเหตุผลหนึ่งที่ทำให้เราไม่เลือกอาชีนี้ก็ได้
ในตรงกันข้ามถ้าคณะเศรษฐศาสตร์คะแนนแค่ 50 ก็มีหลายต่อหลายคนเลือกอาชีพนี้พอสมควรเลย
เครื่องหมายในภาษา Java
เครื่องหมายที่ใช้กับประโยคเงื่อนไขใน Java ทั้งหมด มี
< น้อยกว่า
> มากกว่า
== เท่ากับ
<= น้อยกว่าหรือเท่ากับ
>= มากกว่าหรือเท่ากับ
!= ไม่เท่ากับ

เช่นเดียวกัน
กับภาษาคอมพิวเตอร์ก็มีคำสั่งในการตัดสินใจเหมือนมนุษย์โดย
คำสั่งของคอมพิวเตอร์นั้นจะใช้คำสั่ง if แล้วตามด้วยข้อมูล
เช่น

if (a)
System.out.print("ซา-หวาด-ดี");

ก็หมายความว่าถ้าข้อมูล a เป็นจริง จาขึ้นคำว่า ซา-หวาด-ดี เป็นต้น
เมื่อเราอยากให้โปรแกรม Run ได้หลายคำสั่ง ให้เราใส่วงเล็บปีกกาหลังสิ้นสุดคำสั่ง if อีกที
เช่น

if (a) {
System.out.println("x");
System.out.println("y");
System.out.println("z");
}

โปรแกรมก็จะ Run คำสั่ง x y และ z
ในทางตรงข้าม เมื่อมันไม่ใช่คำสั่ง a โปรแกรมจะไม่ Run อะไรเลย
ยกเว้นว่าเราจะเพิ่มคำสั่ง else ไปอีกตัว จะทำให้เพิ่มคำสั่งที่ไม่เป็นจริงขึ้นมาอีกตัว
เช่น

if (a) {
System.out.println("x");
System.out.println("y");
System.out.println("z");
}
else
System.out.println("Error code in system win33");
เมื่อเป็นอย่างนี้แล้ว

เมื่อเรา Run โปรแกรมด้วยคำสั่ง a แล้ว โปรแกรมจำพิมพ์ x y z ขึ้น
แต่ถ้าไม่ใช่คำสั่ง a เครื่องแสดง Error code in system win33 ขึ้นมาทันที

พิเศษ

นอกเหนือจากที่ผมได้เรียนมาแล้วนั้น จากม.5 ผมได้จำคำสั่ง else if ของ Delphi 6 ได้
ซึ่งในโปรแกรม Java นั้น สามารถใช้ได้เช่นกัน โดย else if จะทำหน้าที่คล้าย else มาก
ก็คือ สามารถแจกแจงความที่ได้มากกว่า else ธรรมดาโดย
สามารถใช้กับการคิดเกรดได้ หรือทายตัวเลขโดยบอกคำใบ้ด้วย

เช่น

import java.util.*;
public class Spec{
public static void main (String[]args){
Scanner a = new Scanner(System.in);
float x;
System.out.print("Please enter your score. ");
x = a.nextFloat();
if(x>100){
System.out.println("Error by enter out of limited score (maximum is 100).);
}
else if(x>=80){
System.out.println("Your score is" + x);
System.out.println("Your grade is 4");
}
else if(x>=75){
System.out.println("Your score is" + x);
System.out.println("Your grade is 3.5");
}
else if(x>=70){
System.out.println("Your score is" + x);
System.out.println("Your grade is 3");
}
else if(x>=65){
System.out.println("Your score is" + x);
System.out.println("Your grade is 2.5");
}
else if(x>=60){
System.out.println("Your score is" + x);
System.out.println("Your grade is 2");
}
else if(x>=55){
System.out.println("Your score is" + x);
System.out.println("Your grade is 1.5");
}
else if(x>=50){
System.out.println("Your score is" + x);
System.out.println("Your grade is 1");
}
else{
System.out.println("Your score is" + x);
System.out.println("You have failed this subject!");
}
System.out.println("Thankyou for investigating!");
}
}

ก็เป็นโปรแกรมคิดเกรดทั่วไปที่ใช้ตามโรงเรียนต่างๆ

รูปภาพการแสดงผล
คนนี้ได้เกรด 4 (80)




คนนี้ได้เกรด 2.5 (67.25)


คนนี้สอบตก (30)
สามารถติดตามผลงานได้ที่นี่

วันเสาร์ที่ 7 กรกฎาคม พ.ศ. 2550

สรุปการเรียนรู้เกี่ยวกับ Java 4



การกรอกข้อมูลโดยตรง
ถึงแม้ว่าเราจะสามารถสร้างโปรแกรมที่สามารถใช้งานได้ดีเพียงได้
แต่ถ้าผู้ใช้ไม่รู้วิธีใช้ มันก็แทบจะไม่มีความหมายอยู่ดี

สัปดาห์นี้ผมจึงได้เรียนเกี่ยวกับการให้ข้อมูลผ่านคีย์บอร์ดขณะ Run โปรแกรมได้
ซึ่งก่อนอื่นเราก็ต้องอาศัยฟังชันนึงในการอ้างอิงก่อนเสมอ
และต้องใส่บันทัดแรกสุดเสมอคือ

Import java .util.*;

ซึ่งตัวนี้จะอ้างอิงที่อยู่ของฟังก์ชั่น Scanner นั้นเอง
และการใช้ตัว Scanner ก็เป็นการประกาษใช้ตัวแปรอย่างหนึ่ง
ซึ่งตัวแปรนี้จะเป็นตัวแปรรับข้อมูลจากคีย์บอร์ด
โดยเราต้องกำหนดตัวอักษรตัวหนึ่งเพื่อนให้มันเป็นตัวแปรให้เรา
เช่น เมื่อเราอยากให้ x เป็นตัวแปรก็ให้เขียนดังนี้

Scanner x = new Scanner(System.in);

เท่านี้ x ก็เป็นตัวแปรของเรา ซึ่งตัวแปร 1 ตัวแปรสามารถใช้ได้หลายสมการมาก

และในการกำหนดตัวแปรให้ใช้กับเลขทศนิยมได้นั้น
ก็สามารถทำได้ง่ายๆโดยเอาข้อมูลทศนิยมขึ้นแล้วตามด้วยตัวแปรที่อยากให้มันเป็น
เช่น เราอยากให้ a เป็นตัวแปรเลขทศนิยม ก็ทำได้โดย

float a;

เราก็สามารถเอาตัว a ไปแทนลงในสมการต่างๆเพื่อให้ผู้ใช้สามารถ
ใส่เลขด้วยตัวเองได้
และในการให้ผู้ใช้กรอกข้อมูลนั้น เราก็ต้องใส่ฟังก์ชั่นอีกฟังก์ชั่นนึงคือ

a = x.nextFloat();

เพื่อเป็นการบอกเปิดการรับข้อมูลจากคีย์บอร์ดเมื่อ Run โปรแกรมแล้ว
แล้วชนิดข้อมูลที่สามารถ Run ต่อได้และไม่ Error นั้นต้องเป็นค่าทศนิยมเท่านั้น

และนี่คือสมการตัวอย่าง


เมื่อกรอกข้อมูลไปแล้วจะได้ผลลัพท์ดังรูป

สามารถดูงานเพิ่มเติมได้ที่นี่
http://www.megaupload.com/?d=ILGKJVHP