JAVA PROGRAMMING

Download Report

Transcript JAVA PROGRAMMING

JAVA PROGRAMMING
PART I
เกีย่ วกับจาวา





เป็ นภาษาที่ถูกพัฒนาโดยบริ ษทั ซันไมโครซิสเต็ม(Sun Microsystems)
ชื่อ “JAVA” มาจากชื่อกาแฟชนิดหนึ่งที่ทีมงานพัฒนาชอบดื่มกันเป็ น
ประจา
พวกเราโดยส่ วนใหญ่ได้สมั ผัสและรู ้จกั จาวาจาดอินเตอร์เน็ต
แรกเริ่ มเดิมที จาวาถูกพัฒนาไว้ใช้งานสาหรับเขียนโปรแกรมขนาดเล็กบน
อุปกรณ์อิเล็กทรอนิกส์
เพื่อให้การเรี ยนรู ้ภาษาจาวาง่าย ทางทีมงานจึงกาหนดรู ปแบบคาสัง่ ให้คล้าย
ภาษาซีพลัสพลัส ซึ่งเป็ นภาษาที่นกั เขียนโปรแกรมโดยส่ วนใหญ่คนุ ้ เคย
Sun Microsystems
ในช่วงต้น 1990 ตลาดเครือ่ งใช้ไฟฟ้า มีราคาสูงและระบบคอมพิวเตอร์ทค่ี วบคุม
เครือ่ งใช้ไฟฟ้าเหล่านี้ถกู พัฒนาขึน้ เรือ่ ย ๆ บริษทั Sun Microsystems ซึง่ ประสบ
ความสาเร็จในตลาดระบบเครือข่ายคอมพิวเตอร์อย่างมากในตอนนัน้ เห็นว่าควรใช้ความ
ได้เปรียบของบริษทั เร่งพัฒนาเทคโนโลยี เพือ่ ยึดครองตฃาดเครือ่ งใช้ไฟฟ้าทีม่ คี อมพิวเตอร์
ควบคุมไว้ก่อน จึงจัดทีม Green Group ขึน้ ในปี 1991 มี James
Gosling เป็ นหัวหน้าทาการพัฒนาระบบซอฟต์แวร์สาหรับควบคุมเครือ่ งใช้ไฟฟ้าขนาด
เล็ก พวกเข้าสร้างเครือ่ งต้นแบบทีเ่ รียกว่า Star7 เป็ นระบบ remote control
ขนาดมือถือ พวกเขาใช้ C++ เขียนโปรแกรม Star7 ผลทีไ่ ด้เป็ นโปรแกรมทีม่ กั จะ
ทางานผิดพลาดและล้มเหลวบ่อย ๆ จนสรุปว่า C++ ไม่เหมาะกับงานนี้ เพราะมีขอ้ จากัด
หลายอย่าง เช่น เครือ่ งใช้ไฟฟ้ามีหน่วยความจาน้อย และไม่มรี ะบบปฏิบตั กิ าร หน่วย
ประมวลผลทีใ่ ช้ยงั มีหลายเบอร์หลายยีห่ อ้ และมีชุดคาสังไม่
่ เหมือนกัน จึงเป็ นเหตุให้พวกเขา
พัฒนาภาษาใหม่ ชือ่ Oak ให้เป็ นภาษาทีง่ า่ ยต่อการเรียนรูแ้ ละใช้งาน
พัฒนาการของภาษาจาวา
จาวาตัวแรกคือ java 1.0 ที่ใช้ใน JDK 1.0 (คือชุดเครื่ องมือพัฒนาภาษาจาวาที่แจกฟรี )
ถูกกล่าวว่าช้ากว่า C ประมาณ 20 เท่า และ java 1.1 ได้พฒั นาความเร็ วขึ้น แต่กไ็ ด้เพียง
2 เท่าของ java 1.0 ต่อมาได้ออก JDK 1.2 ได้เปลี่ยนชื่อใหม่เป็ น Java 2 SDK 1.2
(Software Development Kit) โดยเวอร์ ชนั ปั จจุบนั อยูท่ ี่ Java 2 SDK 1.4 ซึ่ งทาง
บริ ษทั ซันได้พฒั นา Java ให้มีความเร็ วขึ้นเรื่ อยๆ เพื่อแก้ไขจุดบกพร่ องเรื่ องความเร็ ว
ในการทางานของภาษาจาวา โดยใช้เทคโนโลยีหลายๆ อย่างเช่น Just in Time (JIT)
compiler ซึ่ งจะแปลงไบต์โค้ด เป็ นเนทีฟโค้ด คือโค้ดที่ถกู คอมไพล์โดยเฉพาะสาหรับ
โปรเซสเซอร์ น้ นั ๆ ก่อนเอ็กซี คิวต์ ทาให้มีความเร็ วเพิ่มขึ้นถึงหลักสิ บเท่า, Java
HotSpot (เริ่ มใช้ใน java 2 SDK 1.3) และล่าสุ ดที่จาทาให้จาวามีความเร็ วแบบสุ ดยอด
คือใช้ Java chip เป็ นโปรเซสเซอร์
ข้ อเด่ นของภาษาจาวา

