# data[].attributes.body
Dự án của nhóm: Quản lý sinh viên
Câu 1: Nguyễn Trung Sỹ
Câu 2: Nguyễn Thị Mỹ Trang
Câu 3: Nguyễn Thị An
Câu 4: Nguyễn Đình Bảo Trâm
Câu 5: Trần văn Tâm

# data[].attributes.headline
(Nguyễn Trung Sỹ) Câu 1: Cấu trúc câu điều kiện if

# data[].attributes.subject
(Nguyễn Trung Sỹ) Câu 1: Cấu trúc câu điều kiện if

# data[].attributes.body
Trong ngôn ngữ lập trình Java cũng như các ngôn ngữ lập trình khác, cấu trúc điều khiển if - else sẽ kiểm tra kết quả của 1 điều kiện và dựa vào kết quả đó để thực hiện các hành động tương ứng.
Cấu trúc if - else có 4 dạng chính:
- Cấu trúc if khuyết else.
if (điều kiên 1) {

// hành động 1

}

// Lệnh kế tiếp

- Cấu trúc if - else đầy đủ.
if (điều kiên 1) {

// hành động 1

} else {

// hành động 2

}

// Lệnh kế tiếp

- Cấu trúc điều khiển if - else if - else.
if (điều kiên 1) {

// hành động 1

} else if (điều kiện 2) {

// hành động 2

} else if (điều kiện 3) {

// hành động 3

} ... else {

// hành động n

}

// Lệnh kế tiếp

- Cấu trúc if - else lồng nhau.
if (điều kiện 1) {

// Nếu điều kiện 1 trả về kết quả đúng thì điều kiện 2 trong if bên dưới sẽ được kiểm tra

if (điều kiện 2) {

// Nếu điều kiện 2 trả về kết quả đúng thì hành động trong if sẽ được thực hiện

} else {

// Nếu điều kiện 2 trả về kết quả sai thì hành động trong else sẽ được thực hiện

}

} else {

// Nếu điều kiện 1 trả về kết quả sai thì hành động trong else này sẽ được thực hiện

}

Ví dụ:
public static void main(String[] args) {
double diemtb;
Scanner sc = new Scanner(System.in);
System.out.println("Nhap diem tb: ");
diemtb=sc.nextDouble();
if(diemtb > 7) {
System.out.println("Xep hoc luc gioi");
}
else{
System.out.println("Xep hoc luc bth: ");
}
}

}

public void delete(int id) {
Sinh vien = null;
int size = Danhsachsinhvien.size();
for (int i = 0; i < size; i++) {
if (Danhsachsinhvien.get(i).getId() == id) {
student = Danhsachsinhvien.get(i);
break;
}
}
if (student != null) {
Danhsachsinhvien.remove(student);
studentDao.write(Danhsachsinhvien);
} else {
System.out.printf("id = %d khong ton tai.\n", id);
}
}

# data[].attributes.headline
(Nguyễn Thị Mỹ Trang) Câu 2: Cấu trúc Switch... Case

# data[].attributes.subject
(Nguyễn Thị Mỹ Trang) Câu 2: Cấu trúc Switch... Case

# data[].attributes.body
-Cú pháp:
+switch ( variable //biến ) {
case  value1:
// Làm gì đó tại đây ...
break;
case  value2:
// Làm gì đó tại đây ...
break;
default:
// Làm gì đó tại đây ...
}                                                     - Cách dùng:                      -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.

-Ở đoạn code trên, các giá trị để so sánh với biến variable là value 1, value 2. Khi một trường hợp đúng (true), khối lệnh ở trong case đó sẽ được thực thi.

Nếu tất cả các trường hợp đều sai (tức là các value ở case không bằng với biến variable), thì khối lệnh ở trong default sẽ được thực thi.

Lưu ý là khối default là không bắt buộc có ở cấu trúc switch case trong Java, tức là bạn có thể viết cũng được mà không viết cũng không bị lỗi.

Trong một switch có thể có rất nhiều case, nói chung là bao nhiêu case cũng được.

Khi thấy một case đúng, khối lệnh trong case đó sẽ được chạy.

Nếu không gặp lệnh break trong khối lệnh này, thì chương trình sẽ thực hiện tiếp các case bên dưới cho tới khi nó gặp lệnh break thì nó sẽ thoát ra khỏi switch.

Giả sử mà switch không có lệnh break nào, thì nó sẽ thực hiện đến khi không còn khối lệnh nào để chạy.
* Ví dụ:
public static void main(String[] args) {
int hocluc = 2;

switch (hocluc) {
case 1:
System.out.println("hoc luc gioi");
break;
case 2:
System.out.println("hoc luc kha");
break;
case 3:
System.out.println("hoc luc trung binh");
break;
case 4:
System.out.println("hoc luc yeu");
break;

default:
System.out.println("Hoc lai! ");
break;
}
}
}

