# data[].attributes.body
PHÂN CÔNG CÔNG VIỆC

Câu 1: Nguyễn Thị Hồng Nhung
Câu 2: Đặng Thị Phương Lan
Câu 3: Phạm Thị Hồng Thắm
Câu 4: Nguyễn Văn Tuyên
Câu 5: Trung Đức Trọng

# data[].attributes.body
1.Cấu trúc rẽ nhánh là gì? Phân loại?

- Trong lập trình, có những lúc ta cần phân chia các trường hợp và mỗi hoàn cảnh sẽ thực hiện những đoạn chương trình khác nhau. Như vậy dựa vào điều kiện ta sẽ rẽ nhánh cho chương trình chạy câu lệnh tương ứng.

- Phân loại: Có 2 loại cấu trúc rẽ nhánh là dạng thiếu và dạng đủ.

2.Cách sử dụng cấu trúc rẽ nhánh:
a.Cấu trúc rẽ nhánh dạng thiếu:

*Cú pháp:

if (<Biểu thức điều kiện>) <Câu lệnh thực hiện>

*Ý nghĩa:

- Nếu <Biểu thức điều kiện> trả về true thì sẽ thực hiện <Câu lệnh thực hiện>.

*Ví dụ:
public class QLSV{
public static void main(String []args){
String name = "sinh viên";
if (name == "sinh viên")
System.out.print("Danh sách sinh viên");
}
}

b.Cấu trúc rẽ nhánh dạng đủ:
- Dạng đủ sẽ chia ra 2 loại: Gồm if..else.. và if..else if..else..

**Dạng if..else..

*Cú pháp:

if (<Biểu thức điều kiện>)

<Câu lệnh thực hiện điều kiện đúng>

else

<Câu lệnh thực hiện điều kiện sai>

*Ý nghĩa:

- Nếu <Biểu thức điều kiện> trả về true thì sẽ thực hiện <Câu lệnh thực hiện điều kiện đúng>. Ngược lại nếu trả về false sẽ thực hiện <Câu lệnh thực hiện điều kiện sai>

