SlideShare une entreprise Scribd logo
1  sur  26
เบื้องต้นเกี่ยวกับภาษาจาวา
คำจำกัดควำมของโปรแกรม
 ชุดคำสั่งที่ผู้ใช้งำนเขียนขึ้นเพื่อให้เครื่องคำนวณ (Computer)
ทำงำนตำมลำดับขั้นตอนที่ผู้ใช้ต้องกำร
 ชุดคำสั่งหรือภำษำเขียนที่ใกล้เคียงกับกำรทำงำนของ
เครื่องคอมพิวเตอร์มำกที่สุด คือ ภำษำเครื่อง (Machine
Language)
 ภำษำระดับสูง (High Level Language) ที่ใกล้เคียงกับ
ภำษำที่มนุษย์ใช้ในชีวิตประจำวัน ได้แก่ Assembly,
COBOL, Pascal, C, C++, Java ฯลฯ ซึ่งในแต่ละ
ภำษำต้องมีตัวแปลภำษำ (Translator) เพื่อแปลงชุดคำสั่งเป็น
ภำษำเครื่องอีกรอบหนึ่ง
 ตัวแปลภำษำดังกล่ำวมี 2 สองประเภท คือ คอมไพเลอร์
(Compiler) และอินเทอร์พรีเตอร์ (Interpreter)
พัฒนำกำรของภำษำจำวำ
 ปลำยปี ค.ศ. 1995
 ผู้คิดต้นแบบ คือ James Gosling และคณะ จำกบริษัท
Sun Microsystems
 วัตถุประสงค์เดิม คือ Oak สำหรับกำรเขียนโปรแกรมเพื่อฝังตัว
ในอุปกรณ์อิเล็กทรอนิกส์
 ผล คือ ภำษำสำหรับเขียนโปรแกรม (Application
Programming) ซึ่งเป็นลักษณะของโปรแกรมเชิงวัตถุ
(Object Oriented Programming) ซึ่งสำมำรถใช้
งำนบนเว็บได้ด้วย
 Java 2 SDK Standard Edition หรือ J2SDK
ประกอบด้วย features ต่ำง ๆ Class Libraries หรือที่
เรียกว่ำ Application Programmer Interfaces
หรือ APIs
ภำษำเชิงกระบวนคำสั่ง
(Procedural Programming)
 กำหนดตัวแปร (Variable) เพื่อจองเนื้ อที่ในหน่วยควำมจำ
และเตรียมเนื้ อที่ในกำรจัดเก็บข้อมูล
 เขียนขั้นตอนตำมลำดับ เพื่อสั่งให้คอมพิวเตอร์ทำงำนตำมที่
กำหนด ซึ่งลำดับในกำรทำงำนจะมีกำรจัดหมวดหมู่ในกำรทำงำน
เพื่อให้ได้ผลลัพธ์ที่ต้องกำรนำมำรวมในหมู่เดียวกัน โดยอำจส่ง
ค่ำตัวแปรไปให้และส่งข้อมูลคืนเมื่อกำรคำนวณเรียบร้อย
กำรเขียนโปรแกรมเชิงวัตถุ
(Objected Oriented Programming)
 ผู้พัฒนำต้องมีวิสัยทัศน์เชิงวัตถุ เพื่อหำควำมต่ำงของวัตถุแต่ละอย่ำงหรือ
คุณลักษณะประจำ (Attribute) ออกมำ ขณะเดียวกันต้องพิจำรณำ
พฤติกรรม (Method) ของวัตถุ และนำมำเขียนเป็นคลำส
(Class) ดังนั้น คลำสจะเป็นแม่แบบหรือพิมพ์เขียวในกำรสร้ำงวัตถุ
(Object) หรือ Instance ให้เกิดขึ้นและมีชีวิตในระบบ โดย
Object ที่สร้ำงจะมีรำยละเอียดที่ต่ำงกันไป
 ตัวอย่ำง คลำสของรถ ตัวแปรหรือคุณลักษณะที่ใช้อธิบำยควำมต่ำงของ
รถแต่ละคัน คือ ยี่ห้อ เช่น โตโยต้ำ, ฮอนด้ำ, นิสสัน เป็นต้น สีของรถ
หรือจำนวนคนที่สำมำรถโดยสำรได้ ก็เป็นอีกตัวแปรหนึ่งที่ใช้อธิบำย
ควำมต่ำงของรถ เป็นต้น ส่วนพฤติกรรมของรถ เช่น กำรขับเคลื่อนไป
ข้ำงหน้ำ ถอยหลัง หรือหยุด เป็นต้น จะถูกรวบรวมเป็นเสมือนพิมพ์เขียว
ในกำรผลิตรถ โดยรถแต่ละคันที่ผลิตออกมำเรียกว่ำเป็น Instance
ซึ่งจะมีลักษณะประจำ (Attribute) และพฤติกรรม (Method)
หลักที่สนับสนุนกำรโปรแกรมเชิงวัตถุ
 ควำมสำมำรถในกำรสืบทอด (Inheritance) เป็นกำรสืบทอด
