การเขียนโปรแกรมภาษา Java (ต่อ)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา JAVA
Advertisements

Lecture 5: ทางเลือกแบบหลายทาง
Control Statement if..else switch..case for while do-while.
คำสั่งในการควบคุมโปรแกรม
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Lecture no. 5 Control Statements
C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ
การควบคุมทิศทางการทำงาน
Week 6 ประกาศค่าตัวแปร.
คำสั่งเพื่อการกำหนดเงื่อนไข
โครงสร้างคำสั่งแบบเลือก (Selection)
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Repetitive Or Iterative
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
Relational Operators by Accords (IT SMART CLUB 2006) by Accords 1.
คำสั่งควบคุม (Control Statement)
คำสั่งควบคุมเงื่อนไข และการทำงานเป็นรอบ
Javascripts.
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
รูปแบบ if-else if if (เงื่อนไข1) {
Flow Control.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Chapter 4 คำสั่งควบคุมทิศทาง
ตัวแปรกับชนิดของข้อมูล
โครงสร้างควบคุมการทำงาน
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
หมวดวิชาคอมพิวเตอร์ โรงเรียนพะเยาพิทยาคม โดย อ.วัชระ การสมพจน์
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
คำสั่งควบคุมการทำงานของ ActionScripts
บทที่ 6 การควบคุมโปรแกรม.
Control Statements.
คำสั่งควบคุมขั้นตอน Flow control statements
บทที่ 3 ชนิดข้อมูล ตัวแปร นิพจน์และตัวดำเนินการ
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
คำสั่งแบบมีเงื่อนไข Conditional Statements
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
บทที่ 7 เงื่อนไขในภาษาซี
การเขียนโปรแกรม (ภาษาซี)
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
บทที่ 4 คำสั่งควบคุม โปรแกรม. คำสั่งควบคุมโปรแกรมออกได้เป็น 2 ประเภท คือ คำสั่งแบบกำหนดเงื่อนไข (Conditional Statement) คำสั่งแบบทำงานซ้ำ (Repetitive.
โครงสร้างภาษาซี C ++ structure
โปรแกรม ภาษา C ภาษาซี (C Language) เป็นภาษาหนึ่งสำหรับเขียนโปรแกรมคอมพิวเตอร์   พัฒนาขึ้นโดยนายเดนนิส  ริทชี่ (Dennis Ritche)  ในปี ค.ศ. 1972  เพื่อสร้างระบบปฏิบัติการยูนิกซ์
การประมวลผลแบบวน ( LOOP )
C Programming By Mr. Sanae Sukprung.
การควบคุมทิศทางการทำงาน
Chapter 4 ข้อความสั่ง เลือกทำ.
บทที่ 6 การเขียนโปรแกรมแบบมีเงื่อนไข
Chapter 9 ตัวชี้ pointer.
INC 161 , CPE 100 Computer Programming
WEEK5-2: 14 SEP 2017 Input / Output Selection Statement
ใช้สำหรับ Turbo C++ Version 3.0
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 4 เครื่องหมาย ตรรกะศาสตร์ และการดำเนินการทางตรรกะศาสตร์
ภาษา C เบื้องต้น.
การควบคุมการทำงานด้วยภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
PHP (2) - condition - loop
พื้นฐานโปรแกรมภาษาจาวา (Overview of Java Programming Language)
หน่วยที่ 3 โครงสร้างควบคุม Control Structures
บทที่ 4 ตัวแปร (Variables)
อาจารย์ชนิดา เรืองศิริวัฒนกุล หลักสูตรสาขาวิชาเทคโนโลยีสารสนเทศ
ข้อมูล ตัวแปร และค่าคงที่ของภาษา VB
Chapter 2 ตัวดำเนินการ และนิพจน์.
การเขียนภาษาจาวาเบื้องต้น
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop) Part2
บทที่ 3 โครงสร้างควบคุม Control Structures
Variable Constant.
นิพจน์และตัวดำเนินการ
Decision: Multi Selection (if-else-if, switch)
โครงสร้างของโปรแกรมเกมคอมพิวเตอร์
ใบสำเนางานนำเสนอ:

การเขียนโปรแกรมภาษา Java (ต่อ)

1. ตัวแปร ตัวแปร คือ ที่เก็บข้อมูลในหน่วยความจำของคอมพิวเตอร์ โดยค่าของตัวแปรจะเปลี่ยนแปลงได้ในช่วงเวลาที่เปลี่ยนไป

2. ชนิดของตัวแปร 1. ชนิดตัวเลขจำนวนเต็ม 2. ชนิดตัวเลขทศนิยม 3. ชนิดตัวอักษร 4. ชนิดตรรกะ

2.1 ชนิดของตัวแปรประเภทจำนวนเต็ม 1. byte ค่าตัวเลขที่เก็บได้อยู่ระหว่าง -128 ถึง 128 2. short ค่าตัวเลขที่เก็บได้อยู่ระหว่าง -32768 ถึง 32767 3. int ค่าตัวเลขที่เก็บได้อยู่ระหว่าง -2147483648 ถึง 2147483647 4. long ค่าตัวเลขที่เก็บได้อยู่ระหว่าง -922337206854775808 ถึง 922337206854775807

2.2 ชนิดของตัวแปรประเภทจำนวนจริง 1. float ค่าตัวเลขที่เก็บได้อยู่ระหว่าง -3.40282347E+38 ถึง 3.40282347E+38 2. double ค่าตัวเลขที่เก็บได้อยู่ระหว่าง -1.797769313486231570E+308 ถึง 1.797769313486231570E+308

2.3 ชนิดของตัวแปรประเภทตัวอักษร 1. char เป็นชนิดของตัวแปรที่ใช้เก็บตัวอักขระเพียง 1 ตัว เช่น ‘a’ ‘A’ หรือ ‘5’ เป็นต้น 2. String เป็นชนิดของตัวแปรที่ใช้เก็บกลุ่มของตัวอักษร

2.4 ชนิดของตัวแปรประเภทตรรกะ เป็นตัวแปรที่ใช้เก็บค่าความจริง มีค่าที่เป็นไปได้ 2 ค่า คือ จริง (true) กับ เท็จ (false) ต้องประกาศตัวแปรเป็นประเภท boolean

1.1 การประกาศตัวแปร (Variables Declaration) ชื่อของตัวแปร ชนิดของตัวแปร float num; int nun ,num2; string name;

int num = 10; 1.3 การกำหนดค่าให้ตัวแปร (Assignment) ชื่อของตัวแปร ค่าของตัวแปร ชนิดของตัวแปร int num = 10; หมายเหตุ วิธีการกำหนดค่าด้วยวิธีการนี้เรียกว่า Initialization

char ch1, ch2 = ‘x’; String name = “Mickey”; 1.3 การกำหนดค่าให้ตัวแปร (ต่อ) char ch1, ch2 = ‘x’; String name = “Mickey”; หมายเหตุ ก่อนใช้ตัวแปรใดก็ตามต้องทำการประกาศ ตัวแปรนั้นก่อนเสมอ

แผนภาพแสดงการประกาศและการกำหนดค่าให้ตัวแปรแบบตัวเลข int firstNumber,secondNumber; firstNumber secondNumber

แผนภาพแสดงการประกาศและการกำหนดค่าให้ตัวแปรแบบตัวเลข (ต่อ) int firstNumber,secondNumber; firstNumber = 234; firstNumber 234 secondNumber = 87; secondNumber 87

2. หลักในการตั้งชื่อในภาษา Java 1. ประกอบด้วยตัวเลข ตัวอักษร เครื่องหมาย Underscore ( _ ) และ dollar signs ( $ ) 2. ต้องขึ้นต้นด้วยตัวอักษร 3. ห้ามเว้นวรรค 4. ตัวอักษรตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก มีค่าต่างกัน หมายเหตุ กฎการตั้งชื่อนี้ใช้ได้กับการตั้งชื่อตัวแปร (Variables) ชื่อเมธอด (Method) และอื่นๆ

คำแนะนำในการตั้งชื่อ 1. ใช้ตัวอักษรตัวพิมพ์ใหญ่สำหรับตัวแรกของชื่อของ Class 2. ใช้ตัวอักษรตัวพิมพ์เล็กสำหรับตัวแรกของชื่อของ Object 3. หากชื่อนั้นประกอบด้วยหลายคำ ตัวแรกของทุกๆ คำให้ ขึ้นต้นด้วยตัวพิมพ์ใหญ่ยกเว้นในคำแรก 4. หากเป็นค่าคงที่ ให้ใช้ตัวพิมพ์ใหญ่ทั้งหมด

3. การคำนวณทางด้านคณิตศาสตร์ Operator ทางคณิตศาสตร์ที่ใช้ในภาษา Java ได้แก่ + การบวก - การลบ * การคูณ / การหาร % การหารเอาเศษ

3.1 Integer Division ในการหารด้วยเครื่องหมาย / หรือ % -หากตัวตั้งหรือตัวหารตัวใดตัวหนึ่งเป็นจำนวนจริง ผลลัพธ์ที่ได้จะเป็นจำนวนจริง - แต่หากทั้งตัวตั้งและตัวหารเป็นจำนวนเต็มผลลัพธ์ที่ได้จะเป็นจำนวนเต็มด้วย 22 / 5 = 4 22 / 5.0 = 4.4 25.0 / 5.0 = 5.0 23 % 5 = 3 23 % 25 = 23 15.5 % 4 = 3.5

หมายเหตุ หากลำดับในการคำนวณเท่ากันจะทำการคำนวณจากซ้ายไปขวา 3.2 ลำดับในการคำนวณ ก่อน วงเล็บ ( ) การคูณ หาร *, / , % การบวก ลบ + , - หลัง หมายเหตุ หากลำดับในการคำนวณเท่ากันจะทำการคำนวณจากซ้ายไปขวา

3.3 การเปลี่ยนชนิดของข้อมูล 3.3 การเปลี่ยนชนิดของข้อมูล 1. Implicit Conversion การเปลี่ยนชนิดของข้อมูลโดยอัตโนมัติ อันเกิดเนื่องมาจากผลของการคำนวณทางคณิตศาสตร์ เช่น นำตัวแปรจำนวนเต็มมาบวกกับตัวแปรจำนวนจริง ค่าที่ได้จะเป็นค่าจำนวนจริง 2. Explicit Conversion เราสามารถเปลี่ยนแปลงชนิดของข้อมูลตามความต้องการได้ โดยการระบุชนิดของตัวแปรที่ต้องการเปลี่ยนภายใน ( ) แล้ววางไว้หน้าตัวแปร หรือข้อมูลที่ต้องการเปลี่ยนชนิด

ตัวอย่างที่ 3 การเปลี่ยนชนิดข้อมูล โดยวิธี Explicit Conversion int ch = 88; char letter = ‘X’; ch = (int) letter; letter = (char) 56; int money = 2.3 +1.4; money = (int)2.3 + (int)1.4;

3. คำสั่ง if … else true false

3. คำสั่ง if … else (ต่อ) ถ้าคำสั่งที่ต้องทำนั้นเป็นคำสั่งเพียงคำสั่งเดียว เราสามารถเขียนคำสั่งนั้นตามหลังนิพจน์เงื่อนไขได้เลย แต่ถ้าคำสั่งที่ต้องทำเป็นกลุ่มของคำสั่งที่กำหนด จะต้องใส่คำสั่งเหล่านั้นในบล็อกภายในเครื่องหมายวงเล็บ { }

ตัวอย่างที่ 4 if (testScore < 70) { messageBox.show(“You did not pass”); messageBox.show(“Try harder next time”); } else { messageBox.show(“You did pass”); messageBox.show(“Keep up the good work”); }

ตัวอย่างที่ 5 if (testScore >= 95) { messageBox.show(“You are an honor student”); } หมายเหตุ คำสั่งที่ต้องทำหลัง if และ else อาจมีหรือไม่มีคำสั่งก็ได้

ตัวอย่างที่ 6 การใช้ if ในการเปรียบเทียบตัวแปรอักขระ if ( ans != ‘y’) { messageBox.show(“That is a great answer”); }

Nested-if true false if (เงื่อนไข) คำสั่งที่ต้องทำ; else if (เงื่อนไข) คำสั่งที่ต้องทำ; else if (เงื่อนไข) คำสั่งที่ต้องทำ; else คำสั่งที่ต้องทำ;

ตัวอย่างที่ 7 หากต้องการคิดเกรดของนักเรียน ซึ่งมีการกำหนดช่วงของคะแนนดังต่อไปนี้ คะแนนต่ำกว่า 50 ได้เกรด F คะแนนต่ำกว่า 60 ได้เกรด D คะแนนต่ำกว่า 70 ได้เกรด C คะแนนต่ำกว่า 80 ได้เกรด B คะแนนสูงกว่า 80 ได้เกรด A

ตัวอย่างที่ 7 (ต่อ) สามารถนำมาเขียนเป็นนิพจน์เงื่อนไขได้ดังนี้ if (score < 50) messageBox.show(“Your grade is F”); else if (score < 60) messageBox.show(“Your grade is D”); else if (score < 70) messageBox.show(“Your grade is C”); else if (score < 80) messageBox.show(“Your grade is B”); else messageBox.show(“Your grade is A”);

ลองคิดดู การทำงานของคำสั่ง if 2 แบบนี้เหมือนหรือต่างกันอย่างไร if (x < y) { if (x < z) messageBox.show(“Hello”); } else messageBox.show(“Good bye”); if (x < y) if (x < z) messageBox.show(“Hello”); else messageBox.show(“Good bye”); x=5, y=10, z=8 x=5, y=10, z=5 x=5, y=5, z=5

4. เครื่องหมายเปรียบเทียบค่า (Relational Operator) ความหมาย > มากกว่า >= มากกว่าหรือเท่ากับ < น้อยกว่า <= น้อยกว่าหรือเท่ากับ = = เท่ากับ != ไม่เท่ากับ

5. เครื่องหมายเปรียบเทียบทางตรรกศาสตร์ (Logical Operator) เครื่องหมายตรรก ความหมาย && และ (and) || หรือ (or) ! ไม่ (not)

5.1 ค่าของนิพจน์เปรียบเทียบทางตรรกศาสตร์ นิพจน์ที่ 1 && นิพจน์ที่ 2 จะให้คำตอบเป็นจริง เมื่อนิพจน์ทั้งสองเป็นจริง นิพจน์ที่ 1 || นิพจน์ที่ 2 จะให้คำตอบเป็นจริง เมื่อนิพจน์ใดนิพจน์หนึ่ง หรือทั้งสองนิพจน์เป็นจริง ! นิพจน์เปรียบเทียบ จะให้คำตอบเป็นจริงเมื่อนิพจน์ เปรียบเทียบนั้นมีค่าเป็นเท็จ หมายเหตุ ลำดับการทำงานจะเปรียบเทียบจากนิพจน์ทางซ้ายไปขวา

ลองคิดดู หาคำตอบของนิพจน์ต่อไปนี้ 1. 3 <= 4 2. 4 < 5 || 6 = = 6 3. !(4 > 6) && 4 > 2 4. a=3, b=2, c=4 (a > b) || !(a <= c) && b > c / 2 a < b && !(a <= c) && b > c / 2 (a > b) && !(a <= c) || b > c / 2

ลองคิดดู หากต้องการเปรียบเทียบ ค่าของตัวแปร x ว่ามีค่า อยู่ในช่วงระหว่าง 10 - 80 ต้องเขียนนิพจน์อย่างไร 10 <= x <= 80 ???

ลองคิดดู int x=5, y; if (x > 4 || x++ < 10) x +=2; y = x; System.out.println(“x : ” + x+ “y :”+y); เห็นอะไร ผิดปกติ หรือไม่ ?? int x=2, y=0, z; if (x > 4 && (y = x*8) < 10) x +=2; z = x + y; System.out.println(“x : ”+x+“,y : ”+y“,z : ”+z);

if (x > 4 || x++ < 10) 5.2 Short-Circuit Evaluation true ไม่ทำต่อ if (x > 4 || x++ < 10) สมมติ x = 5 เงื่อนไขแรกมีค่าเป็น จริง เงื่อนไขที่สองจะไม่ประมวลผล

5.2 Short-Circuit Evaluation if (x > 4 | x++ < 10) if (x > 4 & (y = x*8) < 10) วิธีแก้ไข

ลองคิดดู int x=5, y; if (x > 4 | x++ < 10) x +=2; y = x; System.out.println(“x : ” + x+ “y :”+y); คราวนี้ ได้ คำตอบ อะไร ? int x=2, y=0, z; if (x > 4 & (y = x*8) < 10) x +=2; z = x + y; System.out.println(“x : ”+x+“,y : ”+y“,z : ”+z);

6. คำสั่ง switch switch ( นิพจน์) { case ค่าคงที่ : คำสั่ง; case ค่าคงที่ : คำสั่ง; ….. default : คำสั่ง; }

6. คำสั่ง switch (ต่อ) ชนิดของข้อมูลของนิพจน์ จะต้องเป็น char byte short หรือ int เท่านั้น ค่าคงที่ที่จะเป็นเงื่อนไขของ case สามารถเป็นได้ทั้ง Literal Constant หรืออาจเป็น Symbolic Constant ก็ได้ หมายเหตุ Literal Constant เช่น 1 30.5 ‘a’ ‘Z’ Symbolic Constant ได้แก่ ค่าที่กำหนดในตัวค่าคงที่

6.1 แสดงการทำงานของ switch เมื่อมีคำสั่ง break switch (นิพจน์) { case 1: คำสั่งที่ 1; break; case 2: คำสั่งที่ 2; break; case 3: คำสั่งที่ 3; break; default: คำสั่งที่ 4; } คำสั่งที่ 5; หากค่าของนิพจน์ เท่ากับค่าใน case 2

6.2 แสดงการทำงานของ switch เมื่อไม่มีคำสั่ง break switch (นิพจน์) { case 1: คำสั่งที่ 1; case 2: คำสั่งที่ 2; case 3: คำสั่งที่ 3; default: คำสั่งที่ 4; } คำสั่งที่ 5; หากค่าของนิพจน์ เท่ากับค่าใน case 2

7. คำสั่ง for for i = 1 to 10 do for ( ค่าเริ่มต้น ; เงื่อนไขการวนซ้ำ ; การเพิ่มหรือลดค่าตัวแปรวนซ้ำ ) { คำสั่งที่ต้องทำ; }

7. คำสั่ง for (ต่อ) การเพิ่มค่าหรือลดค่าตัวแปรวนทำซ้ำ เงื่อนไขการวนซ้ำ ค่าเริ่มต้น for ( i = 0; i < 20; i++ ) { number = inputBox.getInteger(); sum += number; }

ตัวอย่างที่ 8 การเพิ่มหรือลดค่าตัวแปรวนทำซ้ำ for (int i = 0; i < 100 ; i += 5) // i = 0 , 5 , 10, …,100 for (int j = 2; j < 40 ; j *= 2) // j = 2, 4, 8 … for (int k =100; k > 0; k --) // k = 100 , 99 , 98, … , 1

8. คำสั่ง while false while (เงื่อนไข) { คำสั่งที่ต้องทำ; คำสั่งที่ต้องทำ; } true

ตัวอย่างที่ 9 เขียน while loop เพื่อทำการคำนวณผลบวกของเลขตั้งแต่ 1-100 int sum = 0, number = 1; while(number <= 100) { sum = sum + number; number = number + 1; }

9. คำสั่ง do ..while do { คำสั่งที่ต้องทำ; คำสั่งที่ต้องทำ; } while (เงื่อนไข); true false