วันจันทร์ที่ 17 กันยายน พ.ศ. 2550

JAVA IN CLASS 24/8/2007

class
class เสมือนแม่พิมพ์หรือแม่แบบในการสร้าง Object ต่างๆ
ที่มีความหลากหลายทั้งนี้เราสามารถหยิบเอา Object ที่สร้างจาก
Class หรือ Subclass นี้ไปทำอะไรได้อีกหลายอย่าง
โดยสั่งงานผ่าน Method ของมัน

Object
Object คือ เหมือนวัตถุชิ้นหนึ่งที่ถูกสร้างขึ้นโดย Class
และดึงข้อมูลจาก Class นั้นๆมาใช้ทำให้ Object
มีลักษณะตาม Class ที่สร้างมันขึ้นมา

Method
Method คือ ฟังชันก์ที่อยู่ภายใน Class มีหน้าที่ทำตามคำสั่ง
ที่อยู่ภายใน Method เมื่อถูกเรียกใช้งานแบ่งออกเป็น 3 ประเภท ได้แก่
1) Public method
เป็น method ที่ไม่ว่า Class ใดก็เรียกใช้งานได้
2) Private method
เป็น method ที่จะถูกเรียกใช้งานได้จาก method
ที่อยู่ใน Class เดียวกันเท่านั้น
3) Protected method
เป็น method จะถูกเรียกใช้งานได้จาก method
ที่อยู่ใน Class และ Subclass เดียวกันเท่านั้น

*Static คือ การประกาศล่วงหน้า โดยไม่จำเป็นต้องกระทำใน
Method โดยเมื่อเราประกาศตัวแปรแบบ Static แล้ว
เราก็สามารถนำตัวแปรนี้ไปใช้ได้ในทุก Method ใน Class นั้นๆ

GUI
GUI ย่อมาจาก Graphical User Interface คือโปรแกรมโต้ตอบกับผู้ใช้
ซึ่งถูกสร้างจากวัตถุแบบกราฟ(องค์ประกอบต่างๆ ของโปรแกรมโต้ตอบกับผู้ใช้แบบกราฟ)
ได้แก่ ปุ่มกด (push buttons) ตัวเลือกแบบเมนู (pop-up menu) กราฟ (axes) ฯ
หากโปรแกรมโต้ตอบกับผู้ใช้ได้รับการออกแบบที่ดีจะทำให้ผู้ใช้สามารถเข้าถึงการทำงาน
หรือใช้งานได้อย่างไม่ต้องทราบขั้นตอนการทำงานมาก่อนเลย
ประโยชน์ที่เห็นได้ชัดเจน
คือการที่ผู้ใช้สามารถทำงานกับโปรแกรมได้โดยไม่ต้องผ่านทางการเขียนคำสั่ง
ทีละบรรทัดดังเช่นการเขียนโปรแกรมตามปกติ กล่าวคือผู้ใช้เพียงแต่ปฏิบัติตามคำสั่งสำเร็จรูป
ที่ทางผู้ออกแบบได้จัดหามาให้และทำการใช้งานได้ทันที ดังนั้นจึงเป็นการง่ายกว่าสำหรับผู้ใช้
ทั้งในด้านการเรียนรู้ละการใช้งานโปรแกรมหัวข้อถัดไปจะเป็นการบรรยายแบบพอสังเขป
เกี่ยวกับการสร้างโปรแกรมโต้ตอบกับผู้ใช้แบบกราฟผ่านทาง GUIDE ซึ่งรวมถึงการ
วางแบบ (laying out) องค์ประกอบ (components) และโปรแกรมองค์ประกอบเหล่านั้น
เพื่อให้ทำงานตอบสนองต่อผู้ใช้ตามที่ผู้ออกแบบต้องการ

return
มีลักษณะการทำงานดังนี้
- ใช้จบการทำงานของเมธอดนั่นก็คือถ้าโปรแรกมเจอ"return" เมื่อใด
เป็นอันว่าจบการทำงานของเมธอดนั้น
- ถ้าหลัง "return" มีตัวแปรใดตามมาก่อนจบจะส่งค่าตัวแปรนั้น
กลับไปให้เมธอดที่เรียกใช้
- ถ้าเมธอดนั้นมีการระบุ "void" ไว้ที่ Header ด้วยแสดงว่าไม่มีการส่งค่าใดๆกลับ
ดังนั้นก็ไม่จำเป็นต้องใส่ "return"ไว้หลังสุดของเมธอดก็ได้
- จะวาง "return" ไว้ส่วนใดของเมธอดก็ได้ถ้าติงการให้จบการทำงานที่ส่วนนั้น
มักพบการทำงานสัญลักษณ์นี้ในคำสั่งควบคุมหรือคำสั่งเงื่อนไข
- ถ้ามีการส่งค่ากลับชนิกของข้อมูลต้องเป็นชยิดเดียวกันกับที่ระบุไว้ใน
Headerของเมธอดนั้น
- สามารถคำนวณและส่งค่ากลับไปด้วย"return"ได้
- จะส่งค่ากลับด้วย"return"ได้เพียงค่าเดียว หรือตัวแปรเดียวเท่านั้น
ถ้าต้องการส่งมากกว่านี้จะต้องส่งด้วยรูปแบบของออบเจ็กต์