คุณสมบัติของคลำส โดยสร้ำงคลำสหลักซึ่งมีคุณสมบัติต่ำง ๆ
โดยรวมที่คลำสอื่นจำเป็นต้องมี จำกนั้นจึงสร้ำงคลำสอื่นขึ้นมำ เพื่อ
รับกำรถ่ำยทอดคุณสมบัติทั้งหมดจำกคลำสหลักโดยอัตโนมัติ โดย
ไม่ต้องสร้ำงขึ้นใหม่ และสำมำรถสร้ำงคุณสมบัติอื่น ๆ นอกจำกคลำส
หลักขึ้นได้
 ควำมสำมำรถในกำรเก็บซ่อน (Encapsulation) เป็นกำร
ซ่อนส่วนของกำรทำงำนภำยในที่ไม่เกี่ยวข้องกับภำยนอกไว้โดยผ่ำน
คลำส เพื่อไม่ให้ผู้นำคลำสไปใช้เห็น หรือทรำบรำยละเอียดขั้นตอน
กำรทำงำนของคลำส เพื่อไม่ให้มีกำรแก้ไขเปลี่ยนแปลงส่วนที่ซ่อนไว้
ผู้นำคลำสไปใช้จะดัดแปลงได้เฉพำะส่วนที่อนุญำตเท่ำนั้น
Superclass
attribute
method()
Subclass
extends
Quadruped
+ food
+ location
+ eat()
+ sleep()
+ roar()
Dog Cat Tiger
extends
 ควำมสำมำรถในกำรแปลงร่ำง (Polymorphism) :- ไม่
จำเป็นต้องสืบทอดคุณสมบัติทุกอย่ำงเสมอไป เนื่องจำกกำรแก้ไข
ลำดับกำรทำงำนของฟังก์ชันเดิม ทำให้เสียเวลำในกำรตำมแก้ไข
ทำงที่ดี คือ อนุญำตให้มีกำรเขียนชุดคำสั่งใหม่ภำยใต้ชื่อฟังก์ชัน
เดิมที่มี ตัวอย่ำงเช่น กำร Save To File ของ Memo จะ
ได้ Text File ที่เก็บข้อควำมนั้น ขณะที่ Save To File
ของ Image จะได้ไฟล์รูปภำพ
 ควำมสำมำรถในกำรจัดโครงสร้ำงแบบเชิงนำม (Abstract)
ข้อมูลแบบเชิงนำม คือ ข้อมูลหรือกระบวนกำรที่ยังไม่เกิดขึ้น กำร
สร้ำงคลำสแบบเชิงนำมเป็นวิธีหนึ่งที่ช่วยไม่ให้กำรพัฒนำระบบงำน
ต้องหยุดชะงัก เนื่องจำกข้อมูลอำจจะยังไม่เกิด หรือยังไม่สำมำรถ
อธิบำยได้ว่ำ ขั้นตอนกำรทำงำนจะเป็นอย่ำงไร
ข้อดีของกำรพัฒนำโปรแกรมด้วยจำวำ
 ง่ำย เนื่องจำกเลียนแบบภำษำ C/C++ ไม่มีคำสั่ง GOTO และ
pointer
 เป็นภำษำเชิงวัตถุที่สมบูรณ์
 มีกำรป้ องกันกำรผิดพลำด (Robust) กำรกำจัดสิ่งที่ไม่ใช้
(Garbage Collection) แบบอัตโนมัติ และกำรจัดกำรควำม
ผิดพลำด (Exception Handling) แบบอัตโนมัติ
 มีควำมปลอดภัยในกำรที่จะประมวลผล (Secure) โดยไม่ทำลำย
ทรัพยำกรของเครื่อง
 Multithread ใน java.lang :- ควำมสำมำรถในกำรประมวลผล
หลำยงำนพร้อมกัน
 Architecture neutral and portable :- สำมำรถ
เคลื่อนย้ำยได้ง่ำย รวมทั้งใช้งำนในสภำวะแวดล้อมที่ต่ำงกัน และใช้กับ
คอมพิวเตอร์ได้ทุกระบบ (Multi Platform) โดยไม่ต้องปรับแต่ง
 กำรเชื่อมโยงแบบพลวัต (Dynamic Link) และกำรประมวลผลแบบ
กระจำย (Distributed) ในระบบเครือข่ำย
Java Platform
Hardware
Java Virtual Machine
(Java VM)
Java API
(Java Application Programming
Interface)
โปรแกรมภำษำจำวำ
ข้อกำหนดเบื้องต้นในกำรเขียนโปรแกรม
 แต่ละประโยคต้องจบด้วยเครื่องหมำย ; เสมอ
 สัญลักษณ์อื่นที่ใช้แยกข้อควำมหรือคำสั่งอีก เช่น
 ( ) ใช้สำหรับแยกลำดับในกำรประมวลผล
 { } ใช้สำหรับแยกชุดคำสั่ง หรือรวมชุดคำสั่งเป็นบล็อก
 , ให้ควำมต่อเนื่องในกำรทำงำน เช่น กำรกำหนดตัวแปรที่มี
ประเภทข้อมูลแบบเดียวกัน
 . ใช้ในกำรแยก package กับ class หรือ object
กับ method
 หลักเกณฑ์กำรตั้งชื่อต่ำง ๆ เช่น ชื่อ class, ชื่อ data,
ชื่อ method และชื่อตัวแปร
 ประกอบด้วยตัวอักษรภำษำอังกฤษ ตัวเลข และสัญลักษณ์ _ หรือ $
เช่น age, int2float, _name$ เป็นต้น
 ควำมยำวไม่ควรเกิน 65535 ตัวอักษร
 ไม่ควรใช้ตัวเลขเป็นตัวแรก เช่น 101database, 2name
 ไม่ควรใช้ช่องว่ำง (spaces) หรือ . (periods)
 ตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ถือว่ำต่ำงกัน เช่น Count,
