แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช...

220
แนะนําภาษาจาวา 16/12/58 เขียนโปรแกรม Java เบื้องตน 1

Upload: others

Post on 31-Dec-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

แนะนาภาษาจาวา

16/12/58 เขยนโปรแกรม Java เบองตน 1

Page 2: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

หวขอหวขอ

• ประวตของภาษาจาวาประวตของภาษาจาวา

• ขอดของภาษาจาวาขอดของภาษาจาวา

• จาวาแพลตฟอรมจาวาแพลตฟอรม

• การคอมไพลและรนโปรแกรมภาษาจาวา• การคอมไพลและรนโปรแกรมภาษาจาวา

• โปรแกรม HelloWorld ในแบบตวอกษรและ• โปรแกรม HelloWorld ในแบบตวอกษรและ

แบบกราฟกสแบบกราฟกส16/12/58 เขยนโปรแกรม Java เบองตน 2

Page 3: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ประวตของภาษาจาวา

16/12/58 เขยนโปรแกรม Java เบองตน 3

Page 4: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ภาษาโอคภาษาโอค

• ใ ป 1990 • เรมตนขนในปค.ศ. 1990

• แพททรก นอทน (Pattrick Naughton) จะลาออกจากซน

• เจมส กอสลง (James Gosling) ผใหกาเนดภาษาจาวา

• กรนทม – ยคถดจากคอมพวเตอรสวนบคคล (personal computer) กคอ

คอมพวเตอรในอปกรณอเลกโทรนกส (consumer electronics)

• ดค

16/12/58 เขยนโปรแกรม Java เบองตน 4

Page 5: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ภาษาจาวาภาษาจาวา

• มารค แอนดรสเซน กบ Mosaic และเวบ

• (Bill J ) • บล จอย (Bill Joy) แจกจายตวพฒนาภาษา

• นอทนพฒนาเวบเบราเซอรทสนบสนนภาษาจาวา นอทนพฒนาเวบเบราเซอรทสนบสนนภาษาจาวา

โปรแกรมดงกลาวมชอวา HotJava

• Netscape Navigator

• 23 มกราคม ค.ศ. 1996 ซนไดออก JDK 1.0

16/12/58 เขยนโปรแกรม Java เบองตน 5

Page 6: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ขอดของภาษาจาวา

16/12/58 เขยนโปรแกรม Java เบองตน 6

Page 7: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ขอดของภาษาจาวาขอดของภาษาจาวา

• ซ ไ • ทางานบนเวบเบราเซอรได

• ความปลอดภยสง • สนบสนนงานหลายระดบ

16/12/58 เขยนโปรแกรม Java เบองตน 7

Page 8: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ขอดของภาษาจาวาขอดของภาษาจาวา

• สามารถทางานบนเครองคอมพวเตอรไ ตางระบบได

• ภาษาจาวาเปนภาษาเชงวตถ• ความทนสมย

• ความเรยบงาย 16/12/58 เขยนโปรแกรม Java เบองตน 8

Page 9: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ขอดของภาษาจาวาขอดของภาษาจาวา

• กลไกในการคนพนทในหนวยความจาโอตโนมต (garbage collection)

• มคลาสและอนเตอรเฟซใหใชเยอะมาก

–794 interfaces

–2485 classes16/12/58 เขยนโปรแกรม Java เบองตน 9

Page 10: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

จาวาแพลตฟอรม

16/12/58 เขยนโปรแกรม Java เบองตน 10

Page 11: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

แพลตฟอรม (platform) แพลตฟอรม (platform)

• ระบบทโปรแกรมอาศยทางาน• Hardware

• Software

16/12/58 เขยนโปรแกรม Java เบองตน 11

Page 12: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

จาวาแพลตฟอรมจาวาแพลตฟอรม

• Java 2 Platform, Standard Edition (J2SE)

– จาวาแอพพลเคชน (Java application)

– แอพเพลต (Java applet)

• Java 2 Platform, Enterprise Edition (J2EE)

โป โป ใ – โปรแกรมแบบมลตเทยร (multitiered) สาหรบการพฒนาโปรแกรมในระดบองคกร

• Java 2 Platform, Micro Edition (J2ME)