*Ví dụ:
public class QLSV{
public static void main(String []args){
int tbDiemhe4 ;
if (tbDiemhe4 >=2)
System.out.print("Không bị rút tín chỉ");
else
System.out.print("Bị rút tín chỉ);
}
}

**Dạng if..else if..else

*Cú pháp:

if (<Biểu thức điều kiện 1>)

<Câu lệnh thực hiện điều kiện 1>

else if (<Biểu thức điều kiện 2>)

<Câu lệnh thực hiện điều kiện 2>

(Nhiều câu điều kiện khác nếu cần)

else

<Câu lệnh thực hiện không đúng trong tất các điều kiện trên>

*Ý nghĩa:

- Đây là dạng cấu trúc rẽ nhiều nhánh nếu ta muốn xét nhiều trường hợp để thực hiện rõ ràng hơn.

*Ví dụ:
public class QLSV{
public static void main(String []args){
String job = "Sinh viên";
if (job == "Học sinh")
System.out.print("Bạn còn lứa tuổi học sinh");
else if (job == "Sinh viên")
System.out.print("Sinh viên có thể tham gia");
else
System.out.print("Không rõ công việc của bạn");
}
}

# data[].attributes.body
1.Cấu trúc lệnh:
switch (bieu_thuc) {
case gia_tri_1:
// Khối lệnh 1
break;  //tùy chọn
case gia_tri_2:
// Khối lệnh 2
break;  //tùy chọn
......
case gia_tri_n:
// Khối lệnh n
break;  //tùy chọn
default:
// Khối lệnh này được thực thi
// nếu tất cả các điều kiện trên không thỏa mãn
}
2.Hoạt động của switch case như sau:

Switch sẽ kiểm tra giá trị của biến variable (nằm trong ngoặc đơn sau switch kia), và so sánh biến với từng giá trị khác nhau, lần lượt từ trên xuống dưới, mỗi giá trị cần so sánh gọi là một case.

3.Ví dụ:
Scanner sc  = new Scanner(System.in);
byte menu = Byte.parseByte(sc.nextLine());
switch(menu) {
case 1:
//nhập dữ liệu sinh viên
break;
case 2:
//in ra dữ liệu sinh viên
break;
case 3:
//Tìm  kiếm
break;
default:
//nhập lại
break;
}

# data[].attributes.headline
Câu 3: Cú pháp và cách sử dụng cấu trúc FOR?

# data[].attributes.subject
Câu 3: Cú pháp và cách sử dụng cấu trúc FOR?

# data[].attributes.body
Cú pháp:
for (<khởi tạo biến chạy>;<Biểu thức điều kiện>;<thay đổi      biến chạy>) {

<Khối lệnh lặp lại>

}
Cách sử dụng:
public void nhapDanhSachSinhVien() {
Scanner sc = new Scanner(System.in);

Student sv;
System.out.print("Nhap so luong sinh vien: ");
int n = sc.nextInt();
System.out.println("Nhap danh sach sinh vien: ");
for (int i = 0; i < n; i++) {
System.out.println("Sinh vien thu " + (i + 1) + " la:");
sv = new Student();
sv.nhapThongTin();
}
}

# data[].attributes.body
Vòng lặp while trong java được sử dụng để lặp một phần của chương trình một vài lần. Nếu số lần lặp không được xác định trước thì vòng lặp lặp while được khuyến khích sử dụng trong trường hợp này.
Cú pháp:
while(condition) {
    // Khối lệnh được lặp lại cho đến khi condition = False
}
Ví dụ:
public static void main(String[] args) {
    ArrayList dsdiem10=new ArrayList();
    double diemheso10=-5 ;
    Scanner sc=new Scanner(System.in);
    for (int i =0  ;i<5;i++){
    do
    {
        System.out.print("Nhập điểm hệ số 10: ");
        diemheso10=sc.nextDouble();
    }while(diemheso10<0|| diemheso10>10);
    dsdiem10.add(diemheso10);}
    System.out.println("Mời bạn nhập khoảng điểm cần tìm: ");
    double a,b;
    System.out.print("Điểm đầu: ");
    a=sc.nextDouble();
    System.out.print("Điểm cuối: ");
    b= sc.nextDouble();
    System.out.println(dsdiem10.get(0));
    double c=0;
    if (a>b) {
        c = a;
        a=b;
        b=c;
    }
    System.out.println("Điểm từ "+a+" đến" +b+":");
    int i=0;
    while (i<dsdiem10.size())
    {
         c=(double) dsdiem10.get(i);
        if (c>a&&c<b)
            System.out.println(dsdiem10.get(i));
    i++;
    }
}

# data[].attributes.body
Vòng lặp do-while trong java được sử dụng để lặp một phần của chương trình một vài lần. Tương tự như vòng lặp while, ngoại trừ do-while thực hiện lệnh ít nhất một lần ngay cả khi điều kiện là False.
Cú pháp:
do {
    // Khối lệnh được thực thi
} while(condition);
Ví dụ:
public static void main(String[] args) {
    double diemheso10=-5 ;
    Scanner sc=new Scanner(System.in);
    do
    {
        System.out.print("Nhập điểm hệ số 10: ");
        diemheso10=sc.nextDouble();
    }while(diemheso10<0|| diemheso10>10);
    System.out.println("Điểm hệ số 10: "+diemheso10);
}

# data[].attributes.body
Từ khóa break trong java được sử dụng để dừng thực thi lệnh trong vòng lặp hoặc trong mệnh đề switch tại điều kiện đã được chỉ định. Đối với vòng lặp bên trong vòng lặp khác, thì nó chỉ stop vòng lặp bên trong đó.
ví dụ:

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

        for (int i = 1; i <= 10; ++i) {

            if (i > 4) {
                break;
            }
            System.out.println("qua mon");
        }
    }
}

Từ khóa continue trong java được sử dụng để tiếp tục vòng lặp tại điều kiện đã được xác định. Với điều kiện đó khối lệnh phía sau từ khóa continue sẽ không được thực thi. Đối với vòng lặp bên trong một vòng lặp khác, continue chỉ có tác dụng với vòng lặp bên trong đó.

ví dụ:

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

        for (int i = 1; i <= 10; ++i) {

            if (i > 4 && i < 9) {
                continue;
            }
            System.out.println(i);
        }
    }
}