count และ CoUnT ถือว่ำเป็นคนละชื่อ
 ต้องไม่ตรงกับคำศัพท์สงวน (Key Word) ในภำษำจำวำ
 ชื่อ class ควรขึ้นต้นด้วยตัวพิมพ์ใหญ่ ส่วนที่เหลือเป็นตัวเล็ก
 ชื่อ data หรือตัวแปรควรเป็นตัวพิมพ์เล็กทั้งหมด
 ชื่อค่ำคงที่ควรเป็นตัวพิมพ์ใหญ่ทั้งหมด
 ชื่อ method คำแรกควรเป็นตัวเล็กทั้งหมด คำถัดไปตัวแรกควรเป็น
ตัวพิมพ์ใหญ่ ที่เหลือจึงเป็นตัวเล็ก เช่น setCount, testFirst
เป็นต้น
คำศัพท์สงวน (Key Word) ในภำษำจำวำ
abstract boolean break byte case
catch char class const continue
default do double else extends
final finally float for goto
if implements import instanceof int
interface long native new package
private protected public return short
static super switch synchronized this
throw throws transient try void
volatile while
 กำรเขียนหมำยเหตุ (Comment) สำมำรถทำได้ 3 รูปแบบ คือ
//single line comment
/* multiple line comments
…*/
/** This is a javadoc comment*/
 โปรแกรมที่สร้ำงจำกจำวำต้องสำมำรถสร้ำงได้อย่ำงน้อยหนึ่งคลำสโดยมี