การเขียนโปรแกรมภาษาจาวา เป็ นการบังคับให้เขียนโปรแกรมเชิงวัตถุ
(OOP: Object Oriented Programming)




คือ platform independence หมายความว่าความสามารถของ
โปรแกรมที่เขียนด้วย java สามารถทางานได้ในระบบปฏิบตั ิการที่ต่างกัน
โดยไม่ตอ้ งดัดแปลงแก้ไข
Java มี garbage collector ทาให้โปรแกรม robust
Java เขียนด้วยโค้ดน้อยกว่า C++ ที่โปรแกรมเดียวกันประมาณ 4 เท่า
และใช้เวลาในการเขียนโปรแกรม(development time) เร็ วกว่า C++
ที่โปรแกรมเดียวกันประมาณ 2 เท่า
Java มีระบบความปลอดภัยทั้งระดับล่างและระดับบน ได้แก่ electronic
Java
signature, public and private key management, access
control และ certificates
Definition of JAVA

2 appropriate definition for java



2 forms of java



Java is programming language
Java is platform
Java application
Java applet
Java script is not java, it is developed by
Netscape that used in web and base on java.
Platform


Platforms like Operating System
All application must depend on platform
Example Microsoft Word run on Microsoft Window

Platform use for communicating with
computer machine directly.
Java is Platform


Java have own platform, named java virtual
machine
So, java can run on any OS because of java
virtual machine.
Write Once, Run anywhere
Java platform
Java program
Java program
Java program
Java virtual machine
Windows
Unix
Macintosh
สถาปัตยกรรมของจาวา
Java program
Java class file
Java API
Java Platform
Java Virtual Machine
Computer System
การแปลงโค้ดของภาษาจาวา


Java program คือโปรแกรมที่เราเขียนขึ้นโดยใช้ภาษาจาวา จะอยูใ่ น
รู ปเท็กซ์ (text) ที่สามารถอ่านได้ โดยชื่อไฟล์จะมีนามสกุล .java เรา
เรี ยกว่า ซอร์สโค้ด (Source code) ซึ่งซอร์สโค้ดจะถูกคอมไพล์เป็ น
java class file หรื อ ไบต์โค้ด ชื่อไฟล์จะมีนามสกุล .class ซึ่งอยู่
ในรู ปของคาสัง่ ที่ java virtual Machine เข้าใจ
API คือโค้ดที่คอมไพล์แล้ว ช่วนให้โปรแกรมแอกเซสในส่ วนของ
system services ของระบบปฏิบตั ิการ ส่ วน Java API คือ
กลุ่มของ ready-made software components โดยรวม
เป็ นไลบราลีของคลาส Java Virtual Machine จะโหลด Java
API เมื่อโปรแกรมจาวาถูกรัน
การแปลงโค้ดของภาษาจาวา
Java Program
compile
C Program
compile
Byte code
Machine code
Java Virtual Machine
Computer
interpret
Computer
Java Virtual Machine

คือส่ วนติดต่อสัง่ งานโดยตรงต่อคอมพิวเตอร์ ภายในประกอบด้วย class
loader และ Execution engine

Class loader ทาหน้าที่โหลด class จากโปรแกรมและจาก java API
โดยที่ class loader มีอยูส่ องชนิดคือ