วันอาทิตย์ที่ 19 สิงหาคม พ.ศ. 2550

+++++ Array in class +++++

----- Test -----
+++++ ผล +++++



+++++ Array Homework+++++

----- ข้อ 1 -----


+++++ ผล +++++
กรณีใส่ค่าไม่ถูกต้อง
กรณีใส่ค่าถูกต้อง

----- ข้อ 2 -----

+++++ ผล +++++

วันพุธที่ 15 สิงหาคม พ.ศ. 2550

* * * T E S T M i d t e r m * * *

***** ข้อที่ 1 *****

OUTPUT
กรณีที่ 1 ใส่ค่าถูกต้อง

กรณีที่ 2 ใส่ค่าไม่ถูกต้อง




***** ข้อที่ 2 *****



OUTPUT



***** ข้อที่ 3 *****





OUTPUT


กรณีที่ 1 ใส่ค่าไม่ถูกต้อง


กรณีที่ 2 ใส่ค่าถูกต้อง

* * * LOOP * * *

"รับค่าจาก keyboard แล้วแสดงผล


ลำดับบรรทัด ชื่อ สกุล ตามจำนวนค่าที่รับเข้ามา"




**********LOOP FOR**********












**********LOOP DO WHILE**********











**********LOOP WHILE**********




********** OUT PUT **********


กรณีที่ 1 รับค่ามาถูกต้องเป็นจำนวนเต็มบวก




กรณีที่ 2 รับค่ามาไม่ถูกต้อง



+++++

ชนิดข้อมูลพื้นฐาน <ตัวแปร>

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


-> ตัวแปรที่เป็นเลขทศนิยมสามารถใช้เก็บจำนวนเต็มได้ แต่ไม่สามารถ ใช้เก็บตัวอักษรได้ เป็นต้น


>>> ชนิดของตัวแปรจะถูกระบุเมื่อเราประกาศตัวแปร มีรูปแบบ คือ ชนิดข้อมูล ชื่อตัวแปร ;


-> int count ; ( int = ชนิดข้อมูล , count = ชื่อตัวแปร)



>>> byte : 8 บิต : -128 ถึง 127

short: 16 บิต : -32768 ถึง 32767

int : 32 บิต : -2147483468 ถึง 2147483467

long : 64 บิต : เลขลบเยอะมาก ถึง เลขบวกเยอะมาก

float : 32 บิต : เก็บเลขทศนิยม และเลขยกกำลัง

double : 64 บิต : เก็บเลขทศนิยมและเลขยกกำลังได้ละเอียดกว่า float

boolean : แล้วแต่ JVM จะกำหนด : true หรือ false

char : 16 บิต : ใช้กับอักขระที่มีรหัสตั้งแต่ 0 ถึง 655535

-> ภาษา Java มี type wrapper classes ของชนิดข้อมูลเลขจำนวนเต็มคือ Byte, Short, Integer และ Long คลาสเหล่านี้มีค่าคงที่ ซึ่งกำหนดค่าสูงสุด และต่ำสุดของชนิดข้อมูลนั้นดังนี้
public class IntegerConstants {
public static void main(String args[]) {
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
System.out.println(Short.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
}
}

-> การแสดงค่าข้อมูลของตัวแปรแต่ละชนิด

class SimpleTypes{
public static void main(String args[]){
byte b = 0x55; short s = 0x55ff;
int i = 1000000; long l = 0xffffffffL;
char c = ‘a’; float f = .25f;
double d = .00001234; boolean bool = true;
System.out.println(“byte b = “ + b); System.out.println(“short s = “ + s);
System.out.println(“int I = ” + i); System.out.println(“long = “ + 1);
System.out.println(“char c = “ + c); System.out.println(“float f = f “ + f);
System.out.println(“double d = “ + d);
System.out.println(“Boolean bool = “ + bool);
}
}

credit by : http://sourcecode.in.th/lession.asp?no=13&group=2

www.cs.su.ac.th/~kanawong/courses/517211/slide/517211_lab04.ppt

หนังสือ เขียนโปรแกรม Java เบื้องต้น โดย วรเศรษฐ สุวรรณิก และ ทศพล ธนะทิพานนท์

รัตติยา 484 37539 27 ว่าน

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

ตัวดำเนินการในภาษาจาวา (Operator) < ลำดับการประมวลผล >

ตัวดำเนินการ (Operator) ในการเขียนโปรแกรมภาษาจาวาประกอบด้วย
- ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator)
- ตัวดำเนินการกำหนดค่า (Assignment Operator)
- ตัวดำเนินการเปรียบเทียบ (Equality and Relational Operator)
- ตัวดำเนินการทางตรรกะ (Logical Operator)


