Java Programming 002

  • Uploaded by: Suradet Petcharanon
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Java Programming 002 as PDF for free.

More details

  • Words: 1,126
  • Pages: 25
Java Programming Mr. Suradet Petcharanon

Chapter 2 Java Programming 17 December 2006

โครงสรางของ Application 

การเขยนโปรแกรมภาษาจาวานน จะเขยนโปรแกรมเปนคลาส ซงในแต!ละ คลาสจะประกอบไปดวย เมธอด ตวแปรและค&าสงต!างๆ ภายในโปรแกรม หนงอาจจะประกอบดวยคลาสมากกว!า 1 คลาสขนอย+ก! บผ+ออกแบบ โปรแกรม และการใชคลาสทสรางขนมานนจะตองสรางออปเจกต/ขนมาก!อน แลวจงค!อยน&าออปเจกต/ไปใชงานตามตองการได

Suradet Petcharanon

Java Programming

2

โครงสรางของ Application 

ตวอย!าง ไฟล/ App.java public class App{ //ก&าหนดช?อและค!าของตวแปร(ถาม) public static void main(String args[]){ App theApp = new App(); theApp.run(); } void run(){ //การท&างานภายในเมธอดน } }

Suradet Petcharanon

Java Programming

3

การสรางและเรยกใชโปรแกรม 

ขนตอนในการสรางโปรแกรม มดงน 





ใส! รายละเอยดการท&างานของโปรแกรม หร? อทเรยกว!า “Source Code” ลงไปใน โปรแกรม Editor ตวไดกได แลวบนทกเปนไฟล/นามสกVล .java ไฟล/นเรยกว!า “Source File” น&า Source File มาคอมไพล/(Compile) ท Dos Prompt โดยใชค&าสง “javac”แลวตาม ดวยช?อ Source File จะไดผลลพธ/มาอก 1 ไฟล/โดยจะมนามสกVลเปน .class ซงจะอย+! ในร+ ปของ “Byte Code” รนโปรแกรมทไดจากขนตอนก!อนหนานดวยค&าสง “java” แลวตามดวยช?อไฟล/โดย ไม!ตองมนามสกVล .class

Suradet Petcharanon

Java Programming

4

การตงช?อไฟล/จาวา 

เราสามารถตงช?อไฟล/จาวาเปนช?ออะไรกได เน?องจากว!าหลงการคอมไพล/แลวจะได ไฟล/ .class ทมช?อเดยวกบช?อของคลาสนน และเวลารนโปรแกรม หร? อเรยกช?อคลาสจะ อางถงช?อของ .class ไม!ใช!ช?อของไฟล/ .java เช!น //TestName.java class Name{ public static void main(String args[]){ System.out.println(“Hello World”); } } เวลาคอมไพล/จะใชช?อ TestName.java จะไดไฟล/ .class ช?อ Name ดงนนเวลารนโปรแกรมจะใชช?อ Name

Suradet Petcharanon

Java Programming

5

เมธอดช?อ “main()” 

เมธอดช?อ “main()” มลกษณะเฉพาะดงน   

 





มเมธอด “main()” เพยง 1 เมธอดใน 1 โปรแกรม โปรแกรมจะเรd มตนการท&างานทเมธอด “main()” เสมอ จะตองมค!า Accessibility เปน “public” เสมอ ไม!เช!นนนจะไม!สามารถรนโปรแกรม ได จะไม!มการส! งค!ากลบค?น ดงนนจงใช keyword “void” ร! วมดวยเสมอ เพ?อใหสามารถเรยกใชงานไดทนทโดยทไม!ตองเรยกผ!านออบเจกต/ จงตองระบV keyword “static” ไวดวย Parameter จะตองอย+ใ! นร+ ปแบบใดร+ ปแบบหนงเสมอ ค?อ (String args[]) หร? อ (String []args) ดงนนจงมกเขยน เมธอด “main()” แบบน public static void main(String args[])

Suradet Petcharanon

Java Programming

6

การใส! หมายเหตV (Comment) และ Accessibility 

Comment  



ใช /* และ */ เหมาะส&าหรบหมายเหตVขอความทมากกว!าหนงบรรทด ใช // เหมาะส&าหรบหมายเหตVขอความเพยงหนงบรรทด

Accessibility 







public ใชนdยามคลาส ตวแปร เมธอด เพ?อใหคลาสทอย+ใ! น Package เดยวกนหร? อต!าง Package กน สามารถเรยกใชงานคลาส ตวแปร หร? อเมธอดเหล!านนได protected ใชนdยามตวแปร เมธอด เพ?อใหคลาสทอย+ใ! น Package เดยวกนและคลาสท Inherit ไป(Subclass)แต!อย+ต! !าง Package กนสามารถเรยกใชงานเมธอด หร? อตวแปรเหล!านนได private ใชนdยามตวแปร เมธอด เพ?อใหสามารถเรยกใชงานตวแปร หร? อเมธอดเหล!านนภายในคลาส เดยวกนเท!านน(ตาม Concept ของ Encapsulation และ Information hiding) Default ค?อการไม!ระบV keyword ทง 3 ค&าดงกล!าวขางตนไวหนาคลาส ตวแปร หร? อเมธอดเลย ท&า ใหคลาสภายใน Package เดยวกนสามารถเรยกใชงานคลาส ตวแปร หร? อเมธอดเหล!านนได

Suradet Petcharanon

Java Programming

7

การสรางออบเจกต/ 

เม?อตองการใชงานเมธอด ตวแปร หร? อค!าคงทใดๆของคลาสกตาม จะตอง กระท&าผ!านออบเจกต/ทสรางขนมาใหม! มขนตอนดงน 

ก&าหนดออบเจกต/วา! อย+ใ! นคลาสใด เช!น String str;



สรางออบเจกต/ขนมาพรอมกบใส! ขอม+ล เช!น str = new String(“Hello”);



หร? อรวมสองขนตอนมาไวเพยงขนตอนเดยว เช!น String str = new String(“Hello”);

* เรยกการสราง ออบเจกต/ใหม!วา! “Object Instantiation” * เรยกการสราง ออบเจกต/พรอมกบการใส! ขอม+ลนว!า “Object Initialization” Suradet Petcharanon

Java Programming

8

การแสดงผลทางจอภาพ (Console Output) การแสดงผลออกทางจอภาพจะใชเมธอดทช?อว!า “println()” ซงอย+ใ! นคลาส“System.out”

ตวอย!างการใชงาน : System.out.println() System.out.println(“Hello World”); การขนบรรทดใหม! เราจะใชเมธอด “println()” หร? อ “\n”มาช!วย เช!น System.out.print(“\n\nHello World\n\n”); ถาตองการพdมพ/ขอความทมเคร? องหมาย “ อย+ด! วยใหใช \ ช!วย เช!น ตองการแสดงว!า Hello “World” ตองพdมพ/วา! System.out.print(“Hello \”World\” “);

Suradet Petcharanon

Java Programming

9

ตวแปรและชนdดของขอม+ล 

ตวแปร(Variable) แบ!งเปน 4 ชนdดหลกๆ ไดแก! Integer,Floating,Character,Boolean นอกจากนยงสามารถใชคลาส String มาเปนตวแปร ไดอกดวย ร+ ปแบบในการสรางตวแปรในภาษาจาวาเปนดงน data_type variablename; เช!น int myInt;



การก&าหนดค!าเรd มตนใหกบตวแปร(Assignment) วdธท 1 สรางตวแปรแลวจงมาใส!ขอม+ล int x; x= 12; วdธท 2 ใส!ขอม+ลพรอมกบการสรางตวแปร int x = 12;

Suradet Petcharanon

Java Programming

10

ตวแปรทใชกบตวเลข(Number Type) แบ!งเปน 2 ชนdด  

Integer ใชเกบตวเลขจ&านวนเตมแบ!งเปน “int”, “short”, “long”, “byte” Floating ใชเกบตวเลขทมจVดทศนdยม แบ!งเปน “float”, “double” 

เช!น       

int num1,num2; long l = 300*30 int i = 20; int i1 = 34+1; float f = 34.0-0.1 Double d = 1.0/2.0; Byte i3 = 20%3;

Suradet Petcharanon

// l มค!าเท!ากบ 90000 // i มค!าเท!ากบ 20 // i1 มค!าเท!ากบ 35 // f มค!าเท!ากบ 33.9 // d มค!าเท!ากบ 0.5 // i3 มค!าเท!ากบ 2

Java Programming

11

ล&าดบของ Operator ทใชในการค&านวณ 

กรณทมการใช Operator มากกว!า 1 ตวในค&าสงเดยวจะเรยงล&าดบดงน     



วงเลบ () ++,-*,/,% +,+=,-=,*=,/=,%=

การค&านวณแบบย!อ (Shortcut Operator)     

เคร? องหมาย += เช!น i+=8 มค!าเท!ากบ i = i+8 เคร? องหมาย -= เช!น i-=8 มค!าเท!ากบ i = i-8 เคร? องหมาย *= เช!น i*=8 มค!าเท!ากบ i = i*8 เคร? องหมาย /= เช!น i/=8 มค!าเท!ากบ i = i/8 เคร? องหมาย %= เช!น i%=8 มค!าเท!ากบ i = i%8

Suradet Petcharanon

Java Programming

12

ล&าดบของ Operator ทใชในการค&านวณ 

การค&านวณแบบย!อ (Shortcut Operator)    

x++ ++x X- --x

Suradet Petcharanon

มค!าเท!ากบ x = x + 1 มค!าเท!ากบ x=x+1 มค!าเท!ากบ x=x–1 มค!าเท!ากบ x=x-1

Java Programming

13

ตวแปรทใชกบตวอกษร 

การนdยามตวแปรและการก&าหนดค!าเรd มตน   

char chData = ‘s’ //เกบตวอกษร ‘s’ char chrNumber = ‘4’ //เกบตวอกษร ‘4’ char numChar = 88 //เกบค!าตวอกษร ‘X’

Suradet Petcharanon

Java Programming

14

การแปลงชนdดของตวแปร(Type Conversion) 

การแปลงชนdดของขอม+ลทเปนตวเลข 



แปลงอตโนมตd  float float1 = 100;  long long1 = logn1*3+4;  double dou = dou*3.1+dou/2; การแปลงโดยใช casting  int myInt = 6;  long myLong;  myLong = (logn)myInt;

Suradet Petcharanon

Java Programming

15

String 

การสราง String 



Length 



int n = strName.length();

Substring 



String strName = “Suradet”;

Stirng sub = strName.substring(0,4);

Concatenation การเช?อมขอความ  

String lastName = “Petcharanon”; String name = strName + lastName;

Suradet Petcharanon

Java Programming

16

String 

การแปลงค!าระหว!าง Number และ String 

แปลงจากตวเลขไปเปนตวอกษร ท&าได 2 วdธ 

ใช เคร? องหมาย “+” โดยการเช?อมกบค!าว!าง (Null) 



ใชเมธอด toString() 



String message = “” + order;

String message = order.toString();

การแปลงจากตวอกษรไปเปนตวเลข 

ใช parseInt() ของคลาส Integer  



String password = “931”; int numPassword = Integer.parseInt(password);

ใช parseDouble() จากคลาส Double การใชงานจะเปนแบบเดยวกบ parseInt()

Suradet Petcharanon

Java Programming

17

Boolean เกบค!าเพยง 2 ค!าเท!านน ค?อ true และ false

เคร? องหมายทใชในการเปรยบเทยบ

      

< <= > >= == !=

Suradet Petcharanon

นอยกว!า นอยกว!าหร? อเท!ากบ มากกว!า มากกว!าหร? อเท!ากบ เท!ากบ มาเท!ากบ

1<2 1<=2 1>2 1>=2 1==2 1 != 2

Java Programming

เปน จรd ง เปน จรd ง เปน เทจ เปน เทจ เปน เทจ เปน จรd ง

18

Boolean 

เคร? องหมายทใชในการเปรยบเทยบทางตรรก    

! && || ^

Suradet Petcharanon

Not And Or Exclusive Or

ตรงขาม ตองเปนทงค+! อย!างใดอย!างหนง ตองไม!เหม?อนกน

Java Programming

19

การรบขอม+ลทางจอภาพ 

การใช System.in.read

import java.io.*; public class Read1{ public static void main(String args[]){ char ch; System.out.print(“Input one character Or press Q for Quit:”); do{ ch = (char)System.in.read(); System.out.println(“You Input :”+ch); }while(ch != ‘Q’) } }

Suradet Petcharanon

Java Programming

20

การรบขอม+ลทางจอภาพ 

การใช BufferedReader ร! วมกบ InputStreamReader  BufferReader stdin = new BufferReader(new InputStreamReader(System.in));  Input = stdin.readLine(); import java.io.*; public class Read2{ public static void main(String args[]){ BufferReader stdin = new BufferReader(new InputStreamReader(System.in)); String input = “”; System.out.print(“Please Input Any Character :”); input = stdin.readLine(); System.out.println(“You Input :”+input); } }

Suradet Petcharanon

Java Programming

21

การรบและการแสดงค!าในโหมดกราฟd กดวย Swing 

การแสดงผลดวย Swing

import javax.swing.*; class TestSwing{ JOptionPane.showMessageDialog(null, “Welcome\nto\java\nProgramming!”); System.exit(0); }

Suradet Petcharanon

Java Programming

22

คลาส JOptionPane 

มเมธอดอย+! 2 ตวค?อ  

showInputDialog() showMessageDialog() ร+ ปแบบของ Message Dialog Type     

JOptionPane.ERROR_MESSAGE JOptionPane.INFORMATION_MESSAGE JOptionPane.WARNING_MESSAGE JOptionPane.QUESTION_MESSAGE JOptionPane.PLAN_MESSAGE

Suradet Petcharanon

Java Programming

23

ตวอย!างการใช swing รบและแสดงผล import javax.swing.JOptionPane; class Addition{ public static void main(String args[]){ String firstNumber; String secondNumber; int num1,num2,sum; firstNumber = JOptionPane.showInputDialog(“Enter first Integer”); secondNumber = JOptionPane.showInputDialog(“Enter second Integer”); try{

num1 = Integer.parseInt(firstNumber); Suradet Petcharanon

} }

num2 = Integer.parseInt(secondNumber); sum = num1+num2; JOptionPane.showMessageDialog(null, “the sum is ”+sum, “Results”,JOptionPane.INFORMATION_M ESSAGE); System.exti(0); }catch(NumberFormatException e){ JOptionPane.showMessageDialog(null, “Please input number “ERROR”, JOptionPane.ERROR_MESSAGE); System.exit(0); }

Java Programming

24

ตวอย!างโจทย/ 



จงเขยนโปรแกรมค&านวณหาเสนรอบวงของวงกลมจากรศม ซงใชส+ตร 2*PI*r ซงให PI เปนค!าคงท รศมรบเขามาโดยใช Swing จงเขยนโปรแกรมแปลงค!าเงdนบาทโดยรบเงdนเขามาเปน ดอลลาร/ และรบ อตราแลกเปลยนดวย

Suradet Petcharanon

Java Programming

25

Related Documents


More Documents from "Aphroditety Z"

Java Programming 003
October 2019 7
Java Programming 002
October 2019 30
Java Programming 001
October 2019 17
Java Programming 004
October 2019 12