วันจันทร์ที่ 17 กันยายน พ.ศ. 2550
JAVA IN CLASS 24/8/2007
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 Homework+++++


+++++ ผล +++++
กรณีใส่ค่าถูกต้อง
----- ข้อ 2 -----



วันพุธที่ 15 สิงหาคม พ.ศ. 2550
* * * T E S T M i d t e r m * * *

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

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

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



OUTPUT

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



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

กรณีที่ 2 ใส่ค่าถูกต้อง
* * * LOOP * * *
ชนิดข้อมูลพื้นฐาน <ตัวแปร>
-> ตัวแปรที่เป็นเลขทศนิยมสามารถใช้เก็บจำนวนเต็มได้ แต่ไม่สามารถ ใช้เก็บตัวอักษรได้ เป็นต้น
>>> ชนิดของตัวแปรจะถูกระบุเมื่อเราประกาศตัวแปร มีรูปแบบ คือ ชนิดข้อมูล ชื่อตัวแปร ;
-> 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) < ลำดับการประมวลผล >

ลำดับการทำงานของตัวดำเนินการทางคณิตศาสตร์เมื่อมีตัวดำเนินการหลายตัวอยู่ในสมการเดียวกัน
เช่น 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
วันเสาร์ที่ 28 กรกฎาคม พ.ศ. 2550
6-7-2007 In class JAVA
(),Math.celi(),Math.random(),Math.pow()
ข้อแตกต่างระหว่าง Math.round() ,Math.ceil()และMath.floor() คือ
Math.round() //ปัดเศษขึ้นลง --->ได้ผลลัพธ์เป็น int
Math.ceil() //ปัดเศษขึ้น--->ได้ผลลัพธ์เป็น Double
Math.floor() //ปัดเศษลง --->ได้ผลลัพธ์เป็น Double
รับข้อมูลทางคีบอร์ด คำนวนพื้นที่วงกลม
import java.util.*;
public class circle{ public static void main(String[]args){
Scanner in=new Scanner(System.in);
System.out.print("input radian: ");
int x=in.nextInt();
Double y ;
y = Math.PI*x*x;
System.out.println("Area :"+y );
}
}
ตัวอย่างที่ 2
public class circle{ public static void main(String[]args){
System.out.println(Math.round(7.61));
System.out.println(Math.round(7.5));
System.out.println(Math.round(7.4));
System.out.println(Math.round(8.2));
System.out.println(Math.round(8.215));
System.out.println(Math.floor(8.9));
System.out.println(Math.ceil(9.5));
System.out.println(Math.ceil(9.9));
System.out.println(Math.ceil(9.215));
}
ตัวอย่างที่ 3
public class circle{
public static void main(String[]args){
float rand1=(float)Math.random();
float rand2=rand1*10;
int rand3=(int)Math.round(rand2);
System.out.println("Basic random is "+rand1);
System.out.println("Bigger range random is "+rand2);
System.out.println("Rounded up random is "+rand3);
int rand4=(int)Math.ceil(Math.random()*10);
System.out.println("Another Ceiling random is "+rand4);
}
}
อาจารย์แนะนำเวป http://java.sun.com/javase/6/docs/api/java/lang/Math.html
import java.util.*;
public class score1{
public static void main(String[]arg){
Scanner in=new Scanner(System.in);
System.out.print("Input score1 : ");
Double x=in.nextDouble();
System.out.print("Input score2 : ");
Double y=in.nextDouble();
System.out.print("Input score3 : ");
Double z=in.nextDouble();
Double sum;
sum=x+y+z;
if(sum>=50){
System.out.println("ผ่านและเรียนวิชาใหม่");
System.out.println("Take new Couse");
}
else {
System.out.println("ไม่ผ่าน");
System.out.println("เรียนซ้ำ");
}
System.out.println("Bye Bye");
}
}
credit: http://giffykids.spaces.live.com/
วันพฤหัสบดีที่ 5 กรกฎาคม พ.ศ. 2550
JAVA : 29-6-2007
Integer Type Wrapper สำหรับจำนวนเต็ม
*public Integer(String s)
*public static String toString(int I, int radix)
*public static int parseInt(String s, int radix)
*public static Integer valueOf(Strings, int radix)
// radix คือระบบเลขฐาน เช่น 2, 8 10, 16 โดยปกติจะเป็นฐานสิบ
Double สำหรับจำนวนจริง
*public Double(String s)
*public static String toString(int I, int radix)
*public static Double valueOf(Strings, int radix)
// radix คือระบบเลขฐาน เช่น 2, 8 10, 16 โดยปกติจะเป็นฐานสิบ





