java programming
DESCRIPTION
JAVA PROGRAMMING. PART I. เกี่ยวกับจาวา. เป็นภาษาที่ถูกพัฒนาโดยบริษัทซันไมโครซิสเต็ม ( Sun Microsystems) ชื่อ “JAVA” มาจากชื่อกาแฟชนิดหนึ่งที่ทีมงานพัฒนาชอบดื่มกันเป็นประจำ พวกเราโดยส่วนใหญ่ได้สัมผัสและรู้จักจาวาจาดอินเตอร์เน็ต - PowerPoint PPT PresentationTRANSCRIPT
JAVA PROGRAMMING
PART I
เกี่��ยวกี่�บจาวา เป็�นภาษาที่ถู�กพั�ฒนาโดยบริ�ษ�ที่ซั�นไมโคริซั�สเต็�ม(Sun
Microsystems)
ชื่�อ “JAVA” มาจากชื่�อกาแฟชื่น�ดหน&งที่ที่มงานพั�ฒนาชื่อบด�มก�นเป็�นป็ริะจ)า
พัวกเริาโดยส+วนใหญ่+ได.ส�มผั�สและริ� .จ�กจาวาจาดอ�นเต็อริ1เน�ต็ แริกเริ�มเด�มที่ จาวาถู�กพั�ฒนาไว.ใชื่.งานส)าหริ�บเขียน
โป็ริแกริมขีนาดเล�กบนอ3ป็กริณ์1อ�เล�กที่ริอน�กส1 เพั�อให.การิเริยนริ� .ภาษาจาวาง+าย ที่างที่มงานจ&งก)าหนดริ�ป็
แบบค)าส�งให.คล.ายภาษาซัพัล�สพัล�ส ซั&งเป็�นภาษาที่น�กเขียนโป็ริแกริมโดยส+วนใหญ่+ค3.นเคย
Sun Microsystems
ในชื่+วงต็.น 1990 ต็ลาดเคริ�องใชื่.ไฟฟ5า มริาคาส�งและริะบบ คอมพั�วเต็อริ1ที่ควบค3มเคริ�องใชื่.ไฟฟ5าเหล+าน6ถู�กพั�ฒนาขี&6นเริ�อย ๆ
บริ�ษ�ที่ Sun Microsystems ซั&งป็ริะสบความส)าเริ�จในต็ลาดริะบบ เคริ�อขี+ายคอมพั�วเต็อริ1อย+างมากในต็อนน�6น เห�นว+าควริใชื่.ความได.
เป็ริยบขีองบริ�ษ�ที่ เริ+งพั�ฒนาเที่คโนโลย เพั�อย&ดคริองต็ฃาดเคริ�อง ใชื่.ไฟฟ5าที่มคอมพั�วเต็อริ1ควบค3มไว.ก+อน จ&งจ�ดที่ม Green Group
ขี&6นในป็9 1991 ม James Gosling เป็�นห�วหน.าที่)าการิพั�ฒนาริะบบ ซัอฟต็1แวริ1ส)าหริ�บควบค3มเคริ�องใชื่.ไฟฟ5าขีนาดเล�ก พัวกเขี.าสริ.าง
เคริ�องต็.นแบบที่เริยกว+า Star7 เป็�นริะบบ remote control ขีนาด ม�อถู�อ พัวกเขีาใชื่. C++ เขียนโป็ริแกริม Star7 ผัลที่ได.เป็�น
โป็ริแกริมที่ม�กจะที่)างานผั�ดพัลาดและล.มเหลวบ+อย ๆ จนสริ3ป็ว+าC++ ไม+เหมาะก�บงานน6 เพัริาะมขี.อจ)าก�ดหลายอย+าง เชื่+น เคริ�องใชื่.
ไฟฟ5ามหน+วยความจ)าน.อย และไม+มริะบบป็ฏิ�บ�ต็�การิ หน+วยป็ริะมวล ผัลที่ใชื่.ย�งมหลายเบอริ1หลายยห.อ และมชื่3ดค)าส�งไม+เหม�อนก�น จ&ง
เป็�นเหต็3ให.พัวกเขีาพั�ฒนาภาษาใหม+ ชื่�อ Oak ให.เป็�นภาษาที่ง+ายต็+อการิเริยนริ� .และใชื่.งาน
พั�ฒนากี่ารของภาษาจาวาจาวาต็�วแริกค�อ java 1.0 ที่ใชื่.ใน JDK 1.0 (ค�อชื่3ดเคริ�องม�อพั�ฒนาภาษาจาวาที่แจกฟริ ) ถู�กกล+าวว+าชื่.ากว+า C ป็ริะมาณ์ 20 เที่+า และ java 1.1 ได.พั�ฒนาความเริ�วขี&6น แต็+ก�ได.เพัยง 2 เที่+าขีอง java 1.0 ต็+อมาได.ออก JDK 1.2 ได.เป็ลยนชื่�อใหม+เป็�น Java 2 SDK 1.2 (Software Development Kit) โดยเวอริ1ชื่�นป็;จจ3บ�นอย�+ที่ Java 2 SDK 1.4 ซั&งที่างบริ�ษ�ที่ซั�นได.พั�ฒนา Java ให.มความเริ�วขี&6นเริ�อยๆ เพั�อแก.ไขีจ3ดบกพัริ+องเริ�องความเริ�วในการิที่)างานขีองภาษาจาวา โดยใชื่.เที่คโนโลยหลายๆ อย+างเชื่+น Just in Time (JIT) compiler ซั&งจะแป็ลงไบต็1โค.ด เป็�นเนที่ฟโค.ด ค�อโค.ดที่ถู�กคอมไพัล1โดยเฉพัาะส)าหริ�บโป็ริเซัสเซัอริ1น�6นๆ ก+อนเอ�กซัค�วต็1 ที่)าให.มความเริ�วเพั�มขี&6นถู&งหล�กส�บเที่+า ,Java HotSpot (เริ�มใชื่.ใน java 2 SDK 1.3) และล+าส3ดที่จ)าที่)าให.จาวามความเริ�วแบบส3ดยอดค�อใชื่. Java chip เป็�นโป็ริเซัสเซัอริ1
ข�อเด่�นของภาษาจาวา การิเขียนโป็ริแกริมภาษาจาวา เป็�นการิบ�งค�บให.เขียนโป็ริแกริมเชื่�ง
ว�ต็ถู3 (OOP: Object Oriented Programming) Java ค�อ platform independence หมายความว+าความสามาริถูขีอง
โป็ริแกริมที่เขียนด.วย java สามาริถูที่)างานได.ในริะบบป็ฏิ�บ�ต็�การิที่ต็+างก�น โดยไม+ต็.องด�ดแป็ลงแก.ไขี
Java ม garbage collector ที่)าให.โป็ริแกริม robust Java เขียนด.วยโค.ดน.อยกว+า C++ ที่โป็ริแกริมเดยวก�นป็ริะมาณ์ 4
เที่+า และใชื่.เวลาในการิเขียนโป็ริแกริม(development time) เริ�วกว+า C++ ที่โป็ริแกริมเดยวก�นป็ริะมาณ์ 2 เที่+า
Java มริะบบความป็ลอดภ�ยที่�6งริะด�บล+างและริะด�บบน ได.แก+ electronic signature, public and private key management, access control และ certificates
Definition of JAVA
2 appropriate definition for java Java is programming language Java is platform
2 forms of java 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
Platform use for communicating with computer machine directly.
Example Microsoft Word run on Microsoft Window
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 Virtual Machine
Java API
Computer System
Java Platform
กี่ารแปัลงโค้�ด่ของภาษาจาวา Java program ค�อโป็ริแกริมที่เริาเขียนขี&6นโดยใชื่.ภาษาจาวา
จะอย�+ในริ�ป็เที่�กซั1 (text) ที่สามาริถูอ+านได. โดยชื่�อไฟล1จะมนามสก3ล .java เริาเริยกว+า ซัอริ1สโค.ด (Source code) ซั&งซัอริ1สโค.ดจะถู�กคอมไพัล1เป็�น java class file หริ�อ ไบต็1โค.ด ชื่�อไฟล1จะมนามสก3ล .class ซั&งอย�+ในริ�ป็ขีองค)าส�งที่ java virtual Machine เขี.าใจ
API ค�อโค.ดที่คอมไพัล1แล.ว ชื่+วนให.โป็ริแกริมแอกเซัสในส+วนขีอง system services ขีองริะบบป็ฏิ�บ�ต็�การิ ส+วน Java API ค�อกล3+มขีอง ready-made software components โดยริวมเป็�นไลบริาลขีองคลาส Java Virtual Machine จะโหลด Java API เม�อโป็ริแกริมจาวาถู�กริ�น
กี่ารแปัลงโค้�ด่ของภาษาจาวา
Java Program C Program
Java Virtual Machine Computer
Computer
Byte code Machine code
compile compile
interpret
Java Virtual Machine
ค�อส+วนต็�ดต็+อส�งงานโดยต็ริงต็+อคอมพั�วเต็อริ1 ภายในป็ริะกอบด.วย 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
Class loader
Execution Engine
Operating System
User-defined ClassJava API’s class
Byte code
Native method
Starting with JAVA2
Download java compiler from web
Double click this icon to install java.
http://java.sun.com/j2se
Java virtual machine : JRE (Java Runtime Environment)Java Developer Kit : JDK
Java step
Java compiler is required
Edit source codeon textfile
<File-name>.java Compile source code
<File-name>.class Run onJava 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
Type command for run java
javac <file-name>.java
java <file-name>
Compile & Run (cont’d)
Write Once Run Anywhere
Java Application
// 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
What name of this application is ?
Java Application
// Printing multiple lines in a dialog box// Java extension packagesimport javax.swing.JOptionPane; // import class JOptionPanepublic 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 packagesimport javax.swing.JOptionPane; // import class JOptionPanepublic 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>
Exampleappletviewer example1.html
Create Java applet
Edit file-name “HelloA.java”
//HelloA.java// java core packagesimport java.awt.*; // import all classpublic 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”
Type command “appletviewer HelloA.html”
<! HelloA.html><html> <body> This is my first Applet. <applet code="HelloA.class" width=200 height=200> </applet> </body></html>
Java Applet