bootstrap class loader หรื อ system class loader เป็ นส่ วนที่อยู่
ใน java virtual machine เอง
User-defined class loader
Execution Engine มีหลายรู ปแบบ เช่น just in time,
Adaptive optimizer
Java Virtual Machine
Java Virtual Machine
Java API’s class
Class loader
Byte code
Execution Engine
Native method
Operating System
User-defined Class
Starting with JAVA2

Download java compiler from web
http://java.sun.com/j2se

Double click this icon to install java.
Java virtual machine : JRE (Java Runtime Environment)
Java Developer Kit
: JDK
Java step

Java compiler is required
Edit source code
on textfile
<File-name>.java
Compile
source code
<File-name>.class
Run on
Java Virtual Machine
How to install


Double click icon of file that download
Fill folder to install name “C:\java”
Your First Program in JAVA

Edit file name “Welcome1.java” at
“C:\Myjava”
// A first program in Java.
public class Welcome1 {
/* main method
begins execution of Java application */
public static void main ( String args[] )
{
System.out.println(“Welcome to Java Programming!”);
} // end method main
} // end class Welcome1
Compile & Run



Go to DOS
Go to directory “C:\Myjava”
Type command for compile java program
javac <file-name>.java

Type command for run java
java <file-name>
Compile & Run (cont’d)
Write Once Run Anywhere
Java Application

What name of this application is ?
// Printing multiple lines of text with a single statement.
public class Welcome_mline {
// main method bigins execution of Java application
public static void main ( String args[] )
{
System.out.println(“Welcome\nto\nJava\nProgramming”);
} // end method main
} // end class Welcome_mline
Java Application
// Printing multiple lines in a dialog box
// Java extension packages
import javax.swing.JOptionPane; // import class JOptionPane
public class Welcome_dialog {
// main method begins execution of Java application
public static void main ( String args[] )
{
JOptionPane.showMessageDialog(
null, “Welcome to Java Programming”);
System.exit(0); // terminate application
} // end method main
} // end class Welcome_dialog
Java Application
// An addition program.
// Java extension packages
import javax.swing.JOptionPane; // import class JOptionPane
public class Addition {
// main method begins execution of Java application
public static void main( String args[] ){
String firstNumber; // first string entered by user
String secondNumber; // second string entered by user
int number1;
// first number to add
int number2;
// second number to add
int sum;
// sum of number1 and number2
// read in first number from user as a String
firstNumber = JOptionPane.showInputDialog(“Enter Number1:”);
// read in second number from user as a String
secondNumber = JOptionPane.showInputDialog(“Enter Number2:”);
// convert numbers from type String to type int
number1 = Integer.parseInt(firstNumber);
number2 = Integer.parseInt(secondNumber);
sum = number1 + number2; // add two numbers
JOptionPane.showMessageDialog(null, “the sum is ”+ sum,
“Results”, JOptionPane.PLAIN_MESSAGE);
System.exit(0); // terminate application
} // end method main
} // end class Addition
Message Dialog types





JOptionPane.ERROR_MESSAGE
JOptionPane.INFORMATION_MESSAGE
JOpitonPane.WARNING_MESSAGE
JOpitonPane.QUESTION_MESSAGE
JOptionPane.PLAIN_MESSAGE
Java applet


Java language that must perform under web
browser
There are 2 ways to run applet


Command appletviewer
HTML page
Java applet




Go to “c:\java\demo\applets”
Enter director “TicTacToe”
You can see file-name “example1.html”
Type command
Appletviewer <filename>
Example
appletviewer example1.html
Create Java applet

Edit file-name “HelloA.java”
//HelloA.java
// java core packages
import java.awt.*; // import all class
public class HelloA extends java.applet.Applet {
// draw text on Applet's background
public void paint(Graphics g)
{
// draw a String at x 25 and y 50
g.drawString("Hello",25,50);
} // end method paint
} // end class HelloA
Create Java applet

Edit file-name “HelloA.html”
<! HelloA.html>
<html>
<body>
This is my first Applet.
<applet code="HelloA.class" width=200 height=200>
</applet>
</body>
</html>

Type command “appletviewer HelloA.html”
Java Applet