----------

ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator)

เป็นตัวดำเนินการที่จำลองมาจากสมการทางคณิตศาสตร์ โดยในภาษาจาวาจะใช้เครื่องหมายต่างๆ

แทนตัวดำเนินการทางคณิตศาสตร์ต่างๆ ดังนี้



ลำดับการทำงานของตัวดำเนินการทางคณิตศาสตร์เมื่อมีตัวดำเนินการหลายตัวอยู่ในสมการเดียวกัน

เช่น int myNumber = 2 + 2 * 5 / 3; ภาษาจาวามีกฏในการเรียงลำดับ ดังนี้
1. คำนวนสมการที่อยู่ภายในวงเล็บก่อนเป็นอันดับแรก โดยเริ่มจากวงเล็บในสุด


2. ถ้าสมการที่เหลือไม่มีวงเล็บแล้ว จะเรียงลำดับดังนี้


2.1 คูณ, หาร และ mod จะถูกคำนวนก่อน โดยมีความสำคัญอยู่ในระดับเดียวกัน ถ้ามีหลายตัว จะเริ่มคำนวนจากซ้ายไปขวา


2.2 บวก และ ลบ จะถูกคำนวนเป็นลำดับถัดมา โดยมีความสำคัญอยู่ในระดับเดียวกัน ถ้ามีหลายตัว จะเริ่มคำนวนจากซ้ายไปขวา


Ex. 1 y = 2 * 5 * 6 + 3 * 4 + 7


ลำดับการทำงานคือ


1. 2 คูณ 5 ( y = 2 * 5 * 6 + 3 * 4 + 7 )


2. 10 คูณ 6 ( y = 10 * 6 + 3 * 4 + 7 )


3. 3 คูณ 4 ( y = 60 + 3 * 4 + 7 )


4. 60 บวก 12 ( y = 60 + 12 + 7 )


5. y = 72 + 7สุดท้าย ผลลัพธ์เท่ากับ 79


----- ถ้า y = 2 * 5 * (6 + 3) * 4 + 7 -----


ลำดับการทำงานคือ


1. 6 บวก 3 (y = 2 * 5 * 9 * 4 + 7)


2. 2 คูณ 5 (y = 10 * 9 * 4 + 7)


3. 10 คูณ 9 (y = 90 * 4 + 7)


4. 90 คูณ 4 (y = 360 + 7)


5. 360 บวก 7 สุดท้ายผลลัพธ์ เท่ากับ 367


Ex. 2 y = 60 - 6 * 5 + ( 8 + ( 10 / 4 % 2 ) ) * 3


ลำดับการทำงานคือ


1. 10 หาร 4 ( y = 60 - 6 * 5 + ( 8 + ( 10 / 4 % 2 ) ) * 3 )


ปล.1 การหารถ้าทั้งสองตัวมีค่าเป็นจำนวนเต็ม (int) จะเป็นการหารแบบตัดจุดทศนิยมทิ้ง 10 หาร 4 จะได้ 2 ไม่ใช่ 2.5 ยกเว้นเสียแต่ตัวใดตัวหนึ่งจะเป็นตัวแปรชนิด double หรือ float จึงจะหารแล้วคิดเศษทศนิยม


2. 2 mod 2 ( y = 60 - 6 * 5 + ( 8 + ( 2 % 2 ) ) * 3 )


ปล.2 การ mod ถ้าการหารนั้นลงตัว คือไม่เหลือเศษหรือเรียกอีกอย่างว่าเหลือเศษศูนย์ ค่าที่ได้จะเป็น 0


3. 8 บวก 0 ( y = 60 - 6 * 5 + ( 8 + 0 ) * 3 )


4. 6 คูณ 5 ( y = 60 - 6 * 5 + 8 * 3 )


5. 8 คูณ 3 ( y = 60 - 30 + 8 * 3 )


6. 60 ลบ 30 ( y = 60 - 30 + 24 )


7. y = 30 + 24สุดท้าย ผลลัพธ์เท่ากับ 54


credit by: http://www.thaiarchaeology.com/viewtopic.php?board=&id=890