Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 4 คำสั่งควบคุม (control statement) If statement Switch statement While loop and do-while loop For loop and for-each loop Break and continue 1.

Similar presentations


Presentation on theme: "Chapter 4 คำสั่งควบคุม (control statement) If statement Switch statement While loop and do-while loop For loop and for-each loop Break and continue 1."— Presentation transcript:

1 Chapter 4 คำสั่งควบคุม (control statement) If statement Switch statement While loop and do-while loop For loop and for-each loop Break and continue 1

2 If statement มี syntax ดังนี้ if (booleanExpression) { statement (s) } หรือ if (booleanExpression) { statement (s) } else { statement (s) } 2

3 public class MainClass { public static void main(Str ing[] args) { int x = 9; if (x > 4) { // statements } } } public class MainClass { public static void main(String[] args) { int a = 3; if (a > 3) { // statements } else { // statements } } } 3

4 public class MainClass { public static void main(String[] args) { int a = 3; if (a > 3) a++; else a = 3; } } public class MainClass { public static void main(String[] arg s) { int a = 3, b = 1; if (a > 0 || b 2) System.out.println("a > 2"); else System.out.println("a < 2"); } } 4

5 public class MainClass { public static void main(String[] args) { int a = 3, b = 1; if (a > 0 || b 2) { System.out.println("a > 2"); } else { System.out.println("a < 2"); } } } } 5

6 Multi selection if (booleanExpression1) { // statements } else if (booleanExpression2) { // statements }... else { // statements } 6

7 Multi selection public class MainClass { public static void main(String[] args) { int a = 0; if (a == 1) { System.out.println("one"); } else if (a == 2) { System.out.println("two"); } else if (a == 3) { System.out.println("three"); } else { System.out.println("invalid"); } } } 7

8 public class MainClass { public static void main(String[] arg) { int a = 2; if (a == 0) { System.out.println("in the block"); if (a == 2) { System.out.println("a is 0"); } else { System.out.println("a is not 2"); } } else { System.out.println("a is not 0"); } } } 8

9 public class MainClass { public static void main(String[] arg) { int value = 8; int count = 10; int limit = 11; if (++value % 2 == 0 && ++count < limit) { System.out.println("here"); System.out.println(value); System.out.println(count); } System.out.println("there"); System.out.println(value); System.out.println(count); } } 9

10 public class MainClass { public static void main(String[] arg) { int value = 8; int count = 10; int limit = 11; if (++value % 2 != 0 || ++count < limit) { System.out.println("here"); System.out.println(value); System.out.println(count); } System.out.println("there"); System.out.println(value); System.out.println(count); } } 10

11 switch statement switch (expression) { case value_1 : statement (s); break; case value_2 : statement (s); break;... case value_n : statement (s); break; default: statement (s); } 11

12 public class MainClass { public static void main(String[] args) { int i = 1; switch (i) { case 1 : System.out.println("One."); break; case 2 : System.out.println("Two."); break; case 3 : System.out.println("Three."); break; default: System.out.println("You did not enter a valid value."); } } } 12

13 public class MainClass { public static void main(String[] args) { int choice = 2; switch (choice) { case 1: System.out.println("Choice 1 selected"); break; case 2: System.out.println("Choice 2 selected"); break; case 3: System.out.println("Choice 3 selected"); break; default: System.out.println("Default"); break; } } } Output : Choice 2 selected 13

14 public class MainClass { public static void main(String[] args) { char yesNo = 'N'; switch(yesNo) { case 'n': case 'N': System.out.println("No selected"); break; case 'y': case 'Y': System.out.println("Yes selected"); break; } } } Output : No selected 14

15 public class Main { public static void main(String[] args) { int i = 0; switch (i) { case 0: System.out.println("i is 0"); case 1: System.out.println("i is 1"); case 2: System.out.println("i is 2"); default: System.out.println("Free flowing switch example!"); } } } /* i is 0 i is 1 i is 2 Free flowing switch example! */ 15

16 public class Main { public static void main(String[] args) { int i = 0; switch (i) { case 0: int j = 1; switch (j) { case 0: System.out.println("i is 0, j is 0"); break; case 1: System.out.println("i is 0, j is 1"); break; default: System.out.println("nested default case!!"); } break; default: System.out.println("No matching case found!!"); } } } //i is 0, j is 1 16

17 while statement while (booleanExpression) { statement (s) } public class MainClass { public static void main(String[] args) { int i = 0; while (i < 3) { System.out.println(i); i++; } } } 17

18 public class MainClass { public static void main(String[] args) { int limit = 20; int sum = 0; int i = 1; while (i <= limit) { sum += i++; } System.out.println("sum = " + sum); } } sum = 210 18

19 public class MainClass { public static void main(String[] args) { double r = 0; while(r < 0.99d) { r = Math.random(); System.out.println(r); } } } 19

20 do-while statement do { statement (s) } while (booleanExpression); public class MainClass { public static void main(String[] args) { int i = 0; do { System.out.println(i); i++; } while (i < 3); } } Output : 0 1 2 20

21 public class MainClass { public static void main(String[] args) { int j = 4; do { System.out.println(j); j++; } while (j < 3); } } Output : 4 21

22 public class MainClass { public static void main(String[] args) { int limit = 20; int sum = 0; int i = 1; do { sum += i; i++; } while (i <= limit); System.out.println("sum = " + sum); } } Output : sum = 210 22

23 for statement for ( init ; booleanExpression ; update ) { statement (s) } เริ่มกำหนดค่า init ก่อนการทำคำสั่งรอบแรก. booleanExpression จะถูกประเมินความจริง ถ้าเป็น จริงจะทำ statement(s) คำสั่ง update จะถูกทำหลังจากมีการทำคำสั่งจน สิ้นสุด block. ค่าของ init, expression, และ update สามารถละได้ 23

24 คำสั่งภายใน block จะหยุดกระทำ เมื่อเกิดเงื่อนไขคื booleanExpression ถูกประเมินมีค่าเป็น เท็จ พบคำสั่ง break หรือ continue. เกิด runtime error 24

25 public class MainClas s { public static void m ain(String[] args) { for (int i = 0; i < 5; i ++) { System.out.print ln(i + " "); } } } public class MainClass { public static void mai n(String[] args) { int j = 0; for (; j < 3; j++) { System.out.println(j ); } // j is visible here } } 25

26 public class MainClass { public static void main( String[] args) { int k = 0; for (; k < 3;) { System.out.println(k) ; k++; } } } public class MainClass { public static void main(S tring[] args) { int m = 0; for (;;) { System.out.println(m) ; m++; if (m > 4) { break; } } } } 26

27 while (expression) {... } for ( ; expression; ) {... } 27

28 public class MainClass { public static void main( String[] args) { for (int i = 0; i < 8; i++) { System.out.println(" Hi."); } } } public class MainClass { public static void main(Str ing[] args) { int limit = 20; // Sum fro m 1 to this value int sum = 0; // Accumul ate sum in this variable for (int i = 1; i <= limit; i+ +) { sum = sum + i; } System.out.println("sum = " + sum); } } 28

29 public class Main { public static void main( String[] args) { for (;;) { System.out.println(" Hello"); break; } } } //Hello public class MainClass { public static void main(St ring[] arg) { int limit = 10; int sum = 0; for (int i = 1, j = 0; i <= li mit; i++, j++) { sum += i * j; } System.out.println(sum) ; } } 330 29

30 public class Main { public static void main(String[] args) { for (int i = 0, j = 1, k = 2; i < 5; i ++){ System.out.println("I : " + i + ",j : " + j + ", k : " + k); } } } /* I : 0,j : 1, k : 2 I : 1,j : 1, k : 2 I : 2,j : 1, k : 2 I : 3,j : 1, k : 2 I : 4,j : 1, k : 2 */ public class Main { public static void main( String[] args) { for (int i = 0, j = 0; i < 5 ; i++, j--) System.out.println("i = " + i + " j= " + j); } } /* i = 0 j= 0 i = 1 j= -1 i = 2 j= -2 i = 3 j= -3 i = 4 j= -4 */ 30

31 public class MainClass { public static void main(Stri ng[] arg) { int limit = 10; int sum = 0; for (int i = 1; i <= limit;) { sum += i++; } System.out.println(sum); } } public class MainClass { public static void main(Str ing[] arg) { int limit = 10; int sum = 0; int i = 1; for (; i <= limit;) { sum += i++; } System.out.println(sum); } } 55 31

32 public class MainClass { public static void main(Stri ng[] arg) { for (double radius = 1.0; r adius <= 2.0; radius += 0.2) { System.out.println("radiu s = " + radius + "area = " + M ath.PI * radius * radius); } } } output radius = 1.0 area = 3.141592653589793 radius = 1.2 area = 4.523893421169302 radius = 1.4 area = 6.157521601035994 radius = 1.5999999999999999 area = 8.04247719318987 radius = 1.7999999999999998 area = 10.178760197630927 radius = 1.9999999999999998 area = 12.566370614359169 32

33 public class MainClass { public static void main(String[] ar gs) { long limit = 20L; long factorial = 1L; for (long i = 1L; i <= limit; i++) { factorial = 1L; for (long factor = 2; factor <= i; factor++) { factorial *= factor; } System.out.println(i + "! is " + f actorial); } } } 33

34 public class MainClass { public static void main(String[] arg s) { int i = 0; outer: for (; true;) { inner: for (; i < 10; i++) { System.out.println("i = " + i); if (i == 2) { System.out.println("continue" ); continue; } if (i == 3) { System.out.println("break"); i++; break; } if (i == 7) { System.out.println("continue outer"); i++; continue outer; } if (i == 8) { System.out.println("break outer") ; break outer; } for (int k = 0; k < 5; k++) { if (k == 3) { System.out.println("continue inn er"); continue inner; } } } } } } 34

35 for-each loop for(type itr-var : iterableObj) statement-block 35

36 public class MainClass { public static void main(String args[]) { int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for(int x : nums) { System.out.print(x + " "); x = x * 10; // no effect on nums } System.out.println(); for(int x : nums) System.out.print(x + " "); System.out.println(); } } 36

37 for (type identifier : iterable_expression) { // statements } public class MainClass { enum Season { spring, summer, fall, winter } public static void main(String[] args) { for (Season season : Season.values()) { System.out.println(" The season is now " + season); } } } 37

38 public class MainClass { public static void main(String args[]) { int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int sum = 0; // use for-each style for to display and sum the values for(int x : nums) { System.out.println("Value is: " + x); sum += x; } System.out.println("Summation: " + sum); } } 38

39 public class MainClass { public static void main(String[] arg) { char[] vowels = { 'a', 'e', 'i', 'o', 'u'}; for(char ch: vowels){ System.out.println(ch); } } } 39

40 public class MainClass { public static void main(String args[]) { int sum = 0; int nums[][] = new int[3][5]; // give nums some values for (int i = 0; i < 3; i++) for (int j = 0; j < 5; j++) nums[i][j] = (i + 1) * (j + 1); // use for-each for to display and sum the values for (int x[] : nums) { for (int y : x) { System.out.println("Value is: " + y); sum += y; } } System.out.println("Summation: " + sum); } } 40

41 break statement คำสั่ง break จะออกจาก loop โดยจะไม่ execute คำสั่งที่ เหลือของ statements. public class MainClass { public static void main(String[] args) { int i = 0; while (true) { System.out.println(i); i++; if (i > 3) { break; } } } } 41

42 public class MainClass { public static void main(String[] args) { int count = 50; for (int j = 1; j < count; j++) { if (count % j == 0) { System.out.println("Breaking!!"); break; } } } } 42

43 public class MainClass { public static void main(String[] args) { OuterLoop: for (int i = 2;; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue OuterLoop; } } System.out.println(i); if (i == 107) { break; } } } } 43

44 public class Main { public static void main(String args[]) { int len = 100; int key = 50; int k = 0; out: { for (int i = 0; i < len; i++) { for (int j = 0; j < len; j++) { if (i == key) { break out; } k += 1; } } } System.out.println(k); } } 44

45 public class MainClass { public static void main(String[] args) { OuterLoop: for (int i = 2;; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue OuterLoop; } } System.out.println(i); if (i == 37) { break OuterLoop; } } } } 45

46 public class MainClass { public static void main(String args[]) { int sum = 0; int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // Use for to display and sum the values. for (int x : nums) { System.out.println("Value is: " + x); sum += x; if (x == 5){ break; // stop the loop when 5 is obtained } } System.out.println("Summation of first 5 elements: " + sum); } } 46

47 continue statement จะหยุดทำคำสั่งในรอบนั้น แล้วกลับไปเริ่มต้น ทำงานรอบใหม่ public class MainClass { public static void main(String[] args) { for (int i = 0; i < 10; i++) { if (i == 5) { continue; } System.out.println(i); } } } 47

48 public class MainClass { public static void main(String[] arg) { int limit = 10; int sum = 0; for (int i = 1; i <= limit; i++) { if (i % 3 == 0) { continue; } sum += i; } System.out.println(sum); } } 48

49 public class MainClass { public static void main(String[] args) { int limit = 20; int factorial = 1; OuterLoop: for (int i = 1; i 10 && i % 2 == 1) { continue OuterLoop; } factorial *= j; } System.out.println(i + "! is " + factorial); } } } 49

50 Java Input - Using Java Scanner Import java.util.Scanner; Scanner scan = new Scanner(System.in); String input = scan.nextLine(); Int num = scan.nextInt(); 50

51 ตัวแปรอาเรย์เบื้องต้น (Array Basics) เป็นชื่อของกลุ่มข้อมูลที่มีประเภทเดียวกัน ข้อมูลแต่ละตัวจะเรียกว่า สมาชิกอาเรย์ (array element) สมาชิกตัวแรกจะมีดัชนี (index) เป็น 0 51

52 ตัวอย่าง array public class MainClass { public static void main(String[] arg) { int[] intArray = new int[10]; for (int i = 0; i < 10; i++) { intArray[i] = 100; } for (int i = 0; i < 10; i++) { System.out.println(intArray[i]); } } } 52

53 การกำหนดค่า array โดย index public class MainClass { public static void main(String args[]) { int month_days[]; month_days = new int[12]; month_days[0] = 31; month_days[1] = 28; month_days[2] = 31; month_days[3] = 30; month_days[4] = 31; month_days[5] = 30; month_days[6] = 31; month_days[7] = 31; month_days[8] = 30; month_days[9] = 31; month_days[10] = 30; month_days[11] = 31; System.out.println("April has " + month_days[3] + " days."); } } 53

54 การกำหนด array แบบอื่นๆ int al[] = new int[3]; int[] a2 = new int[3]; char twod1[][] = new char[3][4]; เท่ากับ char[][] twod2 = new char[3][4]; int[] nums, nums2, nums3; // create three arr ays 54

55 Anonymous arrays new type[] {comma-delimited-list} public class MainClass { public static void main (String args[]) { int array1[] = {1, 2, 3, 4, 5}; for(int i: array1){ System.out.print (i+” “); } } } Output : 1 2 3 4 5 55

56 Length of array public class MainClass { public static void main(String[] arg) { int[] intArray = new int[10]; for (int i = 0; i < intArray.length; i++) { intArray[i] = 100; } for (int i = 0; i < intArray.length; i++) { System.out.print(intArray[i]+” “); } } } 100 100 100 100 100 100 100 100 100 100 56

57 public class MainClass { public static void main(String[] arg) { double[] data = new double[50]; // An array of 50 values of type double for (int i = 0; i < data.length; i++) { // i from 0 to data.length-1 data[i] = 1.0; } for (int i = 0; i < data.length; i++) { // i from 0 to data.length-1 System.out.println(data[i]); } } } 57

58 Array of character public class MainClass{ public static void main(String[] arg){ char[] message = new char[5]; java.util.Arrays.fill(message, 'A'); for(char ch: message){ System.out.print (ch+” “); } } } A A A A A 58

59 iterate over an array for (componentType variable: arrayName) import java.util.Arrays; public class MainClass { public static void main(String[] arg) { double[] data = new double[5]; // An array of 50 values of type double Arrays.fill(data, 1.0); // Fill all elements of data with 1.0 for (double d: data) { System.out.println(d); } } } 1.0 1.0 1.0 1.0 1.0 59

60 Change size public class MainClass { public static void main(String[] args) { int[] numbers = { 1, 2, 3 }; int[] temp = new int[4]; int length = numbers.length; for (int j = 0; j < length; j++) { temp[j] = numbers[j]; } numbers = temp; } } 60

61 Duplicate array public class ArrayCopyDemo { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', ' n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7]; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); } } 61


Download ppt "Chapter 4 คำสั่งควบคุม (control statement) If statement Switch statement While loop and do-while loop For loop and for-each loop Break and continue 1."

Similar presentations


Ads by Google