รูปแบบโครงสร้ำงดังนี้
[<access_specifier>] class <class_name>
{ //data members
//methods }
 access_specifier :- ระดับกำรเข้ำถึงข้อมูล เช่น public และ
private
 public หมำยถึง ระดับกำรเข้ำถึงข้อมูลที่ไม่มีข้อจำกัดใดๆ
 private หมำยถึง ระดับกำรเข้ำถึงข้อมูลสำหรับกำรใช้งำนในคลำส
 ในหนึ่งโปรแกรมต้องมีเพียงหนึ่งคลำสที่มีชื่อเดียวกับโปรแกรมและต้องเป็น
ชนิด public เสมอ
 data members เป็นส่วนประกอบหนึ่งของคลำส ใช้
สำหรับกำหนดชื่อและชนิดของตัวแปรที่ใช้สำหรับเก็บข้อมูล
โดยมีรูปแบบดังนี้
[<access_specifier>] [<modifier>]
<datatype> <variable_name>
 modifier เป็นกำรกำหนดคุณลักษณะพิเศษในกำรใช้งำน
ตัวแปรและ method เช่น static และ final
 static หำก Data ใดนำหน้ำด้วยคำศัพท์สงวน static
แล้ว Data นั้น จะถูกโหลดลงในหน่วยควำมจำและพร้อม
ใช้งำนทันที เมื่อมีกำรอ้ำงถึงตำมข้อกำหนดของระดับกำร
เข้ำถึง (Accessibility)
 final หำก Data ใดนำหน้ำด้วยคำศัพท์สงวน final แล้ว
Data นั้นใช้สำหรับเก็บข้อมูลค่ำคงที่ (Constant) ซึ่ง
ไม่สำมำรถเปลี่ยนค่ำได้
 methods มีรูปแบบดังนี้
[<access_specifier>] [<modifier>] < return_type >
<method_name> ([argument_list])
{ //Statements }
 return_type :- ชนิดของข้อมูลที่ถูกส่งคืนหลังสิ้นสุดกำรทำงำน
ของ method
 argument_list :- ช่องทำงในกำรผ่ำนข้อมูลเพื่อส่งให้
method ใช้ในกำรทำงำน
 Statement :- คำสั่งควบคุมกำรทำงำนของนิพจน์ เพื่อกำหนด
หลักกำรและวิธีกำรประมวลผลภำยใน method
 ในหนึ่งโปรแกรมจะต้องมี Method ที่ชื่อ main เสมอ โดย
Method main จะเป็น Method แรกที่โปรแกรมเรียกใช้ ซึ่ง
ในหนึ่งโปรแกรมจะต้องมีเพียง 1 main Method เท่ำนั้น ซึ่ง
จะต้องมีค่ำ Accessibility เป็น static เสมอ และเนื่องจำกไม่มี
กำรส่งค่ำกลับ จึงใช้ Accessibility void ร่วมด้วยเสมอ
 ท้ำยชื่อของ Method ต้องตำมด้วยเครื่องหมำย ( ) หำก
ไม่มีกำรส่งค่ำพำรำมิเตอร์ใดไปด้วย หำกมีกำรส่งค่ำ จะต้องอยู่
ในรูปแบบใดแบบหนึ่งเสมอ เช่น (String args[ ]) หรือ
(String[ ] args)
 กำรแสดงผลทำงจอภำพสำมำรถทำด้วย method ที่ชื่อว่ำ
println ซึ่งอยู่ใน System.out โดยคำสั่งนี้ ต้องกำร
ข้อมูลที่เป็น String เพื่อนำไปแสดงบนจอภำพ แต่ทั้งนี้ อำจ
ส่งข้อมูลที่เป็น Integer ร่วมด้วยได้โดยใช้เครื่องหมำย +
ข้อมูลทั้งหมดจะถูกแปลงเป็น String โดยอัตโนมัติ
ตัวอย่ำงโปรแกรม
 โปรแกรมที่เขียนแบบ Applet ต้องมีกำรเพิ่มคลำสต่ำง ๆ
โดยเฉพำะ java.applet.* และ java.awt.Graphics
 Package หรือ Java Class Library เป็นที่เก็บ
รวบรวม Class ต่ำง ๆ แต่ละ Package จะถูกเก็บแยกไว้
ในแต่ละ Directory และแต่ละ Package จะเก็บ
Class ต่ำง ๆ แยกไว้ในแต่ละ Directory เช่นเดียวกัน ใน
แต่ละ Class จะมี methods ให้เลือกนำมำใช้ให้เหมำะกับ
งำนที่ต้องกำรโดยไม่ต้องเขียนขึ้นมำเอง
 Class ใน Package หนึ่งสำมำรถเรียกใช้ Class อื่นใน
Package เดียวกันได้ แต่จะเรียกใช้ Class ที่อยู่ต่ำง
Package กันได้หรือไม่ขึ้นอยู่กับกำรกำหนดค่ำ
Accessible
ข้อกำหนดเพิ่มเติมในกำรเขียน Java Applet
 กำรเรียกใช้ Package สำมำรถทำได้ด้วยคำสั่ง import ซึ่ง
ต้องวำงไว้ตอนแรกสุดของโปรแกรมเสมอ เพื่อให้ Compiler
นำ Package ต่ำง ๆ ที่อ้ำงถึงมำเชื่อมโยงเข้ำกับโปรแกรม
ก่อนที่จะมำเรียกใช้ methods ต่ำง ๆ ภำยในโปรแกรม
 โปรแกรม Applet ต้องเขียนในรูป
public class hello2 extends Applet
ซึ่งเป็นกำรสืบทอดคุณสมบัติของคลำส Applet
 กำรแสดงข้อมูลบนจอภำพ ต้องใช้คำสั่ง drawString ซึ่งเป็น
method ของคลำส Graphics
ตัวอย่ำงกำรเขียน Java Applet
import java.applet.*;
import java.awt.Graphics;
public class hello2 extends Applet
{
public void paint(Graphics g)
{
g.drawString("Hello World!",20,60);
}
}
ตัวอย่ำง Standard Package ในภำษำ Java
Package Class ที่เป็นส่วนประกอบ
java.applet Class ที่จำเป็นต่อกำรสร้ำง Applet
java.awt Class ทีใช้ประโยชน์ในกำรสร้ำง GUI
java.io Class สำหรับปฏิบัติงำนด้ำน I/O
java.lang Class พื้นฐำนของ Java ไม่ต้อง import
java.net Class ที่ใช้ติดต่อกับเครือข่ำย ใช้ควบคู่กับ java.io
java.util Class ที่เป็น Utility เช่น กำรเข้ำรหัส กำรถอดรหัส
java.awt.images Class ที่ใช้ในกำรสร้ำงและทำงำนกับรูปภำพ
java.swing Class ที่ใช้สร้ำง Swing ช่วยให้ทำงำนง่ำยกว่ำ java.awt

Contenu connexe

Tendances (6)

พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File Operations
 
Javacentrix com chap05-0
Javacentrix com chap05-0Javacentrix com chap05-0
Javacentrix com chap05-0
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
lesson2 JSP
lesson2 JSPlesson2 JSP
lesson2 JSP
 
lesson3 JSP
lesson3 JSPlesson3 JSP
lesson3 JSP
 

En vedette

ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์
skiats
 
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
skiats
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
skiats
 
การวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึมการวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึม
guestc3a629f6
 
อุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผลอุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผล
skiats
 
การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้
skiats
 
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
Saranyu Srisrontong
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
skiats
 
การ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคนการ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคน
skiats
 
Lesson1 programing concept
Lesson1 programing conceptLesson1 programing concept
Lesson1 programing concept
skiats
 
Hashing function
Hashing functionHashing function
Hashing function
Meaw Sukee
 
Algorithm flow chart
Algorithm flow chartAlgorithm flow chart
Algorithm flow chart
bbgunner47
 
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
skiats
 
DFD ภาษาอังกฤษ
DFD ภาษาอังกฤษDFD ภาษาอังกฤษ
DFD ภาษาอังกฤษ
skiats
 
01 ความรู้เกี่ยวกับการ web programming
01 ความรู้เกี่ยวกับการ web programming01 ความรู้เกี่ยวกับการ web programming
01 ความรู้เกี่ยวกับการ web programming
supatra178
 
การรวบรวมความต้องการ
การรวบรวมความต้องการการรวบรวมความต้องการ
การรวบรวมความต้องการ
skiats
 

En vedette (20)

ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์
 
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
 
6 - functions
6  - functions6  - functions
6 - functions
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
 
การวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึมการวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึม
 
อุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผลอุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผล
 
การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้
 
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
 
การ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคนการ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคน
 
Lesson1 programing concept
Lesson1 programing conceptLesson1 programing concept
Lesson1 programing concept
 
Linklist
LinklistLinklist
Linklist
 
Hashing function
Hashing functionHashing function
Hashing function
 
Algorithm flow chart
Algorithm flow chartAlgorithm flow chart
Algorithm flow chart
 
Search
SearchSearch
Search
 
Sorting
SortingSorting
Sorting
 
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
 
DFD ภาษาอังกฤษ
DFD ภาษาอังกฤษDFD ภาษาอังกฤษ
DFD ภาษาอังกฤษ
 
01 ความรู้เกี่ยวกับการ web programming
01 ความรู้เกี่ยวกับการ web programming01 ความรู้เกี่ยวกับการ web programming
01 ความรู้เกี่ยวกับการ web programming
 
การรวบรวมความต้องการ
การรวบรวมความต้องการการรวบรวมความต้องการ
การรวบรวมความต้องการ
 

Similaire à Computer Programming 1

ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
Nattapon
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญา
winewic199
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์
Sarocha Makranit
 

Similaire à Computer Programming 1 (20)

โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซี
 
งานจารทรงศักดิ์
งานจารทรงศักดิ์งานจารทรงศักดิ์
งานจารทรงศักดิ์
 
งานกลุ่มมคอม
งานกลุ่มมคอมงานกลุ่มมคอม
งานกลุ่มมคอม
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซี
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญา
 
Software
SoftwareSoftware
Software
 
แบบทดสอบ O-net
แบบทดสอบ O-net แบบทดสอบ O-net
แบบทดสอบ O-net
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
02 กิตติพงศ์-ปวช.3-9
02 กิตติพงศ์-ปวช.3-902 กิตติพงศ์-ปวช.3-9
02 กิตติพงศ์-ปวช.3-9
 
Java intro
Java introJava intro
Java intro
 
Doc1
Doc1Doc1
Doc1
 
Chapter1
Chapter1Chapter1
Chapter1
 
Chapter3
Chapter3Chapter3
Chapter3
 
66
6666
66
 

Plus de Saranyu Srisrontong (11)

Computer Programming 4
Computer Programming 4Computer Programming 4
Computer Programming 4
 
Computer Programming 3
Computer Programming 3 Computer Programming 3
Computer Programming 3
 
Computer Programming 2.2
Computer Programming 2.2Computer Programming 2.2
Computer Programming 2.2
 
Computer Programming 2.1
Computer Programming 2.1Computer Programming 2.1
Computer Programming 2.1
 
Ac current46
Ac current46Ac current46
Ac current46
 
electric potential
electric potentialelectric potential
electric potential
 
พลังงานไฟฟ้า
พลังงานไฟฟ้าพลังงานไฟฟ้า
พลังงานไฟฟ้า
 
Physics2 1
Physics2 1Physics2 1
Physics2 1
 
Intellec.pro for final exam
Intellec.pro for final examIntellec.pro for final exam
Intellec.pro for final exam
 
Network fundamental
Network fundamentalNetwork fundamental
Network fundamental
 
Computer systemarchitecture
Computer systemarchitectureComputer systemarchitecture
Computer systemarchitecture
 

Computer Programming 1

  • 2. คำจำกัดควำมของโปรแกรม  ชุดคำสั่งที่ผู้ใช้งำนเขียนขึ้นเพื่อให้เครื่องคำนวณ (Computer) ทำงำนตำมลำดับขั้นตอนที่ผู้ใช้ต้องกำร  ชุดคำสั่งหรือภำษำเขียนที่ใกล้เคียงกับกำรทำงำนของ เครื่องคอมพิวเตอร์มำกที่สุด คือ ภำษำเครื่อง (Machine Language)  ภำษำระดับสูง (High Level Language) ที่ใกล้เคียงกับ ภำษำที่มนุษย์ใช้ในชีวิตประจำวัน ได้แก่ Assembly, COBOL, Pascal, C, C++, Java ฯลฯ ซึ่งในแต่ละ ภำษำต้องมีตัวแปลภำษำ (Translator) เพื่อแปลงชุดคำสั่งเป็น ภำษำเครื่องอีกรอบหนึ่ง  ตัวแปลภำษำดังกล่ำวมี 2 สองประเภท คือ คอมไพเลอร์ (Compiler) และอินเทอร์พรีเตอร์ (Interpreter)
  • 3. พัฒนำกำรของภำษำจำวำ  ปลำยปี ค.ศ. 1995  ผู้คิดต้นแบบ คือ James Gosling และคณะ จำกบริษัท Sun Microsystems  วัตถุประสงค์เดิม คือ Oak สำหรับกำรเขียนโปรแกรมเพื่อฝังตัว ในอุปกรณ์อิเล็กทรอนิกส์  ผล คือ ภำษำสำหรับเขียนโปรแกรม (Application Programming) ซึ่งเป็นลักษณะของโปรแกรมเชิงวัตถุ (Object Oriented Programming) ซึ่งสำมำรถใช้ งำนบนเว็บได้ด้วย  Java 2 SDK Standard Edition หรือ J2SDK ประกอบด้วย features ต่ำง ๆ Class Libraries หรือที่ เรียกว่ำ Application Programmer Interfaces หรือ APIs
  • 4. ภำษำเชิงกระบวนคำสั่ง (Procedural Programming)  กำหนดตัวแปร (Variable) เพื่อจองเนื้ อที่ในหน่วยควำมจำ และเตรียมเนื้ อที่ในกำรจัดเก็บข้อมูล  เขียนขั้นตอนตำมลำดับ เพื่อสั่งให้คอมพิวเตอร์ทำงำนตำมที่ กำหนด ซึ่งลำดับในกำรทำงำนจะมีกำรจัดหมวดหมู่ในกำรทำงำน เพื่อให้ได้ผลลัพธ์ที่ต้องกำรนำมำรวมในหมู่เดียวกัน โดยอำจส่ง ค่ำตัวแปรไปให้และส่งข้อมูลคืนเมื่อกำรคำนวณเรียบร้อย
  • 5. กำรเขียนโปรแกรมเชิงวัตถุ (Objected Oriented Programming)  ผู้พัฒนำต้องมีวิสัยทัศน์เชิงวัตถุ เพื่อหำควำมต่ำงของวัตถุแต่ละอย่ำงหรือ คุณลักษณะประจำ (Attribute) ออกมำ ขณะเดียวกันต้องพิจำรณำ พฤติกรรม (Method) ของวัตถุ และนำมำเขียนเป็นคลำส (Class) ดังนั้น คลำสจะเป็นแม่แบบหรือพิมพ์เขียวในกำรสร้ำงวัตถุ (Object) หรือ Instance ให้เกิดขึ้นและมีชีวิตในระบบ โดย Object ที่สร้ำงจะมีรำยละเอียดที่ต่ำงกันไป  ตัวอย่ำง คลำสของรถ ตัวแปรหรือคุณลักษณะที่ใช้อธิบำยควำมต่ำงของ รถแต่ละคัน คือ ยี่ห้อ เช่น โตโยต้ำ, ฮอนด้ำ, นิสสัน เป็นต้น สีของรถ หรือจำนวนคนที่สำมำรถโดยสำรได้ ก็เป็นอีกตัวแปรหนึ่งที่ใช้อธิบำย ควำมต่ำงของรถ เป็นต้น ส่วนพฤติกรรมของรถ เช่น กำรขับเคลื่อนไป ข้ำงหน้ำ ถอยหลัง หรือหยุด เป็นต้น จะถูกรวบรวมเป็นเสมือนพิมพ์เขียว ในกำรผลิตรถ โดยรถแต่ละคันที่ผลิตออกมำเรียกว่ำเป็น Instance ซึ่งจะมีลักษณะประจำ (Attribute) และพฤติกรรม (Method)
  • 6.
  • 7. หลักที่สนับสนุนกำรโปรแกรมเชิงวัตถุ  ควำมสำมำรถในกำรสืบทอด (Inheritance) เป็นกำรสืบทอด คุณสมบัติของคลำส โดยสร้ำงคลำสหลักซึ่งมีคุณสมบัติต่ำง ๆ โดยรวมที่คลำสอื่นจำเป็นต้องมี จำกนั้นจึงสร้ำงคลำสอื่นขึ้นมำ เพื่อ รับกำรถ่ำยทอดคุณสมบัติทั้งหมดจำกคลำสหลักโดยอัตโนมัติ โดย ไม่ต้องสร้ำงขึ้นใหม่ และสำมำรถสร้ำงคุณสมบัติอื่น ๆ นอกจำกคลำส หลักขึ้นได้  ควำมสำมำรถในกำรเก็บซ่อน (Encapsulation) เป็นกำร ซ่อนส่วนของกำรทำงำนภำยในที่ไม่เกี่ยวข้องกับภำยนอกไว้โดยผ่ำน คลำส เพื่อไม่ให้ผู้นำคลำสไปใช้เห็น หรือทรำบรำยละเอียดขั้นตอน กำรทำงำนของคลำส เพื่อไม่ให้มีกำรแก้ไขเปลี่ยนแปลงส่วนที่ซ่อนไว้ ผู้นำคลำสไปใช้จะดัดแปลงได้เฉพำะส่วนที่อนุญำตเท่ำนั้น
  • 8.
  • 10.  ควำมสำมำรถในกำรแปลงร่ำง (Polymorphism) :- ไม่ จำเป็นต้องสืบทอดคุณสมบัติทุกอย่ำงเสมอไป เนื่องจำกกำรแก้ไข ลำดับกำรทำงำนของฟังก์ชันเดิม ทำให้เสียเวลำในกำรตำมแก้ไข ทำงที่ดี คือ อนุญำตให้มีกำรเขียนชุดคำสั่งใหม่ภำยใต้ชื่อฟังก์ชัน เดิมที่มี ตัวอย่ำงเช่น กำร Save To File ของ Memo จะ ได้ Text File ที่เก็บข้อควำมนั้น ขณะที่ Save To File ของ Image จะได้ไฟล์รูปภำพ  ควำมสำมำรถในกำรจัดโครงสร้ำงแบบเชิงนำม (Abstract) ข้อมูลแบบเชิงนำม คือ ข้อมูลหรือกระบวนกำรที่ยังไม่เกิดขึ้น กำร สร้ำงคลำสแบบเชิงนำมเป็นวิธีหนึ่งที่ช่วยไม่ให้กำรพัฒนำระบบงำน ต้องหยุดชะงัก เนื่องจำกข้อมูลอำจจะยังไม่เกิด หรือยังไม่สำมำรถ อธิบำยได้ว่ำ ขั้นตอนกำรทำงำนจะเป็นอย่ำงไร
  • 11.
  • 12. ข้อดีของกำรพัฒนำโปรแกรมด้วยจำวำ  ง่ำย เนื่องจำกเลียนแบบภำษำ C/C++ ไม่มีคำสั่ง GOTO และ pointer  เป็นภำษำเชิงวัตถุที่สมบูรณ์  มีกำรป้ องกันกำรผิดพลำด (Robust) กำรกำจัดสิ่งที่ไม่ใช้ (Garbage Collection) แบบอัตโนมัติ และกำรจัดกำรควำม ผิดพลำด (Exception Handling) แบบอัตโนมัติ  มีควำมปลอดภัยในกำรที่จะประมวลผล (Secure) โดยไม่ทำลำย ทรัพยำกรของเครื่อง  Multithread ใน java.lang :- ควำมสำมำรถในกำรประมวลผล หลำยงำนพร้อมกัน  Architecture neutral and portable :- สำมำรถ เคลื่อนย้ำยได้ง่ำย รวมทั้งใช้งำนในสภำวะแวดล้อมที่ต่ำงกัน และใช้กับ คอมพิวเตอร์ได้ทุกระบบ (Multi Platform) โดยไม่ต้องปรับแต่ง  กำรเชื่อมโยงแบบพลวัต (Dynamic Link) และกำรประมวลผลแบบ กระจำย (Distributed) ในระบบเครือข่ำย
  • 13. Java Platform Hardware Java Virtual Machine (Java VM) Java API (Java Application Programming Interface) โปรแกรมภำษำจำวำ
  • 14. ข้อกำหนดเบื้องต้นในกำรเขียนโปรแกรม  แต่ละประโยคต้องจบด้วยเครื่องหมำย ; เสมอ  สัญลักษณ์อื่นที่ใช้แยกข้อควำมหรือคำสั่งอีก เช่น  ( ) ใช้สำหรับแยกลำดับในกำรประมวลผล  { } ใช้สำหรับแยกชุดคำสั่ง หรือรวมชุดคำสั่งเป็นบล็อก  , ให้ควำมต่อเนื่องในกำรทำงำน เช่น กำรกำหนดตัวแปรที่มี ประเภทข้อมูลแบบเดียวกัน  . ใช้ในกำรแยก package กับ class หรือ object กับ method
  • 15.  หลักเกณฑ์กำรตั้งชื่อต่ำง ๆ เช่น ชื่อ class, ชื่อ data, ชื่อ method และชื่อตัวแปร  ประกอบด้วยตัวอักษรภำษำอังกฤษ ตัวเลข และสัญลักษณ์ _ หรือ $ เช่น age, int2float, _name$ เป็นต้น  ควำมยำวไม่ควรเกิน 65535 ตัวอักษร  ไม่ควรใช้ตัวเลขเป็นตัวแรก เช่น 101database, 2name  ไม่ควรใช้ช่องว่ำง (spaces) หรือ . (periods)  ตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ถือว่ำต่ำงกัน เช่น Count, count และ CoUnT ถือว่ำเป็นคนละชื่อ  ต้องไม่ตรงกับคำศัพท์สงวน (Key Word) ในภำษำจำวำ  ชื่อ class ควรขึ้นต้นด้วยตัวพิมพ์ใหญ่ ส่วนที่เหลือเป็นตัวเล็ก  ชื่อ data หรือตัวแปรควรเป็นตัวพิมพ์เล็กทั้งหมด  ชื่อค่ำคงที่ควรเป็นตัวพิมพ์ใหญ่ทั้งหมด  ชื่อ method คำแรกควรเป็นตัวเล็กทั้งหมด คำถัดไปตัวแรกควรเป็น ตัวพิมพ์ใหญ่ ที่เหลือจึงเป็นตัวเล็ก เช่น setCount, testFirst เป็นต้น
  • 16. คำศัพท์สงวน (Key Word) ในภำษำจำวำ abstract boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile while
  • 17.  กำรเขียนหมำยเหตุ (Comment) สำมำรถทำได้ 3 รูปแบบ คือ //single line comment /* multiple line comments …*/ /** This is a javadoc comment*/  โปรแกรมที่สร้ำงจำกจำวำต้องสำมำรถสร้ำงได้อย่ำงน้อยหนึ่งคลำสโดยมี รูปแบบโครงสร้ำงดังนี้ [<access_specifier>] class <class_name> { //data members //methods }  access_specifier :- ระดับกำรเข้ำถึงข้อมูล เช่น public และ private  public หมำยถึง ระดับกำรเข้ำถึงข้อมูลที่ไม่มีข้อจำกัดใดๆ  private หมำยถึง ระดับกำรเข้ำถึงข้อมูลสำหรับกำรใช้งำนในคลำส  ในหนึ่งโปรแกรมต้องมีเพียงหนึ่งคลำสที่มีชื่อเดียวกับโปรแกรมและต้องเป็น ชนิด public เสมอ
  • 18.  data members เป็นส่วนประกอบหนึ่งของคลำส ใช้ สำหรับกำหนดชื่อและชนิดของตัวแปรที่ใช้สำหรับเก็บข้อมูล โดยมีรูปแบบดังนี้ [<access_specifier>] [<modifier>] <datatype> <variable_name>  modifier เป็นกำรกำหนดคุณลักษณะพิเศษในกำรใช้งำน ตัวแปรและ method เช่น static และ final  static หำก Data ใดนำหน้ำด้วยคำศัพท์สงวน static แล้ว Data นั้น จะถูกโหลดลงในหน่วยควำมจำและพร้อม ใช้งำนทันที เมื่อมีกำรอ้ำงถึงตำมข้อกำหนดของระดับกำร เข้ำถึง (Accessibility)  final หำก Data ใดนำหน้ำด้วยคำศัพท์สงวน final แล้ว Data นั้นใช้สำหรับเก็บข้อมูลค่ำคงที่ (Constant) ซึ่ง ไม่สำมำรถเปลี่ยนค่ำได้
  • 19.  methods มีรูปแบบดังนี้ [<access_specifier>] [<modifier>] < return_type > <method_name> ([argument_list]) { //Statements }  return_type :- ชนิดของข้อมูลที่ถูกส่งคืนหลังสิ้นสุดกำรทำงำน ของ method  argument_list :- ช่องทำงในกำรผ่ำนข้อมูลเพื่อส่งให้ method ใช้ในกำรทำงำน  Statement :- คำสั่งควบคุมกำรทำงำนของนิพจน์ เพื่อกำหนด หลักกำรและวิธีกำรประมวลผลภำยใน method  ในหนึ่งโปรแกรมจะต้องมี Method ที่ชื่อ main เสมอ โดย Method main จะเป็น Method แรกที่โปรแกรมเรียกใช้ ซึ่ง ในหนึ่งโปรแกรมจะต้องมีเพียง 1 main Method เท่ำนั้น ซึ่ง จะต้องมีค่ำ Accessibility เป็น static เสมอ และเนื่องจำกไม่มี กำรส่งค่ำกลับ จึงใช้ Accessibility void ร่วมด้วยเสมอ
  • 20.  ท้ำยชื่อของ Method ต้องตำมด้วยเครื่องหมำย ( ) หำก ไม่มีกำรส่งค่ำพำรำมิเตอร์ใดไปด้วย หำกมีกำรส่งค่ำ จะต้องอยู่ ในรูปแบบใดแบบหนึ่งเสมอ เช่น (String args[ ]) หรือ (String[ ] args)  กำรแสดงผลทำงจอภำพสำมำรถทำด้วย method ที่ชื่อว่ำ println ซึ่งอยู่ใน System.out โดยคำสั่งนี้ ต้องกำร ข้อมูลที่เป็น String เพื่อนำไปแสดงบนจอภำพ แต่ทั้งนี้ อำจ ส่งข้อมูลที่เป็น Integer ร่วมด้วยได้โดยใช้เครื่องหมำย + ข้อมูลทั้งหมดจะถูกแปลงเป็น String โดยอัตโนมัติ
  • 22.  โปรแกรมที่เขียนแบบ Applet ต้องมีกำรเพิ่มคลำสต่ำง ๆ โดยเฉพำะ java.applet.* และ java.awt.Graphics  Package หรือ Java Class Library เป็นที่เก็บ รวบรวม Class ต่ำง ๆ แต่ละ Package จะถูกเก็บแยกไว้ ในแต่ละ Directory และแต่ละ Package จะเก็บ Class ต่ำง ๆ แยกไว้ในแต่ละ Directory เช่นเดียวกัน ใน แต่ละ Class จะมี methods ให้เลือกนำมำใช้ให้เหมำะกับ งำนที่ต้องกำรโดยไม่ต้องเขียนขึ้นมำเอง  Class ใน Package หนึ่งสำมำรถเรียกใช้ Class อื่นใน Package เดียวกันได้ แต่จะเรียกใช้ Class ที่อยู่ต่ำง Package กันได้หรือไม่ขึ้นอยู่กับกำรกำหนดค่ำ Accessible ข้อกำหนดเพิ่มเติมในกำรเขียน Java Applet
  • 23.  กำรเรียกใช้ Package สำมำรถทำได้ด้วยคำสั่ง import ซึ่ง ต้องวำงไว้ตอนแรกสุดของโปรแกรมเสมอ เพื่อให้ Compiler นำ Package ต่ำง ๆ ที่อ้ำงถึงมำเชื่อมโยงเข้ำกับโปรแกรม ก่อนที่จะมำเรียกใช้ methods ต่ำง ๆ ภำยในโปรแกรม  โปรแกรม Applet ต้องเขียนในรูป public class hello2 extends Applet ซึ่งเป็นกำรสืบทอดคุณสมบัติของคลำส Applet  กำรแสดงข้อมูลบนจอภำพ ต้องใช้คำสั่ง drawString ซึ่งเป็น method ของคลำส Graphics
  • 24. ตัวอย่ำงกำรเขียน Java Applet import java.applet.*; import java.awt.Graphics; public class hello2 extends Applet { public void paint(Graphics g) { g.drawString("Hello World!",20,60); } }
  • 25.
  • 26. ตัวอย่ำง Standard Package ในภำษำ Java Package Class ที่เป็นส่วนประกอบ java.applet Class ที่จำเป็นต่อกำรสร้ำง Applet java.awt Class ทีใช้ประโยชน์ในกำรสร้ำง GUI java.io Class สำหรับปฏิบัติงำนด้ำน I/O java.lang Class พื้นฐำนของ Java ไม่ต้อง import java.net Class ที่ใช้ติดต่อกับเครือข่ำย ใช้ควบคู่กับ java.io java.util Class ที่เป็น Utility เช่น กำรเข้ำรหัส กำรถอดรหัส java.awt.images Class ที่ใช้ในกำรสร้ำงและทำงำนกับรูปภำพ java.swing Class ที่ใช้สร้ำง Swing ช่วยให้ทำงำนง่ำยกว่ำ java.awt