โ โ – สนคาอเลกโทรนกส เชน โทรศพทมอถอ พดเอ (personal digital assistant) และกลองเคเบลทว (TV set-top box

16/12/58 เขยนโปรแกรม Java เบองตน 12

Page 13: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การคอมไพลและรนการคอมไพลและรน

โปโปรแกรมภาษาจาวา

16/12/58 เขยนโปรแกรม Java เบองตน 13

Page 14: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ชดพฒนาภาษาจาวา (JDK)ชดพฒนาภาษาจาวา (JDK)

• ชดพฒนาภาษาจาวา (Java Development Kit - JDK)

– จาวาคอมไพเลอร (javac.exe)(j )

– สภาพแวดลอมการรนโปรแกรมจาวา (Java Runtime สภาพแวดลอมการรนโปรแกรมจาวา (Java Runtime

Environment - JRE) (java.exe)

• Download http://java.sun.com

16/12/58 เขยนโปรแกรม Java เบองตน 14

Page 15: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรมทใชเขยนตนฉบบโปรแกรมโปรแกรมทใชเขยนตนฉบบโปรแกรม

• Notepad

–มาพรอมกบ Windows

• J-Lab– http://www.cp.eng.chula.ac.th/~somchai/JLab/http://www.cp.eng.chula.ac.th/ somchai/JLab/

• Netbeans

–http://www.netbeans.org/

• Eclipse

htt :// li /–http://www.eclipse.org/16/12/58 เขยนโปรแกรม Java เบองตน 15

Page 16: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

NotepadNotepad

16/12/58 เขยนโปรแกรม Java เบองตน 16

Page 17: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

J-LabJ-Lab

16/12/58 เขยนโปรแกรม Java เบองตน 17

Page 18: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

NetbeansNetbeans

16/12/58 เขยนโปรแกรม Java เบองตน 18

Page 19: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

EclipseEclipse

16/12/58 เขยนโปรแกรม Java เบองตน 19

Page 20: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรม HelloWorld ในโปรแกรม HelloWorld ใน

แบบตวอกษรและแบบ

กราฟกสกราฟกส

16/12/58 เขยนโปรแกรม Java เบองตน 20

Page 21: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรม HelloWorldโปรแกรม HelloWorld

•พมพคาวา Hello, World! ขนบน

หนาจอคอมพวเตอร

16/12/58 เขยนโปรแกรม Java เบองตน 21

Page 22: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การเปดโปรแกรม cmdการเปดโปรแกรม cmd

22

1

3

16/12/58 เขยนโปรแกรม Java เบองตน 22

Page 23: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คอมไพลโปรแกรมคอมไพลโปรแกรม

16/12/58 เขยนโปรแกรม Java เบองตน 23

Page 24: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรม HelloWorld โปรแกรม HelloWorld

public class HelloWorld

{

}

16/12/58 เขยนโปรแกรม Java เบองตน 24

Page 25: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรม HelloWorld โปรแกรม HelloWorld

public class HelloWorld

{

public static void main(String[] args)

{{

}

}

16/12/58 เขยนโปรแกรม Java เบองตน 25

Page 26: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรม HelloWorld โปรแกรม HelloWorld

public class HelloWorld

{

public static void main(String[] args)

{{

System.out.println("Hello, World!");

}

}

16/12/58 เขยนโปรแกรม Java เบองตน 26

Page 27: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรม HelloWorld แบบกราฟกโปรแกรม HelloWorld แบบกราฟก

16/12/58 เขยนโปรแกรม Java เบองตน 27

Page 28: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรม HelloWorld แบบกราฟกโปรแกรม HelloWorld แบบกราฟก

import java.awt.*;

import javax.swing.*;

public class HelloGraphicsWorld {

bli i id i (S i [] ) {public static void main(String[] args) {

JFrame frame = new JFrame() {

public void paint(Graphics g) {

g drawString("Hello World!" 110 150);g.drawString("Hello, World!", 110, 150);

g.drawOval(100, 130, 90, 30);

}

};

frame.setSize(300, 300);( , );

frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

16/12/58 เขยนโปรแกรม Java เบองตน 28

Page 29: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คาอธบายในโปรแกรมคาอธบายในโปรแกรม• คอมเมนตบรรทดเดยวคอมเมนตบรรทดเดยว

// print the word hello// print the word hello

• คอมเมนตทเปนยอหนาคอมเมนตทเปนยอหนา

/* /

This program p g

will print p

the word hello16/12/58 เขยนโปรแกรม Java เบองตน 29

Page 30: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คาอธบายในโปรแกรมคาอธบายในโปรแกรม

• คอมเมนตทเปนยอหนาสาหรบการ โสรางเอกสารดวยโปรแกรม javadoc

/**

*/

16/12/58 เขยนโปรแกรม Java เบองตน 30

Page 31: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรป

16/12/58 เขยนโปรแกรม Java เบองตน 31

Page 32: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

• โป ใ ฟ ป • โปรแกรมในจาวาแพลตฟอรมมาตรฐานมอยสองประเภทคอ แอพพลเคชน และ แอพเพลท

ไ โป ไป• จาวาแอพพลเคชนสามารถทางานไดเหมอนกบโปรแกรมทวไป มนสามารถทางานบนคอมพวเตอรตางรนตางระบบปฏบตการได เพราะวามนทางานอยบนโปรแกรมเครองจกรเสมอนเพราะวามนทางานอยบนโปรแกรมเครองจกรเสมอน

• จาวาแอพเพลตสามารถทางานบนเวบเพจได มนสามารถทางานบนคอมพวเตอรตางรนตางระบบปฏบตการได ขอเพยงแคมบนคอมพวเตอรตางรนตางระบบปฏบตการได ขอเพยงแคมโปรแกรมเวบเบราเซอรทสนบสนนภาษาจาวาตดตงอยบนระบบปฏบตการนนระบบปฏบตการนน

16/12/58 เขยนโปรแกรม Java เบองตน 32

Page 33: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

• โ โป ใ ฟ • ซอรสโคดโปรแกรมจาวาอยในแฟมทมนามสกล java

• โปรแกรมทใชคอมไพลภาษาจาวาชอ javac

• ผลการคอมไพลจะไดแฟมทมนามสกล class

• ไฟลนามสกล class สามารถทางานใน JRE ได

• ใชโปรแกรม java รนไฟล .class ทมเมธอด main()

• การพมพขอความใชคาสง การพมพขอความใชคาสง System.out.println("ขอความทตองการพมพ")

16/12/58 เขยนโปรแกรม Java เบองตน 33

Page 34: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ชนดขอมลพนฐานชนดขอมลพนฐาน

16/12/58 เขยนโปรแกรม Java เบองตน 1

Page 35: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

หวขอหวขอ ตวแปร

ชนดขอมลพนฐาน

การคานวณ

คาคงทคาคงท

16/12/58 เขยนโปรแกรม Java เบองตน2

Page 36: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวแปรตวแปร

16/12/58 เขยนโปรแกรม Java เบองตน 3

Page 37: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวแปรตวแปร• กลองสเหลยมกลองสเหลยม

= 5 + 3 = 5 + 3

• ตวอกษร• ตวอกษร

5 + 3x = 5 + 3

• คา

3count = 5 + 316/12/58 เขยนโปรแกรม Java เบองตน

4

Page 38: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การประกาศตวแปรการประกาศตวแปร

• รปแบบ

ชนดขอมล ชอตวแปร;

• ตวอยาง

int count;

double sum;

16/12/58 เขยนโปรแกรม Java เบองตน5

Page 39: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การตงชอการตงชอ• ตองเรมตนชอดวย

ตวอกษรโรมน (เชน a, z, A, Z)

เชน count

เครองหมาย _ หรอ $

เชน _height หรอ $name

• ตวเลขสามารถอยในชอตวแปรได • ตวเลขสามารถอยในชอตวแปรได

• เชน car12 หรอ c1a2r

หาม ขนตนชอดวยตวเลข

หาม ตงชอดวยคาสงวน (reserved word) ( ese ved wo d) 16/12/58 เขยนโปรแกรม Java เบองตน

6

Page 40: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คาสงวน (Reserved Words)คาสงวน (Reserved Words)

• abstract, assert, boolean, break, byte, case, catch, char,

class const continue default do double else enum class, const, continue, default, do, double, else, enum,

extends, final, finally, float, for, goto, if, implements,

import, instanceof, int, interface, long, native, new,

package, private, protected, public, return, short, static, p g , p , p , p , , , ,

strictfp, super, switch, synchronized, this, throw, throws,

i id l il hiltransient, try, void, volatile, while

16/12/58 เขยนโปรแกรม Java เบองตน7

Page 41: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

กาหนดคาใหตวแปรกาหนดคาใหตวแปร

• รปแบบ

• ตวแปร = คาทตองการกาหนด;

• ตวอยาง

• count = 3;

16/12/58 เขยนโปรแกรม Java เบองตน8

Page 42: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ชนดขอมลพนฐานน มล นฐ น

16/12/58 เขยนโปรแกรม Java เบองตน 9

Page 43: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ชนดขอมลพนฐานชนดขอมลพนฐาน ชนดขอมลชนดขอมล

booleancharcharstringb tbyteshortint

longfloat

double

16/12/58 เขยนโปรแกรม Java เบองตน10

Page 44: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

แผนผงแผนผง

16/12/58 เขยนโปรแกรม Java เบองตน11

Page 45: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

System.out.println(“ขอความ" + ตวแปร);

12

Page 46: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การรบคาimport java.util.Scanner;

j il S java.util.Scanner sc;

j til S (S stem in)sc = new java.util.Scanner(System.in);

String s = Sc nextLine(); //ใชสาหรบรบคาเปน StingString s = Sc.nextLine(); //ใชสาหรบรบคาเปน Sting

int i = Sc.nextInt(); //ใชสาหรบรบคาเปน intergerg

float f = Sc.nextFloat(); //ใชสาหรบรบคาเปน float

double d = Sc.nextDouble(); //ใชสาหรบรบคาเปน double

l l S L () //ใ ส ป llong l = Sc.nextLong(); //ใชสาหรบรบคาเปน long13

Page 47: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การคานวณร นวณ

16/12/58 เขยนโปรแกรม Java เบองตน 14

Page 48: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การคานวณการคานวณ• บวก

i 1 int a = 1;

int b = 2;int b 2;

int sum = a + b;;

• ลบ

• double a = 1.2;

• double b = 3.4;

• double result = a - b;16/12/58 เขยนโปรแกรม Java เบองตน

15

Page 49: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การเพมคาการเพมคา

• เครองหมาย +=

int count = 0;

count += 1;count += 1;

• เครองหมาย ++ (เพมคาอกหนง)เครองหมาย (เพมคาอกหนง)

int count = 0;

count++;

16/12/58 เขยนโปรแกรม Java เบองตน16

Page 50: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การคานวณการคานวณ

• คณ

int result;

result = 3 * 4;result = 3 * 4;

• หารหาร

double a = 14;

double result = a / 3;

16/12/58 เขยนโปรแกรม Java เบองตน17

Page 51: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การหารเอาเศษการหารเอาเศษ

• เครองหมาย %

• ตวอยาง

int remainder; int remainder;

remainder = 14 % 7; remainder 14 % 7;

remainder = 15 % 7;

16/12/58 เขยนโปรแกรม Java เบองตน18

Page 52: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ใชวงเลบเพอจดกลมการคานวณใชวงเลบเพอจดกลมการคานวณ

16/12/58 เขยนโปรแกรม Java เบองตน19

Page 53: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เปรยบเทยบผลการคานวณเปรยบเทยบผลการคานวณ

• int a = 2 + (3 * 4);

• int a = (2 + 3) * 4;

16/12/58 เขยนโปรแกรม Java เบองตน20

Page 54: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การแสดงผลการคานวณการแสดงผลการคานวณ• คาสง System.out.println()

• ตวอยาง

public class PrintMoney1 {

public static void main(String[] arg) {

i t 12int money = 12;

money *= 3;money 3;

System.out.println(money);y p y

}16/12/58 เขยนโปรแกรม Java เบองตน

21

Page 55: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การแสดงผลการคานวณการแสดงผลการคานวณ

• ตวอยาง

public class PrintMoney2 {

public static void main(String[] arg) {

int money = 12;

money *= 3;

System out println("Money is " + money);System.out.println("Money is " + money);

}16/12/58 เขยนโปรแกรม Java เบองตน

22

Page 56: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

โปรแกรมคานวณราคารวมภาษมลคาเพมโปรแกรมคานวณราคารวมภาษมลคาเพม

public class TaxCalculator {

public static void main(String[] args) {

double price = 50;

double vat = price * 7 / 100;

double totalPrice = price + vat;

System.out.println("Price include VAT is " + totalPrice);

}

}

16/12/58 เขยนโปรแกรม Java เบองตน23

Page 57: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คาคงท

16/12/58 เขยนโปรแกรม Java เบองตน 24

Page 58: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เลขพศวง (Magic Number)เลขพศวง (Magic Number)

public class TaxCalculator2 {

public static void main(String[] args) {

double price = 50;

double totalPrice = price * 1.07;

System.out.println("Price include VAT is " + totalPrice);

}

}

16/12/58 เขยนโปรแกรม Java เบองตน25

Page 59: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คาคงทคาคงท

• แกปญหาเลขพศวง

ป• ตรงขามกบตวแปร

• รปแบบ• รปแบบ

• final ชนดขอมล ชอคาคงท = คา;final ชนดขอมล ชอคาคงท คา;• ตวอยาง

• final double VAT_RATE = 1.07;

16/12/58 เขยนโปรแกรม Java เบองตน26

Page 60: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การคานวณภาษโดยใชคาคงทการคานวณภาษโดยใชคาคงทpublic class TaxCalculatorConst {

public static void main(String[] args) {

final double VAT RATE = 1 07;final double VAT_RATE = 1.07;

double tvPrice = 10000;

double dvdPrice = 600;

double cdPrice = 200;

double totalTVPrice = tvPrice * VAT_RATE;

double totalDVDPrice = dvdPrice * VAT RATE; double totalDVDPrice dvdPrice VAT_RATE;

double totalCDPrice = cdPrice * VAT_RATE;

16/12/58 เขยนโปรแกรม Java เบองตน27

Page 61: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสร

16/12/58 เขยนโปรแกรม Java เบองตน 28

Page 62: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

• ตวแปรเปนเหมอนกบกลองทสามารถใสคาตางๆลงไป

ป ป ป • ตวแปรแบงออกเปน 2 ประเภทคอ

• ตวแปรชนดขอมลพนฐาน• ตวแปรชนดขอมลพนฐาน

• ตวแปรทอางถงวตถหรอเรฟเฟอรเรนซตวแปรทอางถงวตถหรอเรฟเฟอรเรนซ

16/12/58 เขยนโปรแกรม Java เบองตน29

Page 63: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

• การบรรยายนกลาวถงตวแปรประเภทแรก นนคอตว

แปรชนดขอมลพนฐาน ซงสามารถแบงออกเปน 2 แปรชนดขอมลพนฐาน ซงสามารถแบงออกเปน 2

ประเภทยอยๆ คอ

• ตวเลข ไดแก byte, short, int, long, float และ

double

ไ ใ ไ • ไมใชตวเลข ไดแก char และ boolean

16/12/58 เขยนโปรแกรม Java เบองตน30

Page 64: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

• ตวแปรทเปนตวเลขสามารถนามาคานวณไดโดยใช

เครองหมาย + * / และ % เปนตนเครองหมาย +, -, *, /, และ % เปนตน

• การคานวณจะเรมจากเครองหมายทมความสาคญการคานวณจะเรมจากเครองหมายทมความสาคญ

มากกวากอน

• เพอความแนนอน ใหใชวงเลบชวยจดลาดบการ

คานวณ

16/12/58 เขยนโปรแกรม Java เบองตน31

Page 65: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

• ไมควรใชเลขพศวงในการคานวณ ใหใชคาคงทแทน

ป ไ โ ใ • การประกาศคาคงททาไดโดยใชคาวา final

16/12/58 เขยนโปรแกรม Java เบองตน32

Page 66: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ประโยคควบคม

16/12/58 เขยนโปรแกรม Java เบองตน 1

Page 67: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

หวขอหวขอ

• การทางานแบบเรยงลาดบ

• ประโยค if, if‐else• ประโยค switch• ประโยคทใชทางานซาหรอลป

– for– while– do‐while

• คาสง break• คาสง continue

16/12/58 เขยนโปรแกรม Java เบองตน 2

Page 68: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การทางานแบบเรยงลาดบ

16/12/58 เขยนโปรแกรม Java เบองตน 3

Page 69: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การทางานแบบเรยงลาดบการทางานแบบเรยงลาดบ

bli l Sh ipublic class Shopping

{public static void main(String[] args) 

{int cash      = 500;

int bookPrice = 180;

int foodPrice =  20;int sodaPrice =   7;

cash ‐= bookPrice;

cash ‐= foodPrice;

cash ‐= sodaPrice;

System.out.println("Cash = " + cash);

}}

16/12/58 เขยนโปรแกรม Java เบองตน 4

Page 70: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ประโยค if

16/12/58 เขยนโปรแกรม Java เบองตน 5

Page 71: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ประโยค ifประโยค if• รปแบบ

if (เงอนไข) 

{{ประโยคทจะทางานเมอเงอนไขเปนจรง;

}

• ตวอยางตวอยาง

if (cash >= bookPrice) {

System.out.println("Buy book."); }}

16/12/58 เขยนโปรแกรม Java เบองตน 6

Page 72: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางการตดสนใจซอหนงสอตวอยางการตดสนใจซอหนงสอ

public class If {

public static void main(String[] args) {

int cash      = 200;

int bookPrice = 180;

if (cash >= bookPrice) {if (cash >= bookPrice) {         

cash -= bookPrice;        

System.out.println("Buy book.");

}

System.out.println("Cash = " + cash);

}

}}

16/12/58 เขยนโปรแกรม Java เบองตน 7

Page 73: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การเปรยบเทยบการเปรยบเทยบ

1. <

2 >2. >

3. <=

4. >=

5. ==6 !6. !=

16/12/58 เขยนโปรแกรม Java เบองตน 8

Page 74: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การเปรยบเทยบทศนยมการเปรยบเทยบทศนยม

ใ ไ• แทนทจะเทยบความเทากน บางทควรเทยบวามคาใกลเคยงกนหรอไม

• เชน d = 2เชน d   2– d * d ไมเทากบ2 

d * d ใ 2– d * d มคาใกลเคยงกบ 2

16/12/58 เขยนโปรแกรม Java เบองตน 9

Page 75: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวดาเนนการแบบบล (Boolean operator)ตวดาเนนการแบบบล (Boolean operator)

&& • && คอ AND– เชน เงอนไข cash >= price && price < 150 p p

• || คอ OR

! NOT• ! คอ NOT

16/12/58 เขยนโปรแกรม Java เบองตน 10

Page 76: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวดาเนนการแบบบลตวดาเนนการแบบบล

เงอนไข ตวดาเนนการแบบบล

A B A && B A || B !A

false false false false true

false true false true true

true false false true false

t t t t f ltrue true true true false

16/12/58 เขยนโปรแกรม Java เบองตน 11

Page 77: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวดาเนนการแบบบลตวดาเนนการแบบบล

bl l f dpublic class IfAnd

{

public static void main(String[] args)public static void main(String[] args) 

{

int cash  = 220;

int price = 100;

if ( h i && i 150)if (cash >= price && price < 150) 

System.out.println("Buy book.");

}}

}

16/12/58 เขยนโปรแกรม Java เบองตน 12

Page 78: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การใชตวแปรแทนเงอนไขการใชตวแปรแทนเงอนไข

f ( && )• if (มเงนพอ && ราคาทสมเหตผล)

• if (cash >= price && price < 150)

• boolean hasEnoughCash = cash >= price;g pboolean reasonablePrice = price < 150;if (hasEnoughCash && reasonablePrice)if (hasEnoughCash && reasonablePrice) 

16/12/58 เขยนโปรแกรม Java เบองตน 13

Page 79: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การทางานเมอเงอนไขเปนเทจ (else)การทางานเมอเงอนไขเปนเทจ (else)

• รปแบบ

if (เงอนไข)

{

ประโยคทจะทางานเมอเงอนไขเปนจรง;

}

else

{{

ประโยคทจะทางานเมอเงอนไขเปนเทจ;

}}

16/12/58 เขยนโปรแกรม Java เบองตน 14

Page 80: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางการตดสนใจใชบตรเครดตตวอยางการตดสนใจใชบตรเครดต

int cash  = 200;

int price = 380;

if (cash >= price) 

{

cash ‐= price;    

System.out.println("Use cash");

}

else 

{

System.out.println("Use card");

}system.out.println(“Cash = “ + cash);

}}

16/12/58 เขยนโปรแกรม Java เบองตน 15

Page 81: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การกาหนดคาตามเงอนไขการกาหนดคาตามเงอนไข

ป• รปแบบ

– ตวแปร = เงอนไข ? a : b;

• ตวอยาง

i t i 99int price = 99;

int withdraw = price <= 100 ? 100 : 200; 

ถาเงอนไขเปนจรง withdraw มคาเปน 100 ถาเงอนไขเปนเทจ withdraw มคาเปน 200คาเปน 200

16/12/58 เขยนโปรแกรม Java เบองตน 16

Page 82: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การจดระเบยบโปรแกรมการจดระเบยบโปรแกรม

public class IfAssignMessy

{

bli t ti id i ( St i [] )public static void main( String[] args ) 

{

int price = 99;

int withdraw;

if( price <= 100 )

withdraw = 100;withdraw = 100;

else

withdraw = 200; 

System.out.println("Withdraw = " + withdraw);

}}

16/12/58 เขยนโปรแกรม Java เบองตน 17

Page 83: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การจดระเบยบโปรแกรมการจดระเบยบโปรแกรม

public class IfAssign

{

bli t ti id i (St i [] )public static void main(String[] args) 

{

int price = 99;

int withdraw;

if (price <= 100)if (price <= 100)

withdraw = 100;

else

withdraw = 200; 

System.out.println("Withdraw = " + withdraw);y p ( );

}

}16/12/58 เขยนโปรแกรม Java เบองตน 18

Page 84: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การจดระเบยบโปรแกรมการจดระเบยบโปรแกรม

public class IfAssign {

public static void main(String[] args) {

i t i 99int price = 99;

int withdraw;

if (price <= 100)

withdraw = 100;

elseelse

withdraw = 200; 

System.out.println("Withdraw = " + withdraw);

}

}}

16/12/58 เขยนโปรแกรม Java เบองตน 19

Page 85: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

รปแบบ if‐else ifรปแบบ if‐else if 

if (เงอนไข1)

{{ประโยคทจะทางานเมอ เงอนไข1 เปน จรง;

}else if (เงอนไข2)

{ประโยคทจะทางานเมอ เงอนไข2 เปน จรง;ประโยคทจะทางานเมอ เงอนไข2 เปน จรง;

}

else 

{ประโยคทจะทางานเมอ เงอนไขกอนหนานทงหมด เปน เทจ;

}

16/12/58 เขยนโปรแกรม Java เบองตน 20

Page 86: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางการคดเกรดตวอยางการคดเกรด

h dchar grade;

int score = 70;

if 90if (score >= 90)

grade = 'A';

else if (score >= 80)

grade = 'B';

else if (score >= 60)

grade = 'C';

else if (score >= 40)

grade = 'D';

else 

grade = 'F';

16/12/58 เขยนโปรแกรม Java เบองตน 21

Page 87: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ประโยค switch

16/12/58 เขยนโปรแกรม Java เบองตน 22

Page 88: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

รปแบบรปแบบ

switch ( )switch (กรณ) 

{case กรณ1:

ประโยค;

break;

case กรณ2:

ประโยค;

break; break;

default:

ประโยค;;}

16/12/58 เขยนโปรแกรม Java เบองตน 23

Page 89: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางการพมพขอความชมเชยตามเกรดทไดตวอยางการพมพขอความชมเชยตามเกรดทได

char grade = 'B';

switch (grade) 

{

case 'A':case  A : System.out.println(“ดมาก"); 

break;

case 'B': System.out.println(“ด");

break;

case 'C': S i l (“ ใ ")System.out.println(“พอใช");

break;

case 'D': System.out.println(“ตองปรบปรง");System.out.println( ตองปรบปรง );

break;

default:System.out.println(“แกไข");

}

16/12/58 เขยนโปรแกรม Java เบองตน 24

Page 90: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

Menu1.บวก

2.ลบ2.ลบ

3. คณ

4.หาร

16/12/58 เขยนโปรแกรม Java เบองตน 25

Page 91: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

แบบฝกหดแบบฝกหด

ใ ใ โ ใหรบ ชอผซอ และเลอกหนงสอ และใหกาหนดจานวนหนงสอ โดยมเมน

ดงน

MENU1 โป1. การเขยนโปรแกรมภาษาจาวา

2. คมอ VB.NET 

3. หนงสอภาษาไทย

โ โปโดยกาหนดวา หนงสอการเขยนโปรแกรมภาษาจาวา ราคา 350

คมอ VB.NET  540 หนงสอภาษาไทย 150

16/12/58 เขยนโปรแกรม Java เบองตน 26

Page 92: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การวนลปแบบ while 

16/12/58 เขยนโปรแกรม Java เบองตน 27

Page 93: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

รปแบบรปแบบ

hil ( ไwhile (เงอนไข)

{ ประโยคททาซาขณะทเงอนไขเปนจรง;

}}

16/12/58 เขยนโปรแกรม Java เบองตน 28

Page 94: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางการคานวณดอกเบยตวอยางการคานวณดอกเบย

int year = 0;

double balance = 100;

while (balance <= 10000)

{{

year++;

b l * 1 05balance *= 1.05;

}

16/12/58 เขยนโปรแกรม Java เบองตน 29

Page 95: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ป d hilการวนลปแบบ do‐while 

16/12/58 เขยนโปรแกรม Java เบองตน 30

Page 96: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

รปแบบรปแบบ

do 

{{ ประโยค;

} while (เงอนไข);

16/12/58 เขยนโปรแกรม Java เบองตน 31

Page 97: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางวนลปจนกวาจะไดขอมลทถกตองตวอยางวนลปจนกวาจะไดขอมลทถกตอง

ddo

{{

รบขอมล;

} while (ขอมลไมถกตอง);

นาขอมลทถกตองไปประมวลผล;นาขอมลทถกตองไปประมวลผล;

16/12/58 เขยนโปรแกรม Java เบองตน 32

Page 98: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การวนลปแบบ for 

16/12/58 เขยนโปรแกรม Java เบองตน 33

Page 99: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

รปแบบรปแบบ

f ไfor (ประโยคเรม; เงอนไข; ประโยคอพเดท)

{{

ประโยคในลป;

}

16/12/58 เขยนโปรแกรม Java เบองตน 34

Page 100: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางวนลปเปนจานวน 5 ครงตวอยางวนลปเปนจานวน 5 ครง

f (for (int i = 0; i < 5; i++)

{{ // ประโยคทจะทาซา 5 ครง

}

16/12/58 เขยนโปรแกรม Java เบองตน 35

Page 101: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางการคานวณยอดเงนในบญชเมอเวลาผานไป 95 ปตวอยางการคานวณยอดเงนในบญชเมอเวลาผานไป 95 ป

double balance = 100;

f ( )for (int i = 0; i < 95; i++)

{b l * 0 (b l b l * 0 )balance *= 1.05; (balance = balance*1.05)

}

System.out.println(balance);

16/12/58 เขยนโปรแกรม Java เบองตน 36

Page 102: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คาสง break

16/12/58 เขยนโปรแกรม Java เบองตน 37

Page 103: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การออกจาก while ดวยคาสง breakการออกจาก while ดวยคาสง break

hil ไ ใ ปwhile( เงอนไข ในการวนลป)

{

….

if( เงอนไขทจะออกจากลป )

break;

….

}

คาสงหลงลป;

16/12/58 เขยนโปรแกรม Java เบองตน 38

Page 104: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การออกจาก for ดวยคาสง breakการออกจาก for ดวยคาสง break

for (int i = 0; i < 5; i++) 

{{

System.out.print("<");

if (i == 2)

b kbreak;

S t t i t(i " ")System.out.print(i + ">");

}

16/12/58 เขยนโปรแกรม Java เบองตน 39

Page 105: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คาสง continue

16/12/58 เขยนโปรแกรม Java เบองตน 40

Page 106: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ขามไปตรวจสอบเงอนไขขามไปตรวจสอบเงอนไข

h l ไwhile( เงอนไขในการวนลป)

{{

….

if( เงอนไขทจะกลบไปตนลป )

continue;continue;

….

}

16/12/58 เขยนโปรแกรม Java เบองตน 41

Page 107: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ขามไปตรวจสอบเงอนไขขามไปตรวจสอบเงอนไข

f ไfor (ประโยคเรม; เงอนไข; ประโยคอพเดท)

{{

….

if( เงอนไขทจะกลบไปตนลป )

continue;continue;

….

}

16/12/58 เขยนโปรแกรม Java เบองตน 42

Page 108: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางโปรแกรมตวอยางโปรแกรม

for (int i = 0; i < 5 ;  i++ )

{{

System.out.print("<");

if (i == 2)

continue;

System.out.print(i + ">");

}

16/12/58 เขยนโปรแกรม Java เบองตน 43

Page 109: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรป

16/12/58 เขยนโปรแกรม Java เบองตน 44

Page 110: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

โ ไปโป • โดยทวไปโปรแกรมจะทางานเรยงลาดบทละคาสง

• ประโยคควบคมมหนาทควบคมการลาดบการทางานของคาสงตางๆ ๆ

• คาสงทอยถดจากประโยค if จะทางานเมอเงอนไขเปนจรง

16/12/58 เขยนโปรแกรม Java เบองตน 45

Page 111: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

f l ไ• ประโยค if-else ทาใหโปรแกรมทางานอยางหนงเมอเงอนไขเปนจรงและทางานอกอยางหนงเมอเงอนไขเปนเทจ

• ประโยค if-else if ใชกรณทมหลายๆ เงอนไข

ป โ it h ใ ไ โ ป • ประโยค switch ใชกรณทมหลายๆ เงอนไข โดยจะเปรยบเทยบกบคาคงท

16/12/58 เขยนโปรแกรม Java เบองตน 46

Page 112: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

h l ไ• ประโยค while ใชเพอวนทางานซาจนกวาเงอนไขจะเปนเทจ

• ประโยค do-while จะทางานในกลมประโยคหลง do หนงครง ตรวจสอบเงอนไข และจะวนลปไปเรอยๆจนกวาเงอนไขจะเปนเทจ

ป โ f ป ป • ประโยค for เปนลปทเหมาะสาหรบการกาหนดจานวนครงการวนซา

16/12/58 เขยนโปรแกรม Java เบองตน 47

Page 113: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

b k • คาสง break ใชเพอออกจากลป

• คาสง continue จะตรวจสอบเงอนไขของลป ถาเปนจรงจะทางานคาสงทอยตนลป แตถาเปนเทจจะออกจากลป

16/12/58 เขยนโปรแกรม Java เบองตน 48

Page 114: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

แบบฝกหด แบบฝกหด

f l • จงเขยนโปรแกรมเพอแสดงชอและเงนเดอนโดยใชคาสง if‐ else ทประมวลผลแสดงผลดงตอไปน

‐ เงนเดอนมากกวา 200000 แสดงผล คณเปนผจดการ

‐ เงนเดอนมากวา 150000 – 200000   แสดงผลคณเปนผจดการฝาย

‐ เงนเดอนมากกวา 100000 – 150000 แสดงผลคณเปนผจดการแผนก

เงนเดอนตงแต 50000 100000 แสดงผลคณเปนหวหนาหนวย‐ เงนเดอนตงแต 50000 – 100000 แสดงผลคณเปนหวหนาหนวย

‐ เงนเดอนตากวา 50000 แสดงผลคณเปนพนกงาน

16/12/58 เขยนโปรแกรม Java เบองตน 49

Page 115: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

แบบทดสอบแบบทดสอบ

ใ โใหเขยนโปรแกรมตรวจสอบ Username = add และ

P d ddPassword = add

จานวน 3 ครง ***ถาถกครงใดครงหนงแสดงวา ATCจานวน 3 ครง ถาถกครงใดครงหนงแสดงวา ATC

ครงท 1 แสดงขอความวา กรณาตรวจสอบครงท 2ครงท 1 แสดงขอความวา กรณาตรวจสอบครงท 2

ครงท 2 แสดงขอความวา กรณาตรวจสอบครงท 3ครงท 2 แสดงขอความวา กรณาตรวจสอบครงท 3

ครงท 3 แสดงขอความวา ออกจากโปรแกรมครงท 3 แสดงขอความวา ออกจากโปรแกรม16/12/58 เขยนโปรแกรม Java เบองตน 50

Page 116: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สายอกขระ

คอสายทไมไดเอาไปคานวณ คอสายทไมไดเอาไปคานวณ

จะเปนตวเลขหรอตวอกษรกไดจะเปนตวเลขหรอตวอกษรกได

16/12/58 เขยนโปรแกรม Java เบองตน 1

Page 117: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

หวขอหวขอ

• • สายอกขระ

• คลาส String• คลาส String• คลาส StringBufferคลาส StringBuffer

16/12/58 เขยนโปรแกรม Java เบองตน2

Page 118: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สายอกขระ

16/12/58 เขยนโปรแกรม Java เบองตน 3

Page 119: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สายอกขระสายอกขระpublic class HelloWorld {public class HelloWorld {

public static void main(String[] args) {System.out.println("Hello, World! 2");

}}

16/12/58 เขยนโปรแกรม Java เบองตน4

Page 120: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ประโยชนของสายอกขระประโยชนของสายอกขระ

• ใ • บอกผลลพธของการคานวณใหเราทราบ

• รายงานขนตอนการทางานของโปรแกรมรายงานขนตอนการทางานของโปรแกรม

• เกบขอมลทเปนตวอกษร ตวเลข สญลกษณ เกบขอมลทเปนตวอกษร ตวเลข สญลกษณ

16/12/58 เขยนโปรแกรม Java เบองตน5

Page 121: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คลาส Stringคลาส String

16/12/58 เขยนโปรแกรม Java เบองตน 6

Page 122: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การใชงานสตรงการใชงานสตรง

• ป ป• ประกาศตวแปร

String name;String name;

• กาหนดคา

name = new String("Smith");

• แสดงผล

System out println(name); System.out.println(name);

16/12/58 เขยนโปรแกรม Java เบองตน7

Page 123: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เรฟเฟอรเรนซ (Reference)เรฟเฟอรเรนซ (Reference)i t• int n–n เปนขอมลชนดจานวนเตม n เปนขอมลชนดจานวนเตม

• String nameg–ไมไดหมายความวา name เปนวตถ String –แตเปนการบอกวา name เปนเรฟเฟอรเรนซ

(reference) หรอตวทใชอางองไปทวตถ String(reference) หรอตวทใชอางองไปทวตถ String

16/12/58 เขยนโปรแกรม Java เบองตน8

Page 124: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

วตถและเรฟเฟอรเรนซวตถและเรฟเฟอรเรนซ

• • วตถ

• เรฟเฟอรเรนซ

16/12/58 เขยนโปรแกรม Java เบองตน9

Page 125: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การสงงานสตรง การสงงานสตรง

• ป• รปแบบ– เรฟเฟอรเรนซ.ขอความ(สงทสงไปพรอมกบขอความ)

• ตวอยาง– name.length();– name.charAt(1);

16/12/58 เขยนโปรแกรม Java เบองตน10

Page 126: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เมธอดทนาสนใจเมธอดทนาสนใจ

length() • length() ความยาวของสตรง

• charAt() ตวอกษรในตาแหนงทกาหนด• charAt() ตวอกษรในตาแหนงทกาหนด

–ตวอกษรตวแรกคอตาแหนงท 0

–ตวอกษรสดทายคอ length() - 1

• indexOf() ตาแหนงของสายอกขระในสตรง

b t i () • substring() สตรงทอยในชวงทกาหนด

16/12/58 เขยนโปรแกรม Java เบองตน11

Page 127: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางการใชเมธอดตวอยางการใชเมธอดpublic class StringMessage {public class StringMessage {

public static void main(String[] args) {String name = "Smith";

System.out.println(name.length());S t t i tl h At 2System.out.println(name.charAt(2));System.out.println(name.indexOf("t"));System.out.println(name.substring(1, 3));System.out.println(name.substring(1, 3));

}}

16/12/58 เขยนโปรแกรม Java เบองตน12

Page 128: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การเปรยบเทยบสตรง (แบบผดๆ)การเปรยบเทยบสตรง (แบบผดๆ)public class StringCompareInCorrect {public class StringCompareInCorrect {

public static void main(String[] args) {String name1 = new String(“Smith”);String name2 = new String(“Smith”);System.out.println(name1 == name2);

}

}

16/12/58 เขยนโปรแกรม Java เบองตน13

Page 129: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การเปรยบเทยบสตรง (แบบผดๆ)การเปรยบเทยบสตรง (แบบผดๆ)

16/12/58 เขยนโปรแกรม Java เบองตน14

Page 130: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การเปรยบเทยบสตรงการเปรยบเทยบสตรงpublic class StringCompare {public class StringCompare {

public static void main(String[] args) {String name1 = new String(“Smith”);String name2 = new String(“Smith”);System.out.println(name1.equals(name2));

} }}

16/12/58 เขยนโปรแกรม Java เบองตน15

Page 131: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การตอสตรงการตอสตรง

concat()• เมธอด concat()• เครองหมาย +• เครองหมาย +• เครองหมาย +=เครองหมาย

16/12/58 เขยนโปรแกรม Java เบองตน16

Page 132: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เมธอด concat()เมธอด concat()public class StringConcat1 {public class StringConcat1 {

public static void main(String[] args) {String name = "Smith";String lastName = " Brown";String fullName = name.concat(lastname);S i l (f llSystem.out.println(fullName);

}}}

16/12/58 เขยนโปรแกรม Java เบองตน17

Page 133: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เครองหมาย +เครองหมาย +public class StringConcat2 {public class StringConcat2 {

public static void main(String[] args) {String name = "Smith";String lastName = " Brown";

String fullName = name + lastName;i l (f ll )System.out.println(fullName);

}

}}

16/12/58 เขยนโปรแกรม Java เบองตน18

Page 134: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เครองหมาย +=เครองหมาย +=public class StringAppend {public class StringAppend {

public static void main(String[] args) {String name = "Smith";String lastName = " Brown";

name += lastName;

S i l ( )System.out.println(name); }

}}

16/12/58 เขยนโปรแกรม Java เบองตน19

Page 135: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ความมนคงของสตรง

(Immutability)• ไ ป ป ไ • ไมสามารถเปลยนแปลงคาของสายอกขระไดเลย

หลงจากทเราไดสรางมนขนมา

• ในบรรดาขอความ (message) ทวตถ String รจกนน ไมมขอความใดเลยททาใหสายอกขระ

ป ป ไ เปลยนแปลงได

–length()length() –substring()

16/12/58 เขยนโปรแกรม Java เบองตน20

Page 136: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สตรงไมเปลยนแปลงสตรงไมเปลยนแปลงString str;String str;str = new String("Smith");str = new String("John");

16/12/58 เขยนโปรแกรม Java เบองตน21

Page 137: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สตรงไมเปลยนแปลงสตรงไมเปลยนแปลงString str = "Smith";String str Smith ;System.out.println(str.toUpperCase());System.out.println(str);

16/12/58 เขยนโปรแกรม Java เบองตน22

Page 138: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สตรงไมเปลยนแปลงสตรงไมเปลยนแปลง

public class StringDeficiency {public static void main(String[] args){

String str = "A";for (int i = 0; i < 100; i++)

str += "A";System.out.println(str);

}}

16/12/58 เขยนโปรแกรม Java เบองตน23

Page 139: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สตรงไมเปลยนแปลงสตรงไมเปลยนแปลง

16/12/58 เขยนโปรแกรม Java เบองตน24

Page 140: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คลาส StringBufferคลาส StringBuffer

16/12/58 เขยนโปรแกรม Java เบองตน 25

Page 141: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ขอดของ StringBufferขอดของ StringBuffer• ป ใ ป• ประหยดทงหนวยความจาและเวลาในการประมวลผล

– วตถ StringBuffer สามารถเปลยนแปลงคาในสายวตถ StringBuffer สามารถเปลยนแปลงคาในสาย

อกขระทมนนาเสนอไดเอง โดยไมตองสรางวตถขนมาใหม

16/12/58 เขยนโปรแกรม Java เบองตน26

Page 142: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เมธอดทนาสนใจเมธอดทนาสนใจ

append() • append() การตอสายอกขระ• insert() การแทรกสายอกขระ• insert() การแทรกสายอกขระ• delete() การลบสายอกขระยอยdelete() การลบสายอกขระยอย

16/12/58 เขยนโปรแกรม Java เบองตน27

Page 143: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางการใชเมธอดตวอยางการใชเมธอดStringBuffer sb = new StringBuffer("John");StringBuffer sb new StringBuffer( John );System.out.println(sb);

sb.append(" Hunter");System.out.println(sb);

sb.insert(4, "y");

Systemoutprintln(sb);System.out.println(sb);

sb.delete(2, 4);System.out.println(sb);

16/12/58 เขยนโปรแกรม Java เบองตน28

Page 144: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ป ป StringBufferทดลองเปลยนแปลง StringBufferpublic class StringBufferAppend {public class StringBufferAppend {

public static void main(String[] args) {

StringBuffer sb;sb = new StringBuffer("A");

f i i 0 i 100 ifor (int i = 0; i < 100; i++)

sb.append("A");

System.out.println(sb);}

}

16/12/58 เขยนโปรแกรม Java เบองตน29

Page 145: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ป ป StringBufferทดลองเปลยนแปลง StringBuffer

16/12/58 เขยนโปรแกรม Java เบองตน30

Page 146: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

StringBuilderStringBuilder StringBuffer• มเมธอดทเหมอนกบ StringBuffer

• ทางานไดเรวกวา StringBuffer• ทางานไดเรวกวา StringBuffer• StringBuffer ปลอดภยสาหรบการทางานในแบบStringBuffer ปลอดภยสาหรบการทางานในแบบ

multiple threads

16/12/58 เขยนโปรแกรม Java เบองตน31

Page 147: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

Java DocJava Doc

16/12/58 เขยนโปรแกรม Java เบองตน 32

Page 148: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เอกสารอางองเอกสารอางอง

16/12/58 เขยนโปรแกรม Java เบองตน33

Page 149: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

แหลงเอกสารแหลงเอกสาร

http://java sun com/j se/ docs/• http://java.sun.com/j2se/1.5.0/docs/apiapi

• http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

• http://java.sun.com/j2se/1.5.0/docs/api/java/lang/StringBuffer htmlcs/api/java/lang/StringBuffer.html

16/12/58 เขยนโปรแกรม Java เบองตน34

Page 150: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรป

16/12/58 เขยนโปรแกรม Java เบองตน 35

Page 151: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป• สายอกขระมไวเพอการแสดงผลขอความ• สายอกขระมไวเพอการแสดงผลขอความ

• สายอกขระไดถกนาเสนอดวยวตถ String และ StringBuffer• เราสามารถใชงานวตถไดโดยผานทางเรฟเฟอรเรนซ

• เรฟเฟอรเรนซเปรยบเสมอนรโมทคอนโทรล

• วตถเปรยบไดกบสงทรโมทนนควบคมอย

• การสงขอความหาวตถเปรยบไดกบการกดปมรโมทคอนโทรล• การสงขอความหาวตถเปรยบไดกบการกดปมรโมทคอนโทรล

16/12/58 เขยนโปรแกรม Java เบองตน36

Page 152: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป• การเปรยบเทยบสตรงทาไดโดยการสงขอความ equals( ) • การเปรยบเทยบสตรงทาไดโดยการสงขอความ equals( )

• การตอสตรงนอกจากจะใชการสงขอความ concat() แลว ยงสามารถใช

+ ไ เครองหมาย + ไดอกดวย• สายอกขระของวตถ String ไมสามารถถกเปลยนแปลงได

• ถาตองการเปลยนแปลงคาในสายอกขระบอยๆ ควรใชวตถ StringBuffer

16/12/58 เขยนโปรแกรม Java เบองตน37

Page 153: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ÊÒÂoa¡¢ÃaÊÒÂo¡¢Ãa

คอสายทไมไดเอาไปคานวณ

จะเปนตวเลขหรอตวอกษรกได

16/12/58 เขยนโปรแกรม Java เบองตน 1

Page 154: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

�ËaÇ¢ �o

ÊÒÂoa¡¢Ãa

¤ÅÒÊ String Å Ê tring

¤ÅÒÊ StringBuffer¤ÅÒÊ StringBuffer

16/12/58 เขยนโปรแกรม Java เบองตน 2

Page 155: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ÊÒÂoa¡¢ÃaÊÒÂo¡¢Ãa

16/12/58 เขยนโปรแกรม Java เบองตน 3

Page 156: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ÊÒÂoa¡¢Ãa

([] )

..(" ! ")

16/12/58 เขยนโปรแกรม Java เบองตน 4

Page 157: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

�»Ãaoª¹ �¢o§ÊÒÂoa¡¢Ãa

ºo¡¼ÅÅa¾¸ �¢o§¡ÒäíҹdzãË �eÃÒ·ÃÒº

ÃÒ§ҹ¢aé¹µo¹¡Ò÷íÒ§Ò¹¢o§o»Ãæ¡ÃÁ

e¡çº¢ �oÁÙÅ·Õèe» �¹µaÇoa¡Éà µaÇeÅ¢ Êa­Åa¡É³ �

16/12/58 เขยนโปรแกรม Java เบองตน 5

Page 158: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

Å Ê St i¤ÅÒÊ String

16/12/58 เขยนโปรแกรม Java เบองตน 6

Page 159: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

�¡ÒÃ㪠�§Ò¹ÊµÃi§

»Ãa¡ÒȵaÇæ»Ã

¡íÒ˹´¤ �Ò " "

æÊ´§¼Å æÊ´§¼Å

16/12/58 เขยนโปรแกรม Java เบองตน 7

Page 160: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

� �eÿe¿oà �eù« � (Reference)

int n

n e» �¹¢ �oÁÙŪ¹ i ¨íҹǹeµçÁ

String name

äÁ �ä´ �ËÁÒ¤ÇÒÁÇ �Ò name e» �¹Çaµ¶ u String

æµ �e» �¹¡Òúo¡Ç �Ò name e» �¹eÿe¿oà �eù« � (reference) ËÃoµaÇ·Õè㪠�o �Ò§o i§ä»·ÕèÇaµ¶ String (reference) ËÃoµÇ·ãªoÒ§o§ä»·Çµ¶ u String

16/12/58 เขยนโปรแกรม Java เบองตน 8

Page 161: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

� �Çaµ¶ uæÅaeÿe¿oà �eù« �

Çaµ¶ uu

eÿe¿oà �eù« �

16/12/58 เขยนโปรแกรม Java เบองตน 9

Page 162: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

è¡ÒÃÊa觧ҹʵÃi§

û溺Ãٻ溺 eÿe¿oà �eù« �.¢ �o¤ÇÒÁ(Ê i觷ÕèÊ �§ä»¾Ã �oÁ¡aº¢ �o¤ÇÒÁ)

µaÇo �Ò§ name.length();

name.charAt(1);

16/12/58 เขยนโปรแกรม Java เบองตน 10

Page 163: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

è �eÁ¸o´·Õè¹ �Òʹã¨

length() ¤ÇÒÁÂÒÇ¢o§ÊµÃi§

charAt() µaÇoa¡ÉÃã¹µíÒæ˹ �§·Õè¡íÒ˹´

µaÇoa¡ÉõaÇæá¤oµíÒæ˹ �§·Õè 0

µaÇoa¡ÉÃÊ u´· �Ò¤o length() - 1

i d Of() í � Ê a ã Ê iindexOf() µíÒæ˹ �§¢o§ÊÒÂoa¡¢Ãaã¹ÊµÃ i§

subst ing() ʵÃi§·Õèo �㹪 �ǧ·Õè¡íÒ˹´substring() ʵç·oÂÙ㹪ǧ·¡Ò˹´16/12/58 เขยนโปรแกรม Java เบองตน 11

Page 164: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

� �µaÇo �Ò§¡ÒÃ㪠�eÁ¸o´

public class StringMessage {

public static void main(String[] args) {

String name = "Smith";

System.out.println(name.length());

System out println(name charAt(2));System.out.println(name.charAt(2));

System.out.println(name.indexOf("t"));

System.out.println(name.substring(1, 3));

}}

}16/12/58 เขยนโปรแกรม Java เบองตน 12

Page 165: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

¡ÒÃe»ÃÕºe·Õºʵà i§ (溺¼ i æ)public class StringCompareInCorrect {

public static void main(String[] args) {public static void main(String[] args) {String name1 = new String(“Smith”);String name2 = new String(“Smith”);g gSystem.out.println(name1 == name2);

}

}

16/12/58 เขยนโปรแกรม Java เบองตน 13

Page 166: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

¡ÒÃe»ÃÕºe·Õºʵà i§ (溺¼ i æ)

16/12/58 เขยนโปรแกรม Java เบองตน 14

Page 167: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

¡ÒÃe»ÃÕºe·Õºʵà i§public class StringCompare {

public static void main(String[] args) {public static void main(String[] args) {String name1 = new String(“Smith”);String name2 = new String(“Smith”);g gSystem.out.println(name1.equals(name2));

}}

16/12/58 เขยนโปรแกรม Java เบองตน 15

Page 168: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

�¡Òõ �oʵà i§

eÁ¸o´ concat()

e¤Ã èo§ËÁÒ +

e¤Ã èo§ËÁÒ +=

16/12/58 เขยนโปรแกรม Java เบองตน 16

Page 169: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

eÁ¸o´ concat()public class StringConcat1 {

public static void main(String[] args) {public static void main(String[] args) {String name = "Smith";String lastName = " Brown";gString fullName = name.concat(lastname);System.out.println(fullName);

}}

16/12/58 เขยนโปรแกรม Java เบองตน 17

Page 170: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

èe¤Ã èo§ËÁÒ +public class StringConcat2 {

public static void main(String[] args) {public static void main(String[] args) {String name = "Smith";String lastName = " Brown";gString fullName = name + lastName;System.out.println(fullName);

}

}

16/12/58 เขยนโปรแกรม Java เบองตน 18

Page 171: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

èe¤Ã èo§ËÁÒ +=public class StringAppend {

public static void main(String[] args) {public static void main(String[] args) {String name = "Smith";String lastName = " Brown";name += lastName;System.out.println(name);

}

}

16/12/58 เขยนโปรแกรม Java เบองตน 19

Page 172: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

è b¤ÇÒÁÁa蹤§¢o§ÊµÃ i§ (Immutability)

äÁ �ÊÒÁÒöe»ÅÕè¹æ»Å§¤ �Ò¢o§ÊÒÂoa¡¢Ãaä´ �eÅÂËÅa§¨Ò¡·ÕèeÃÒä´ �Êà �Ò§Áa¹¢ é¹ÁÒ

㹺ÃôҢ �o¤ÇÒÁ (message) ·ÕèÇaµ¶ u String ÃÙ� a¡é è è¹aé¹ äÁ �ÁÕ¢ �o¤ÇÒÁã´eÅ·Õè·íÒãË �ÊÒÂoa¡¢Ãae»ÅÕè¹æ»Å§ä´ �

l h() length()

substring() substring() 16/12/58 เขยนโปรแกรม Java เบองตน 20

Page 173: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

� èʵà i§äÁ �e»ÅÕè¹æ»Å§String str;str = new String("Smith");str = new String( Smith );str = new String("John");

16/12/58 เขยนโปรแกรม Java เบองตน 21

Page 174: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

� èʵà i§äÁ �e»ÅÕè¹æ»Å§String str = "Smith";System out println(str toUpperCase());System.out.println(str.toUpperCase());System.out.println(str);

16/12/58 เขยนโปรแกรม Java เบองตน 22

Page 175: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

� èʵà i§äÁ �e»ÅÕè¹æ»Å§

public class StringDeficiency {public static void main(String[] args){

String str = "A";for (int i = 0; i < 100; i++)

str += "A";System.out.println(str);

}}

16/12/58 เขยนโปรแกรม Java เบองตน 23

Page 176: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

� èʵà i§äÁ �e»ÅÕè¹æ»Å§

16/12/58 เขยนโปรแกรม Java เบองตน 24

Page 177: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

Å Ê St i B ff¤ÅÒÊ StringBuffer

16/12/58 เขยนโปรแกรม Java เบองตน 25

Page 178: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

�¢ �o´Õ¢o§ StringBuffer

»ÃaËÂa´·aé§Ë¹ �ǤÇÒÁ¨íÒæÅaeÇÅÒ㹡ÒûÃaÁÇżÅ

Çaµ¶ u StringBuffer ÊÒÁÒöe»ÅÕè¹æ»Å§¤ �Òã¹ÊÒÂoa¡¢Ãa·ÕèÁa¹¹íÒeʹoä´ �eo§ o´ÂäÁ �µ �o§Êà �Ò§Çaµ¶ u¢ é¹ÁÒãËÁ �

16/12/58 เขยนโปรแกรม Java เบองตน 26

Page 179: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

è �eÁ¸o´·Õè¹ �Òʹã¨

append() ¡Òõ �oÊÒÂoa¡¢Ãapp

insert() ¡ÒÃæ·Ã¡ÊÒÂoa¡¢Ãa

delete() ¡ÒÃźÊÒÂoa¡¢Ãa �oÂ

16/12/58 เขยนโปรแกรม Java เบองตน 27

Page 180: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

� �µaÇo �Ò§¡ÒÃ㪠�eÁ¸o´StringBuffer sb = new StringBuffer("John");Systemoutprintln(sb);System.out.println(sb);

sb.append(" Hunter");System.out.println(sb);

b i t(4 " ")sb.insert(4, "y");

System.out.println(sb);

sb.delete(2, 4);System.out.println(sb);System.out.println(sb);

16/12/58 เขยนโปรแกรม Java เบองตน 28

Page 181: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

·´Åo§e»ÅÕè¹æ»Å§ StringBuffer

public class StringBufferAppend {public static void main(String[] args) {public static void main(String[] args) {

StringBuffer sb;sb = new StringBuffer("A");

for (int i = 0; i < 100; i++)

sb.append("A");

Systemoutprintln(sb);System.out.println(sb);}

}

16/12/58 เขยนโปรแกรม Java เบองตน 29

Page 182: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

·´Åo§e»ÅÕè¹æ»Å§ StringBuffer

16/12/58 เขยนโปรแกรม Java เบองตน 30

Page 183: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

StringBuilder

ÁÕeÁ¸o´·ÕèeËÁo¹¡aº StringBuffer

·íÒ§Ò¹ä´ �eÃçÇ¡Ç �Ò StringBuffer

StringBuffer »Åo´ÀaÂÊíÒËÃaº¡Ò÷íÒ§Ò¹ã¹æººmultiple threads

16/12/58 เขยนโปรแกรม Java เบองตน 31

Page 184: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

Java DocJava Doc

16/12/58 เขยนโปรแกรม Java เบองตน 32

Page 185: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

�eo¡ÊÒÃo�Ò§o i§

16/12/58 เขยนโปรแกรม Java เบองตน 33

Page 186: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

�æËÅ �§eo¡ÊÒÃ

http://java.sun.com/j2se/1.5.0/docs/apip j j p

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

http://java.sun.com/j2se/1.5.0/docs/api//l / i B h ljava/lang/StringBuffer.html

16/12/58 เขยนโปรแกรม Java เบองตน 34

Page 187: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ÊûÊà u»

16/12/58 เขยนโปรแกรม Java เบองตน 35

Page 188: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ÊÃ u»

ÊÒÂoa¡¢ÃaÁÕäÇ �e¾ èo¡ÒÃæÊ´§¼Å¢ �o¤ÇÒÁ

ÊÒÂoa¡¢Ãaä´ �¶Ù¡¹íÒeʹo´ �ÇÂÇaµ¶ u String æÅa StringBuffer

eÃÒÊÒÁÒö㪠�§Ò¹Çaµ¶ uä´ �o´Â¼ �Ò¹·Ò§eÿe¿oà �eù« � u

eÿe¿oà �eù« �e»ÃÕºeÊÁo¹ÃÕoÁ·¤o¹o·ÃÅ

Çaµ¶e»ÃÕÂºä´ �¡aºÊ i觷ÕèÃÕoÁ·¹a鹤Ǻ¤Áo � ǵ¶ ue»Ãº䴡ºÊ§·ÃoÁ·¹¹¤Çº¤ uÁoÂÙ

¡ÒÃÊ �§¢ �o¤ÇÒÁËÒÇaµ¶ ue»ÃÕÂºä´ �¡aº¡Òá´» u�ÁÃÕoÁ·¤o¹o·ÃÅ

16/12/58 เขยนโปรแกรม Java เบองตน 36

Page 189: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ÊÃ u»

¡ÒÃe»ÃÕºe·Õºʵà i§·íÒä´ �o´Â¡ÒÃÊ �§¢ �o¤ÇÒÁ equals( )

¡Òõ �oʵÃi§¹o¡¨Ò¡¨a㪠�¡ÒÃÊ �§¢ �o¤ÇÒÁ concat() æÅ�Ç Âa§ÊÒÁÒö㪠�e¤Ã èo§ËÁÒ + ä´ �oÕ¡´ �ÇÂ

ÊÒÂoa¡¢Ãa¢o§Çaµ¶ u String äÁ �ÊÒÁÒö¶Ù¡e»ÅÕè¹æ»Å§ä´ �

¶ �Òµ �o§¡ÒÃe»ÅÕè¹æ»Å§¤ �Òã¹ÊÒÂoa¡¢Ãaº �oÂæ ¤ÇÃãª�Çaµ¶ StringBuffer ¶Òµo§¡ÒÃe»Å¹æ»Å§¤Òã¹ÊÒÂo¡¢ÃaºoÂæ ¤ÇÃãªÇµ¶ u StringBuffer

16/12/58 เขยนโปรแกรม Java เบองตน 37

Page 190: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คณตศาสตร ตวหอหม คณตศาสตร ตวหอหม

และการจดรปแบบ

16/12/58 เขยนโปรแกรม Java เบองตน 1

Page 191: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

หวขอหวขอ

h• คลาสMath• การรบขอมลจากผใช

• ตวหอหม (Wrappers)

• การจดรปแบบ

16/12/58 เขยนโปรแกรม Java เบองตน 2

Page 192: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คลาส Math 

16/12/58 เขยนโปรแกรม Java เบองตน 3

Page 193: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การคานวณการคานวณ

• งาย

– + - * / %

• ซบซอน

– คลาสMath

16/12/58 เขยนโปรแกรม Java เบองตน 4

Page 194: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เมธอดในคลาส Mathเมธอดในคลาส Math 

ใ ใ • sqrt() ใชในการหาคารากทสอง – Math.sqrt(9) จะมคาเทากบ 3

• pow() ใชในการหาคายกกาลง

– Math.pow(2, 4) จะเทากบ 24 หรอ 16 นนเอง

• abs() ใชในการหาคาสมบรณ

– Math.abs(‐4) จะเทากบ 4Math.abs( 4) จะเทากบ 4

16/12/58 เขยนโปรแกรม Java เบองตน 5

Page 195: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เมธอดในคลาส Mathเมธอดในคลาส Math 

il ใ ใ ไ • ceil() ใชในการหาคาเลขจานวนเตมนอยทสดทมากกวาตวเลขทระบไว – Math.ceil(3.27) จะมคาเทากบ 4

– Math.ceil(‐3.27) จะมคาเทากบ ‐3

• floor() ใชในการหาคาเลขจานวนเตมทมากทสดทนอยกวาตวเลขทระบไว – Math.floor(3.27) จะมคาเทากบ 3

– Math.floor(‐3.27) จะมคาเทากบ ‐4

16/12/58 เขยนโปรแกรม Java เบองตน 6

Page 196: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เมธอดในคลาส Mathเมธอดในคลาส Math 

d ใ ใ ป โ ใ • round() ใชในการปดเศษทศนยมโดยจะหาเลขจานวนเตมทใกลกบตวเลขทระบมากทสด

– Math.round(3.27) จะมคาเทากบ 3

Math round( 3 27) จะมคาเทากบ 3– Math.round(‐3.27) จะมคาเทากบ ‐3

• min() ใชหาคาตวเลขทนอยทสดระหวางเลขสองตวตามทระบไว

– Mathmin(3, 5) จะไดคาเทากบ 3Math.min(3, 5) จะไดคาเทากบ 3

• max() ใชหาคาตวเลขทมากทสดระหวางเลขสองตวตามทระบไว

– Math.max(3, 5) จะไดคาเทากบ 5,

16/12/58 เขยนโปรแกรม Java เบองตน 7

Page 197: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เมธอดในคลาส Mathเมธอดในคลาส Math 

D ป di ป d• toDegrees() แปลงมม radian เปนมม degree– Math.toDegrees(Math.PI) มคาเทากบ 180.0

• toRadians() ป degree ป radian • toRadians() แปลงมม degree เปนมม radian

– Math.toRadians(180) มคาเทากบ 3.141592653589793

• sin() • sin()

– Math.sin(Math.toRadians(90)) มคาเทากบ 1

16/12/58 เขยนโปรแกรม Java เบองตน 8

Page 198: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ปรมาตรวตถทรงกลมปรมาตรวตถทรงกลม

( ) 3• ปรมาตร = (4÷3) × × รศม3

public class BallVolume {public static void main(String[] args) {

double radius = 10;double volume = 4 0 / 3 0 * double volume = 4.0 / 3.0

Math.PI *

Math.pow(radius, 3);

System.out.println(volume);}

}

16/12/58 เขยนโปรแกรม Java เบองตน 9

Page 199: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

เลขสมเลขสม

d ()• เมธอด random() – return คาสมในชวง 0 เกอบถง 1

for (int i = 0; i < 10; i++) {( ; ; ) {

double r = Math.random() * 100;int rand = (int) r;

System.out.println(rand);}}

16/12/58 เขยนโปรแกรม Java เบองตน 10

Page 200: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การรบขอมลจากผใช

16/12/58 เขยนโปรแกรม Java เบองตน 11

Page 201: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คลาส java util Scannerคลาส java.util.Scanner

• คอนสตรกเตอร

– java.util.Scanner(InputStream src);j ( p )

• เมธอด

I ()– nextInt();

– nextDouble();– next();

16/12/58 เขยนโปรแกรม Java เบองตน 12

Page 202: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางตวอยาง

j til Sjava.util.Scanner sc;sc = new java.util.Scanner(System.in);

System.out.print("Please enter an integer : ");int i = sc.nextInt();

System.out.print("Please enter a double : ");d bl d tD bl ()double d = sc.nextDouble();

System.out.print("Please enter a string : ");System.out.print( Please enter a string : );String s = sc.next();

16/12/58 เขยนโปรแกรม Java เบองตน 13

Page 203: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ผลการทางานผลการทางาน

16/12/58 เขยนโปรแกรม Java เบองตน 14

Page 204: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ถาไมอยากใชชอเตมถาไมอยากใชชอเตม

import java.util.Scanner;

class MyClass {public static void main(String[] a) {

Scanner sc = new Scanner(System.in);

...}}

}

16/12/58 เขยนโปรแกรม Java เบองตน 15

Page 205: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวหอหม (Wrappers) 

16/12/58 เขยนโปรแกรม Java เบองตน 16

Page 206: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวหอหมตวหอหม

• หอชนดขอมลพนฐาน

– เพอใสใน Collection

• แปลง String เปนชนดขอมลพนฐาน

ป ป St i• แปลงจากชนดขอมลพนฐานเปน String• มคาคงทของคาทมากสดและนอยของชนดขอมลพนฐาน ฐ

16/12/58 เขยนโปรแกรม Java เบองตน 17

Page 207: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คลาสทเปนตวหอหมคลาสทเปนตวหอหม

ชนดขอมลพนฐาน คลาสในกลม Wrapper

boolean Booleanchar Characterbyte Byteshort Shortint Integerlong Longlong Longfloat Floatdouble Double

16/12/58 เขยนโปรแกรม Java เบองตน 18

double Double

Page 208: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การสรางวตถ Wrapperการสรางวตถ Wrapper 

Boolean bo = new Boolean(true);Boolean bo = new Boolean("true");Boolean bo = new Boolean( true );

Character c = new Character('c');

Byte by = new Byte((byte)20);Byte by = new Byte("20");

Short s = new Short((short)20);Short s new Short((short)20);Short s = new Short("20");

16/12/58 เขยนโปรแกรม Java เบองตน 19

Page 209: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การแปลง Wrapper กลบเปนชนดขอมลพนฐานการแปลง Wrapper กลบเปนชนดขอมลพนฐาน

ป• รปแบบ– ตวแปรชนดขอมลพนฐาน = ตวหอหม.ชนดขอมลพนฐานValue();

• ตวอยางString s = "20";Integer i = new Integer(s);int number = i.intValue();

16/12/58 เขยนโปรแกรม Java เบองตน 20

Page 210: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

ตวอยางตวอยาง

S S S t iScanner sc = new Scanner(System.in);

System.out.print("Please enter a number : ");System.out.print( Please enter a number : );String s = sc.next();

Integer i = new Integer(s);int number = i.intValue();

System.out.print("Your number plus 10 equals ");System.out.println(number + 10);System.out.println(number 10);

16/12/58 เขยนโปรแกรม Java เบองตน 21

Page 211: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การแปลง Wrapper เปนสตรงการแปลง Wrapper เปนสตรง

ป• รปแบบ

– เรฟเฟอรเรนซสตรง = ตวหอหม.toString(); g()

• ตวอยางint number = 20;int number = 20;Integer i = new Integer(number);String s = i.toString();g g()

16/12/58 เขยนโปรแกรม Java เบองตน 22

Page 212: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การแปลงสตรงเปนชนดขอมลพนฐานการแปลงสตรงเปนชนดขอมลพนฐาน

ป• รปแบบ– ตวแปรชนดขอมลพนฐาน = คลาสหอหม.parseชนดขอมลพนฐาน();

• ตวอยางScanner sc = new Scanner(System.in);

System.out.print("Please enter a number : ");int number = Integer.parseInt(sc.next());

16/12/58 เขยนโปรแกรม Java เบองตน 23

Page 213: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การแปลงชนดขอมลพนฐาน เปนสตรงการแปลงชนดขอมลพนฐาน เปนสตรง

ป• รปแบบ– เรฟเฟอรเรนซสตรง = คลาสหอหม.toString(ขอมลพนฐาน);

• ตวอยางScanner sc = new Scanner(System.in);

System.out.print("Please enter a number : ");String s = Integer.toString(sc.nextInt());

16/12/58 เขยนโปรแกรม Java เบองตน 24

Page 214: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

คาคงทในคลาส Wrapperคาคงทในคลาส Wrapper 

• Integer– Integer.MIN VALUE = ‐2147483648 g _

– Integer.MAX_VALUE =  2147483647 

D bl• Double– Double.MIN_VALUE = 4.9E‐324 

– Double.MAX_VALUE = 1.7976931348623157E308  

16/12/58 เขยนโปรแกรม Java เบองตน 25

Page 215: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การจดรปแบบ

16/12/58 เขยนโปรแกรม Java เบองตน 26

Page 216: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การจดรปแบบดวยเมธอด printf()การจดรปแบบดวยเมธอด printf() 

ป• รปแบบ

– ตวแสดงผล.printf("รปแบบ", ตวแปร1, ตวแปร2, ...);

• ตวอยางint i = 3277;int i 3277;double d = 132324.25;System.out.printf("%d\n", i);System.out.printf("%x\n", i);System.out.printf("%f\n", d);S t t i tf("%16f\ " d)System.out.printf("%16f\n", d);System.out.printf("%16.2f\n", d);System.out.printf("%,16.2f\n", d);y p ( , \ , );

16/12/58 เขยนโปรแกรม Java เบองตน 27

Page 217: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

การจดรปแบบดวยคลาสในกลม Formatการจดรปแบบดวยคลาสในกลม Format

d bl d 37625 72558double d = 37625.72558;

NumberFormat nf;NumberFormat nf;

nf = NumberFormat.getCurrencyInstance();System.out.println(nf.format(d)); // ฿37,625.73

f N b F t tI t I t ()nf = NumberFormat.getIntegerInstance(); System.out.println(nf.format(d)); // 37,625

16/12/58 เขยนโปรแกรม Java เบองตน 28

Page 218: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรป

16/12/58 เขยนโปรแกรม Java เบองตน 29

Page 219: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

h • คลาสMath มเมธอดสาหรบการคานวณทางดานคณตศาสตรชนสง

• คลาสประเภทWrapper ใชแปลงตวแปรชนดขอมลพนฐานไปเปนขอความ และกลบกน

• การแปลงวตถ String ไปเปนจานวนเตมใชเมธอด Integer.parseInt() g g p ()

• การแปลงจานวนเตมไปเปนวตถ String ใชเมธอด Integer.toString()

16/12/58 เขยนโปรแกรม Java เบองตน 30

Page 220: แนะนําภาษาจาวา...•ภาษาจาวาเป นภาษาเช งว ตถ •ความท นสม ย •ความเร ยบง

สรปสรป

l ()• เมธอด println() ใชสาหรบแสดงผลลพธออกทางหนาจอ

• เมธอด printf() ใชแสดงผลลพธเชนเดยวกบเมธอด println() แตp () p ()สามารถจดรปแบบการแสดงผลไดหลากหลาย

N b F t ป ไ • คลาส NumberFormat ชวยจดรปแบบการแสดงผลได

16/12/58 เขยนโปรแกรม Java เบองตน 31