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)
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
Các lệnh lựa chọn
Các lệnh lựa chọn
if và if... else...
if lồng nhau
switch
4
If ...
public class Test{
public static void main(String args[]){
if(args.length < 1){
System.out.println("khong co doi so dong lenh!");
}
}
}
Chạy chương trình:
>java Test
Khong co doi so dong lenh!
>java Test 5 AH
>
5
If … else ...
public class Test{
public static void main(String args[]){
if(args.length < 1){
System.out.println("khong co doi so dong lenh!");
}else {
System.out.println("so luong doi so: " + args.length);
}
}
}
Chạy chương trình:
>java Test
Khong co doi so dong lenh!
>java Test 10 5 11
So luong doi so: 3
6
If … else … lồng nhau
public class Test{
public static void main(String args[]){
if(args.length < 1)
System.out.println("khong co doi so dong lenh!");
else if(args.length < 5)
System.out.println("so luong doi so tu 1 - 4");
else if(args.length < 10)
System.out.println("so luong doi so tu 5 - 10");
else
System.out.println("so luong doi so > 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
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
Các lệnh lặp
while ...
public class Test{
public static void main(String args[]){
int i = 0;
while(i < args.length){
System.out.println(args[i]);
i++;
}
}
}
Chạy chương trình:
>java Test 15 A7 Np
15
A7
Np
10
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
while và continue
public class Test{
public static void main(String args[]){
int i = 0;
while(i < 10){
i++;
if((i % 2) == 0) continue;
System.out.println(String.valueOf(i));
}
}
}
Chạy chương trình:
>java Test
1
3
5
7
9
12
do … while
public class Test{
public static void main(String args[]){
int i = 0;
do{
System.out.println(args[i]);
i++;
}while(i < args.length)
}
}
Chạy chương trình:
>java Test 15 A7 Np
15
A7
Np
13
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
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 < 10)
}
}
Chạy chương trình:
>java Test
1
3
5
7
9
15
for ...
public class Test{
public static void main(String args[]){
for (int i = 0; i < args.length; i++){
System.out.println(args[i]);
}
}
}
Chạy chương trình:
>java Test 15 A7 Np
15
A7
Np
16
for và break
public class Test{
public static void main(String args[]){
for (int i = 0; i < args.length; i++){
if(args[i].equals("a7")) break;
System.out.println(args[i]);
}
}
}
Chạy chương trình:
>java Test 15 a7 Np
15
>java Test A7 Np
A7
Np
17
for và continue
public class Test{
public static void main(String args[]){
for (int i = 0; i < args.length; i++){
if(args[i].equals("a7")) continue;
System.out.println(args[i]);
}
}
}
Chạy chương trình:
>java Test 15 a7 Np
15
Np
18
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 = b 2 + c 2
19
Làm việc với mảng
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 < args.length; i++){
input[i] = Integer.parseInt(args[i]);
}
}
}
Chạy chương trình:
>java Test 15 19 150
chuyện gì sẽ xảy ra?
21
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 < args.length; i++){
input[i] = Integer.parseInt(args[i]);
}
}
}
Chạy chương trình:
>java Test 15 19 150
>java Test
chuyện gì sẽ xảy ra?
22
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 < args.length; i++){
input[i] = Integer.parseInt(args[i]);
}
}
}
}
Chạy chương trình:
>java Test 15 19 150
>java Test
23
Nhập dữ liệu từ bàn phím
InputStreamReader
InputStreamReader br = new InputStreamReader(System.in);
try {
String input = br.readLine();
} catch (IOException e) {
System.out.println(e);
}
25