# data[].attributes.headline
(Nguyễn Thị An) Câu 3: Cú Pháp và cách sử dụng cấu trúc FOR:

# data[].attributes.subject
(Nguyễn Thị An) Câu 3: Cú Pháp và cách sử dụng cấu trúc FOR:

# data[].attributes.body
Có 3 kiểu vòng lặp for trong java:
+ Vòng lặp for đơn giản
+ Vòng lặp for cải tiến
+ Vòng lặp for gán nhãn
1. Vòng lặp for đơn
Vòng lặp for đơn giản giống như trong C/C++. Chúng ta có thể khởi tạo biến, kiểm tra điều kiện và tăng/giảm giá trị của biến.
Cú pháp:
1  for (khoi_tao_bien ; check_dieu_kien tang/giam_bien) {
2  // Khối lệnh được thực thi
3   }
VD:
public class Diemthi {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
System.out.println(i);
}
}
}

2. Vòng lặp for cải tiến
Vòng lặp for cải tiến được sử dụng để lặp mảng(array) hoặc collection trong java. Bạn có thể sử dụng nó dễ dàng, dễ hơn cả vòng lặp for đơn giản. Bởi vì bạn không cần phải tăng hay giảm giá trị của biến rồi check điều kiện, bạn chỉ cần sử dụng ký hiệu hai chấm ":"
Cú pháp:
1     for (Type var : array) {
2       // Khối lệnh được thực thi
3    }
VD:
public class Diemthi{
public static void main(String[] args) {
int arr[] = { 1, 2, 4, 6, 9 };
for (int i : arr) {
System.out.println(i);
}
}
}

3. Vòng lặp for gán nhãn
Chúng ta có để đặt tên cho mỗi vòng lặp for bằng cách gán nhãn trước vòng lặp for. Điều này rất hữu dụng khi chúng ta muốn thoát/tiếp tục(break/continues) chạy vòng lặp for.
Cú pháp:
1     ten_nhan:
2     for (khoi_tao_bien ; check_dieu_kien  ; tang/giam_bien) {
3     // Khối lệnh được thực thi
4  }
VD:
public class Diemth {
public static void main(String[] args) {
aa: for (int i = 0; i <= 10; i++) {
bb: for (int j = 0; j <= 10; j++) {
if (i == 1 && j == 1) {
break aa;
}
System.out.println(i + " " + j);
}
}
}
}

# data[].attributes.body
a. Cấu trúc lặp While:  chạy liên tục
*Cú pháp:
while( điều kiện ){
statement(s);   //khối lệnh được thực thi và sẽ dừng lại khi điều kiện = false
}
*Cách dùng:
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. Vòng lặp while được sử dụng nếu số lần lặp không được xác định trước.
*Ví dụ:
int i=1; //stt sv
Scanner sc = new Scanner(Sysrem.in);
while(i!=0){
System.out.println("Nhap i = 0 de thoat !  ");
i=sc.nextInt();
}

b. Cấu trúc lặp do...while: Chạy lệnh trước -> kiểm tra sau
*Cú pháp:
do{
statement(s);
}
while(điều kiện);
*Cách dùng:
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.
*Ví dụ:
do {

System.out.println("Nhap ma so sv gom 10 so:  ");

maSv(sc.nextLine());

} while (maSv().length() != 10);
*Khác nhau giữa while, Do-while:
- While: Kiểm tra điều kiện trước, vòng lặp không được thực thi khi điều kiện không đúng, có trường hợp sẽ không thực hiện lệnh lần nào.
- Do ...while: Chạy lệnh trước và kiểm tra điều kiện sau. Có ít nhất 1 lần thực hiện lệnh.

# data[].attributes.body
1. Câu lệnh Break

Từ khóa break được sử dụng để dừng toàn bộ vòng lặp. Từ khóa break phải được sử dụng bên trong bất kỳ vòng lặp nào hoặc một lệnh switch.

Từ khóa break sẽ dừng sự thực thi của vòng lặp trong cùng và bắt đầu thực thi dòng code tiếp theo sau khối đó.

Cú pháp:
Break;

Ví dụ:

public static void main(String[] args) {
for (int i = 8; i <= 10; i++) {
if (i == 9) {
break;
}
System.out.println("Hoc luc gioi:"+i);
}
}
}

2. Câu lệnh Coutinue

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ụ:

package com.company;

public class Main {

    public static void main(String args[]) {
        for (int i = 0; i < 10; i++) {
            if (i % 3 != 0)
                continue;
            System.out.println(i);
        }
    }
}

Chương trình trên in ra màn hình console các số nhỏ hơn 10 chia hết cho 3. Với các số không chia hết cho 3, câu lệnh continue được thực hiện để bỏ qua lần lặp đó.

Kết quả thu được:

3
6
9

Như vậy, chúng ta đã tìm hiểu xong những kiến thức cơ bản của Java, sang bài học sau, chúng ta sẽ đi sâu vào tính hướng đối tượng của ngôn ngữ này.