Bài giảng Lập trình hướng đối tượng - Bài 2: Các cấu trúc lệnh trong Java - TS. Nguyễn Mạnh Hùng

pdf 38 trang phuongnguyen 2410
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Bài 2: Các cấu trúc lệnh trong Java - TS. Nguyễn Mạnh Hùng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_lap_trinh_huong_doi_tuong_bai_2_cac_cau_truc_lenh.pdf

Nội dung text: Bài giảng Lập trình hướng đối tượng - Bài 2: Các cấu trúc lệnh trong Java - TS. Nguyễn Mạnh Hùng

  1. Lập trình hướng đối tượng Các cấu trúc lệnh trong Java Giảng viên: TS. Nguyễn Mạnh Hùng Học viện Công nghệ Bưu chính Viễn thông (PTIT)
  2. Nội dung  Các lệnh lựa chọn  Các cấu trúc lệnh lặp  Làm việc với mảng  Nhập dữ liệu từ bàn phím  Bài tập  Giới thiệu bài tập lớn: ô số sudoku 2
  3. Các lệnh lựa chọn
  4. Các lệnh lựa chọn  if và if else  if lồng nhau  switch 4
  5. If public class Test{ public static void main(String args[]){ if(args.length java Test Khong co doi so dong lenh! >java Test 5 AH > 5
  6. If else public class Test{ public static void main(String args[]){ if(args.length java Test Khong co doi so dong lenh! >java Test 10 5 11 So luong doi so: 3 6
  7. If else lồng nhau public class Test{ public static void main(String args[]){ if(args.length 10"); } } Chạy chương trình: >java Test Khong co doi so dong lenh! >java Test 10 5 11 So luong doi so tu 1 - 4 7
  8. switch public class Test{ public static void main(String args[]){ if(args.length > 0){ int day = Integer.parseInt(args[0]); switch(day){ case 2: System.out.println("monday"); break; case 3: System.out.println("tuesday"); break; case 4: System.out.println("wednesday"); break; case 5: System.out.println("thursday"); break; case 6: System.out.println("friday"); break; case 7: System.out.println("satuday"); break; case 8: System.out.println("sunday"); break; default: System.out.println("invalid day of week!"); break; } } }} Chạy chương trình: >java Test 5 thursday >java Test 10 invalid day of week! 8
  9. Các lệnh lặp
  10. while public class Test{ public static void main(String args[]){ int i = 0; while(i java Test 15 A7 Np 15 A7 Np 10
  11. while và break public class Test{ public static void main(String args[]){ int i = 0; while(true){ System.out.println(args[i]); i++; if(i >= args.length) break; } } } Chạy chương trình: >java Test 15 A7 Np 15 A7 Np 11
  12. while và continue public class Test{ public static void main(String args[]){ int i = 0; while(i java Test 1 3 5 7 9 12
  13. do while public class Test{ public static void main(String args[]){ int i = 0; do{ System.out.println(args[i]); i++; }while(i java Test 15 A7 Np 15 A7 Np 13
  14. do while và break public class Test{ public static void main(String args[]){ int i = 0; do{ System.out.println(args[i]); i++; if(i >= args.length) break; }while(true) } } Chạy chương trình: >java Test 15 A7 Np 15 A7 Np 14
  15. do while và continue public class Test{ public static void main(String args[]){ int i = 0; do{ i++; if((i % 2) == 0)continue; System.out.println(args[i]); }while(i java Test 1 3 5 7 9 15
  16. for public class Test{ public static void main(String args[]){ for (int i = 0; i java Test 15 A7 Np 15 A7 Np 16
  17. for và break public class Test{ public static void main(String args[]){ for (int i = 0; i java Test 15 a7 Np 15 >java Test A7 Np A7 Np 17
  18. for và continue public class Test{ public static void main(String args[]){ for (int i = 0; i java Test 15 a7 Np 15 Np 18
  19. Bài tập  Viết chương trình tìm và in ra màn hình các bộ số tự nhiên (a,b,c) nhỏ hơn 1000 sao cho: a2 = b2 + c2 19
  20. Làm việc với mảng
  21. Gán dữ liệu vào mảng (1) public class Test{ public static void main(String args[]){ int[] input; for (int i = 0; i java Test 15 19 150 chuyện gì sẽ xảy ra? 21
  22. Gán dữ liệu vào mảng (2) public class Test{ public static void main(String args[]){ int[] input = new int[args.length]; for (int i = 0; i java Test 15 19 150 >java Test chuyện gì sẽ xảy ra? 22
  23. Gán dữ liệu vào mảng (3) public class Test{ public static void main(String args[]){ int[] input; if(args != null){ input = new int[args.length]; for (int i = 0; i java Test 15 19 150 >java Test 23
  24. Nhập dữ liệu từ bàn phím
  25. InputStreamReader InputStreamReader br = new InputStreamReader(System.in); try { String input = br.readLine(); } catch (IOException e) { System.out.println(e); } 25
  26. Scanner Scanner scr = new Scanner(System.in); try { String inputStr = scr.readLine(); int inputInt = scr.nextInt(); } catch (IOException e) { System.out.println(e); } 26
  27. BufferedInputStream try{ BufferedInputStream input = new BufferedInputStream(System.in); byte[] in = new byte[1024]; while((input.read(in)) != -1) { //do something with data } input.close(); }catch(IOException e){ System.out.println(e); } 27
  28. DataInputStream try{ DataInputStream input = new DataInputStream(System.in); String in = input.readUTF(); //do something with data input.close(); }catch(IOException e){ System.out.println(e); } 28
  29. Ví dụ (1) // đọc một mảng các số vào từ bàn phím (cùng 1 dòng) // các số cách nhau bởi dấu trống InputStreamReader br = new InputStreamReader(System.in); try { // đọc một dòng từ bàn phím String input = br.readLine(); // tách các số cách nhau bởi dấu trống String[] tmpStr = input.split(" "); // khởi tạo mảng cần lưu dữ liệu int[] result = new int[tmpStr.length]; // gán các số vào mảng kết quả, có chuyển từ String sang int for (int i = 0; i < tmpStr.length; i++){ result[i] = Integer.parseInt(tmpStr[i]); } } catch (IOException e) { System.out.println(e); } 29
  30. Ví dụ (2) public class Test{ public static void main(String args[]){ InputStreamReader br = new InputStreamReader(System.in); try { String input = br.readLine(); String[] tmpStr = input.split(" "); int[] result = new int[tmpStr.length]; for (int i = 0; i < tmpStr.length; i++){ result[i] = Integer.parseInt(tmpStr[i]); } } catch (IOException e) { System.out.println(e); } } } 30
  31. Bài tập  Viết chương trình nhận một ma trận hai chiều, chứa các số, từ bàn phím 31
  32. Giới thiệu bài tập lớn: Ô số sudoku
  33. Ô số sudoku: mức độ dễ (1) Source: 33
  34. Ô số sudoku: mức độ dễ (2) Source: 34
  35. Ô số sudoku: khó vừa Source: 35
  36. Ô số sudoku: khó Source: 36
  37. Ô số sudoku: rất khó Source: 37
  38. Questions?