1. ที่มา
เรียบเรียงเพื่อเตรียมสอนจาวาสำหรับผู้เริ่มต้น + การโปรแกรมเชิงวัตถุ
หลังผ่าน SCJP1.4 และ SCJP5 จึงรู้ว่าเว็บเพจนี้ให้ข้อมูลขั้นพื้นฐานเท่านั้น
ทำให้มีเรื่องมากมายต้องถูกปรับปรุง .. ให้ตรงตามทฤษฎีของ Java Certified
ที่ท่านเห็นขณะนี้เป็นเพียงความรู้เบื้องต้น(SL-110) ก่อนถึง SCJP(SL-275)
รู้แค่ที่ผมเขียนไว้ ไม่พอไปสอบ SCJP แน่นอน .. ต้องอ่านมากกว่านี้อีกมาก
Sun Microsystems, Inc. (Download : JDK 6)
- J2SE = Java 2 Platform, Standard Edition :Core/Desktop
- J2EE = Java 2 Platform, Enterprise Edition :Enterprise/Server
- J2ME = Java 2 Platform, Micro Edition :Mobile/Wireless
- JRE = Java Runtime Environment
- JVM = Java Virtual Machine
ประวัติ (History) [wikipedia.org]
Java is a programming language originally developed by Sun Microsystems and released in 1995. Java applications are typically compiled to bytecode, although compilation to native machine code is also possible. At runtime, bytecode is usually either interpreted or compiled to native code for execution, although direct hardware execution of bytecode by a Java processor is also possible.
The language, widely considered to be the most popular platform for web development, derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. JavaScript, a scripting language, shares a similar name and has similar syntax, but is not directly related to Java.
คนจาวา ใจดี
+ narisa.com#
+ thaidev.com
+ exzilla.net
+ au.ac.th
+ yakyaihost.net
+ sunncity.com
+ jarticles.com
+ webthaidd.com
+ คนเขียนเกมขาย
+ ศูนย์ฝึกอบรมเนคเทค
+ thai2learn.com
--------------------------------------------------------------------------------
เกมใน thaibg(pass)
ถ้ามีปัญหาให้ยกเลิก jre
ใน advanced ของ IE
--------------------------------------------------------------------------------
2. ความหมาย (?)
ภาษาจาวา (Java Language) คือ ภาษาโปรแกรมที่ถูกพัฒนาโดยบริษัท ซันไมโครซิสเต็มส์ เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP = Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถ้าเป็นคลาสก็จะเป็นต้นแบบของวัตถุสามารถมีเมทธอด (Method) ที่ประกอบด้วยพฤติกรรม (Behavior) รูปพรรณ (Identity) และสถานะ (State)
3. การโปรแกรมเชิงวัตถุ (OOP = Object-Oriented Programming)
การเขียนโปรแกรมที่ประกอบด้วยกลุ่มของวัตถุ(Objects) แต่ละวัตถุจะจัดเป็นกลุ่มในรูปของคลาส ซึ่งแต่ละคลาสอาจมีคุณสมบัติ การปกป้อง (Encapsulation) การสืบทอด (Inheritance) การพ้องรูป (Polymorphism)
แนวคิดของการโปรแกรมเชิงวัตถุ (OOP Concepts) ?
1. การปกป้อง (Encapsulation)
- การรวมกลุ่มของข้อมูล และกลุ่มของโปรแกรม เพื่อการปกป้อง และเลือกตอบสนอง
2. การสืบทอด (Inheritance)
- ยอมให้นำไปใช้ หรือเขียนขึ้นมาทดแทนของเดิม
3. การพ้องรูป (Polymorphism) = Many Shapes
- Overloading มีชื่อโปรแกรมเดียวกัน แต่รายการตัวแปร (Parameter List) ต่างกัน
- Overriding มีชื่อโปรแกรม และตัวแปรเหมือนกัน เพื่อเขียน behavior ขึ้นมาใหม่ ตัวอย่างโปรแกรม
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 class father {
int n_time;
private int to_show (int run_time) {
run_time = n_time + 1;
return run_time;
}
}
class child extends father {
child() {
n_time = 5;
System.out.println(to_show(n_time)); // 7
}
public static void main(String[] a) {
new child();
}
private int to_show (int run_time) {
run_time = n_time + 2;
return run_time;
}
}
Access Level ?
Specifier Class Package Subclass World
public / / / /
protected / / / .
no modifier / / . .
private / . . .
4. กฏของ OOP (Object Oriented Programming)
อาลัน เคร์(Alan Kay) เป็นผู้บุกเบิกแนวความคิดการเขียนโปรแกรมเชิงวัตถุคนหนึ่ง และมีส่วนพัฒนา Small talk ได้เสนอกฎ 5 ข้อของ OOP ไว้ดังนี้
1. ทุกสิ่งเป็นวัตถุ (Everything is an object)
2. โปรแกรมคือกลุ่มของวัตถุที่ส่งข่าวสารบอกกันและกันให้ทำงาน (A program is a bunch(พวง) of objects telling each other what to do by sending messages)
3. แต่ละวัตถุต้องมีหน่วยความจำ และประกอบด้วยวัตถุอื่น (Each object has its own memory made up of other objects)
4. วัตถุต้องจัดอยู่ในประเภทใดประเภทหนึ่ง (Every object has a type)
5. วัตถุประเภทเดียวกันย่อมได้รับข่าวสารเหมือนกัน (All objects of a particular type can receive the same messages) 5. ลักษณะที่ Object หนึ่ง ๆ ต้องมี
Object Model General, UML OOP Coding in Java
State Value of Attribute Value of Variable Value of Variable/Attribute
Behavior Behavior/Action Method Method
Identity Attribute Property Variable/Attribute
6. โครงการจาวาภิวัฒน์ (Javapiwat) (ซิป้าเชียงใหม่)
- หลักสูตร พื้นฐาน ภาษาการโปรแกรมจาวา (SL-110)
- หลักสูตร ภาษาการโปรแกรมจาวา (SL-275) (Java Certification FAQ)
- ตัวอย่างข้อสอบ (JAVA Programmer Quiz)
1. thaiall.com/quiz (ข้อสอบชุดเล็ก เริ่ม 18 กรกฎาคม 2548)
2. thaiall.com/scjp or lampang.thcity.com/scjp (Pactice SCJP)
3. sun.com (Online Quiz for practice เฉลยทันที)
4. wbrogden.com (Applet เหมือนสอบจริง marked ได้)
5. javaranch.com (Text 65 Questions + Online Checking 60 Questions)
6. jchq.net (Text 180 Questions)
7. danchisholm.net (Text 400 Questions)
8. 4tests.com (40 Questions ทำทีละข้อ แล้ว Download ข้อใหม่)
9. รวมเว็บไซต์ข้อสอบโดย SIPA เชียงใหม่
Java Certified Programmer สนับสนุนโดย SIPA สาขาเชียงใหม่
- sipa.or.th, Chiangmai, Java, Animation, Mobile
- รายชื่อผู้ผ่าน Certification 48 มี 144 เรียงคะแนน
- Course CX-310-055 for SCJP 5.0 (sun)
- เตรียมสอบ SCJP 5.0 (MZ)
- เตรียมสอบ SCJP 5.0 (whizlabs.com)
- Slide SCJP 5.0 (Tantalum's Blog Password:ITKMITL)
- Forum for SCJP 5.0 (CX-310-055)
Sun Certified Programmer (Java 2 Platform 1.4)
1. Declarations and Access Control
2. Flow Control, Assertions and Exception Handling
3. Garbage Collection
4. Language Fundamentals
5. Operators and Assignments
6. Overloading, Overriding, Runtime Type & Object Orient.
7. Threads
8. Fundamental Classes in the java.lang package
9. The Collections Framework
Sun Certified Programmer (Java 2 Platform 5.0)
1. Declarations, Initialization and Scoping
2. Flow Control
3. API Contents
4. Concurrency
5. OO Concepts
6. Collections /Generics
7. Fundamentals
ข้อมูลเพิ่มเติมที่ sun.com | janeng.ca ต.ย.ใบรับรอง ของ
Certify Programmer
Score Report
ทราบผลหลังสอบทันที
Click to ... Practice
in thaiall.com website
--------------------------------------------------------------------------------
SCJP
in Applet
beta version
7. เอกสารอ้างอิง Java Language Specification 2.0
อธิบายเป็นบทชัดเจน 18 บท ถูกจัดเรียงเหมือนหนังสือที่อ่านเข้าใจง่าย ตั้งแต่ introduction, grammar ไปถึง syntax เนื้อหาส่วนใหญ่เน้นการอธิบายมากกว่าตัวอย่างโปรแกรม
:: read | download 410 KB API ref. & developer doc.
จำเป็นที่ผู้เรียน Java ต้องอ่านเอกสารชุดนี้ให้เป็น เพราะแต่ละ class มี method ให้ใช้มากมาย และอาจเปลี่ยนไปตามรุ่นของ Compiler สำหรับตัวอย่าง class String มีให้อ่าน และนำไปใช้ได้ทันที
:: read | download 32 MB
8. ตัวอย่างโปรแกรมที่ใช้ Applet
//
import java.applet.*;
import java.awt.*;
public class x extends Applet {
int i = 0;
public void init() { i = 1; repaint(); }
public void start() { i += 10; repaint(); }
public void stop() { i += 100; repaint(); }
public void destroy() { }
public void paint(Graphics g) {
setBackground(new Color(255,255,200));
Font fnt = new Font("Angsana NEW",Font.PLAIN,20);
g.setFont(fnt);
g.drawString(i + "ดูที่นี่",20,20);
}
}
9. Exception java.lang.Object
java.lang.Throwable
java.lang.Error java.lang.Exception
AssertionError, AWTError, CoderMalfunctionError, FactoryConfigurationError, LinkageError, ThreadDeath, TransformerFactoryConfigurationError, VirtualMachineError
--------------------------------------------------------------------------------
Subclas of Exception
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.lang.IndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
--------------------------------------------------------------------------------
class testofexception {
public static void main(String[] args) {
try {
System.out.println(1/0);
}
catch (Exception e) {
System.out.println(e);
}
// java.lang.ArithmeticException: / by zero
}
}
AclNotFoundException, ActivationException, AlreadyBoundException, ApplicationException, AWTException, BackingStoreException, BadLocationException, CertificateException, ClassNotFoundException, CloneNotSupportedException, DataFormatException, DestroyFailedException, ExpandVetoException, FontFormatException, GeneralSecurityException, GSSException, IllegalAccessException, InstantiationException, InterruptedException, IntrospectionException, InvalidMidiDataException, InvalidPreferencesFormatException, InvocationTargetException, IOException, LastOwnerException, LineUnavailableException, MidiUnavailableException, MimeTypeParseException, NamingException, NoninvertibleTransformException, NoSuchFieldException, NoSuchMethodException, NotBoundException, NotOwnerException, ParseException, ParserConfigurationException, PrinterException, PrintException, PrivilegedActionException, PropertyVetoException, RefreshFailedException, RemarshalException, RuntimeException, SAXException, ServerNotActiveException, SQLException, TooManyListenersException, TransformerException, UnsupportedAudioFileException, UnsupportedCallbackException, UnsupportedFlavorException, UnsupportedLookAndFeelException, URISyntaxException, UserException, XAException
10. เจชาร์ป (J#)
เจชาร์ป เป็นผลงานของบริษัทไมโครซอฟท์ แต่มีหลักการ หรือทฤษฎีที่ต่อยอดมาจากภาษาจาวาของบริษัทซัน และเจพลัสพลัส (J++) จึงมีโครงสร้างภาษาเหมือนกัน ดังนั้นผู้ที่เคยศึกษาภาษาจาวาของบริษัทซันมาก่อน จึงสามารถพัฒนาภาษาจาวาด้วยเจชาร์ปได้โดยง่ายภายใต้สภาวแวดล้องของดอทเน็ต แต่ผลการแปลโปรแกรมผ่านเจชาร์ปจะไม่ได้ไบท์โค้ด (Byte Code) หรือแฟ้ม .class เหมือนผลการแปลด้วยตัวแปลภาษาของบริษัทซัน และเจชาร์ปไม่สนับสนุนการพัฒนาแอพเพล็ท (Applet)
นักพัฒนาสามารถใช้งานตัวแปลภาษาในสภาวะแวดล้อมบนวินโดว์ โดยเปิด Microsoft Visual Studio และสร้าง VJ# Console Application เมื่อจัดเก็บโครงงาน (Project) จะสร้างห้อง C:\Documents and Settings \admin \My Documents \Visual Studio 2005 \Projects \ConsoleApplication1 และแฟ้มที่ถูกสร้างขึ้น คือ Program.jsl
แฟ้มหลักสำหรับการเป็นตัวแปลภาษา คือ แฟ้ม vjc.exe (Visual Java Compiler) เก็บอยู่ในห้อง C:\WINDOWS.0 \Microsoft.NET \Framework \v2.0.50727 หากใช้ตัวแปลภาษาตัวนี้เพื่อแปลแฟ้มรหัสต้นฉบับชื่อ Program.jsl ผ่าน DOS Command ในสภาวะแวดล้อมที่เหมาะสมก็จะทำได้ ซึ่งผลจากการแปลแฟ้ม Program.jsl จะได้แฟ้ม Program.exe มีขนาด 4096 Byte มิใช่แฟ้ม Program.class เหมือนภาษาจาวาของบริษัทซัน
ตัวอย่างการแปล
DOS> vjc x.jsl
DOS> vjc x1.jsl x2.jsl /out:app.exe
Google Search
Custom Search
ผลการค้นหา
วันอังคารที่ 10 กุมภาพันธ์ พ.ศ. 2552
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น