Main content:
      How to code Boolean expressions
      How to code if/else and switch statements
      How to code loops
      How to code break and continue statements
      How to code and call static methods
        -----
1. How to code Boolean expressions:
   - Toán tử so sánh:

 - So sánh hai chuỗi dùng phương thức:
    + equals(String)
    + equalsIgnoreCare(String)

 - Toán tử logic:

2. How to code if/else and switch statements:
 Cú pháp lệnh if:

 Cú pháp lệnh switch:

Ví dụ: nhập vào 1 số tự nhiên n và thứ tương ứng nếu n % 7:
           - bằng 0: in thứ Hai.
           - bằng 1: in thứ Ba.
             ...
           - băng6: in Chủ Nhật.
  Bài giải:
import java.util.Scanner;

public class DayOfWeek {
       final public  int DAY_OF_WEEK = 7;
       public static void main(String[] args) {
              Scanner input = new Scanner(System.in);
              System.out.print("Nhập số n:");
              int n = input.nextInt();
             
              switch(n % 7) {
                     case 0:
                           System.out.println("Thứ Hai");
                           break;
                     case 1:
                           System.out.println("Thứ Ba");
                           break;
                     case 2:
                           System.out.println("Thứ Tư");
                           break;
                     case 3:
                           System.out.println("Thứ Năm");
                           break;
                     case 4:
                           System.out.println("Thứ Sáu");
                           break;
                     case 5:
                           System.out.println("Thứ Thứ 7");
                           break;
                     case 6:
                           System.out.println("Chủ Nhật");
                           break;              
              }
       }
}


3. How to code loops:
   Lệnh while: điều kiện được kiểm tra trước

   Lệnh do .. while: điều kiện được kiểm tra sau, vòng lặp được thực hiện ít nhất 1 lần

Ví dụ: Viết vòng lặp cho phép nhập chuỗi Y/N nếu nhập Y thì vòng lặp sẽ tiếp tục lặp và N thì dừng.
Bài giải:
Sử dụng vòng do ... while:
import java.util.Scanner;

public class Continue {
       public static void main(String[] args) {
              Scanner scanner = new Scanner(System.in);
              String choice = "";
              do {
                     System.out.print("Coninues Y/N ?: ");
                     choice = scanner.nextLine();
              } while (choice.equalsIgnoreCase("y"));//Đúng thì thực hiện vòng lặp
              System.out.println("Kết thúc.");
       }
}

Sử dụng vòng while:
import java.util.Scanner;

public class Continue {
       public static void main(String[] args) {
              Scanner scanner = new Scanner(System.in);
              String choice = "y";
             //Đúng thì thực hiện vòng lặp
              while (choice.equalsIgnoreCase("y")){
                     System.out.print("Coninues Y/N ?: ");
                     choice = scanner.nextLine();
              }
              System.out.println("Kết thúc.");
       }
}

 Lệnh for:
Ví dụ: Viết chương trình tính tổng các số chẵn từ 2 tới n, n nhập từ bàn phím.


4. How to code break and continue statements:
 - Lệnh break:  sẽ thoát khỏi một vòng for chứa nó. Có thể dùng lệnh break labelName;
Ví dụ:
for (int i = 1; i <= 2; i++)
{
       System.out.println("i = " + i);
       while(true)
       {
              int number = (int) (Math.random() * 10);
              System.out.println("number = " + number);
              if (number > 7) {
                     break;
              }
       }
}
  
 - Lệnh continue: sẽ làm quay lại vòng lặp nhanh hơn, và không thực hiện phần dưới vòng lặp kể từ lệnh continue
for (int i = 1; i <= 2; i++)
{
       System.out.println("i = " + i);
       while(true)
       {
              int number = (int) (Math.random() * 10);
              System.out.println("number = " + number);
              if (number <= 7) {
                     continue;
              }
              System.out.println("This number is greater than 7");
              break;
       }
}

5. How to code and call static methods:
 - Phương thức static có thể gọi mà không cần tạo đối tượng, gọi trưc tiếp từ tên lớp.
   Cú pháp:
 - Ví dụ:
public class Main {
public static void main(String[] args) {
              printWelcomeMessage();
              //hoặc Main.printWelcomeMessage();      
       }

       public static void printWelcomeMessage()
       {
              System.out.println("Welcome to Java");
       }
}


Bài tập:
1. Viết chương trình nhập vào số n, in ra tất cả các ước số của n.
Ví dụ: n = 12, in ra: 1, 2, 3, 4, 6, 12.
Bài giải:
import java.util.Scanner;

public class UocSo {
       public static void main(String[] args) {
              Scanner input = new Scanner(System.in);
             
              System.out.print("Nhập n = ");
              int n = input.nextInt();
              System.out.print("Ước số của " + n +" là: ");
              for(int i = 1; i <= n; i++) {
                     if (n % i == 0) {
                           System.out.print(i +", ");
                     }
              }
       }
}

Kết quả:


2. Viết chương trình tìm ước số chung lớn nhất của hai số tự nhiên a, b. cho nguyên mẫu hàm int USCLN(int b, int b). ví dụ: USCLN(8, 12) = 4.
Bài giải:
import java.util.Scanner;

public class USCLN {
       public static void main(String[] args) {
       int a, b;
              Scanner scanner = new Scanner(System.in);
        System.out.print("Nhap hai so nguyen a, b: ");
               a = scanner.nextInt();
               b = scanner.nextInt();
               System.out.println("Uoc so chung lon nhat hai so" + a + ", " + b + " bang: " + UCLN(a, b));
       }
      
       public static int UCLN(int a, int b) {
              while (a != b) {
                     if (a > b) {
                                  a = a - b;
                     } else {
                                  b = b - a;
                     }
              }
              return a;
       }
}

3. Nhập giá trị X từ bàn phím. Viết chương trình in ra số n lớn nhất thỏa mãn S < X với S = 1 + 2 + .. + n.
Bài giải:

4. Cho ví dụ ứng dụng lệnh break và continue
Bài giải:

5. Viết chương trình nhập vào một năm và kiểm tra năm đó có nhuận hay không ?
Gợi ý: Năm nhuận là năm chia hết 400 hoặc (chia hết cho 4 nhưng không chia hết cho 100).
Bài giải:

import java.util.Scanner;

public class NamNhuan {
       public static void main(String[] args) {
              Scanner input = new Scanner(System.in);
              System.out.print("Nhap vao nam: ");
              int year = input.nextInt();
             
              if ( (year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
              {
                     System.out.println("Năm nhuận");
              } else {
                     System.out.println("Năm không nhuận");
              }
       }
}