Java程序的邏輯控制和方法詳解

一、順序結構

從上往下執行,非常簡單,不做過多贅述。

二、分支結構

1.if語句

與c語言不同的是,java的if(佈爾表達式)必須是佈爾表達式
eg:判斷某一年是否是閏年

 public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int year = scan.nextInt();
        if((year%4==0 && year%100 !=10)||(year%400==0))
        System.out.println("閏年!");
        else{
            System.out.println("不是閏年!");
        }
    }

2.switch語句

基礎語法:

switch(整數|枚舉|字符|字符串){
 case 內容1 : {
 內容滿足時執行語句;
 [break;]
 }
 case 內容2 : {
 內容滿足時執行語句;
 [break;]
 }
 ...
 default:{
 內容都不滿足時執行語句;
 [break;]
 } 
}

面試問題:
不能做switch參數的類型有哪些?
long float double boolean

三、循環結構

1.while循環

註意事項:

  • 和 if 類似, while 下面的語句可以不寫 { } , 但是不寫的時候隻能支持一條語句.,建議還是加上 { }
  • 和 if 類似, while 後面的 { 建議和 while 寫在同一行。
  • 和 if 類似, while 後面不要多寫 分號, 否則可能導致循環不能正確執行。

eg:

public static void main(String[] args) {
        int i=1;
        int ret=1;
        while(i<=5) {
            ret *= i;
            i++;
        }
        System.out.println(ret);

2.for循環

  • 和 if 類似, for 下面的語句可以不寫 { } , 但是不寫的時候隻能支持一條語句,建議還是加上 { }
  • 和 if 類似, for 後面的 { 建議和 while 寫在同一行。
  • 和 if 類似, for 後面不要多寫 分號, 否則可能導致循環不能正確執行。

求階乘的和

 public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        int sum=0;
        for(int j=1;j<=num;j++){
            int ret=1;
            for(int i=1;i <= j; i++){
                ret*=1;
            }
            sum+=ret;
        }
    }
}

3.do-while循環

基本語法:
do{
循環語句;
}while(循環條件)
先執行語句再判斷循環條件。
註意事項:

  • do while 循環最後的分號不要忘記
  • 一般 do while 很少用到, 更推薦使用 for 和 while.

 四、Java的方法

方法就是一個代碼片段. 類似於 C 語言中的 “函數“。
方法:功能
public static 返回值 方法名(形式參數列表){
方法體;
}
方法名:要采用小駝峰的形式,maxNum
public static:因為當前所有的方法寫完之後會在Main方法中調用。
方法體:就是具體方法的實現。

public static void main(String[] args) {
 int a = 10;
 int b = 20;
        
        // 方法的調用
 int ret = add(a, b);
 System.out.println("ret = " + ret);
 }
    // 方法的定義
 public static int add(int x, int y) {
 return x + y;
 }

五、方法的重載

方法的重載:
1.方法名相同
2.返回值可以不同
3.參數列表不同(參數的個數和參數的類型不同)
4.必須要在同一個類當中。
eg:

public static void main(String[] args) {
 int a = 10;
 int b = 20;
 int ret = add(a, b);
 System.out.println("ret = " + ret);
 double a2 = 10.5;
 double b2 = 20.5;
 double ret2 = add(a2, b2);
 System.out.println("ret2 = " + ret2);
 double a3 = 10.5;
 double b3 = 10.5;
 double c3 = 20.5;
 double ret3 = add(a3, b3, c3);
 System.out.println("ret3 = " + ret3);
 }
 public static int add(int x, int y) {
 return x + y;
 }
 public static double add(double x, double y) {
 return x + y;
 }
 public static double add(double x, double y, double z) {
 return x + y + z;
 }
}

方法的名字都叫 add. 但是有的 add 是計算 int 相加, 有的是 double 相加; 有的計算兩個數字相加, 有的是計算三個數字相加.
同一個方法名字, 提供不同版本的實現, 稱為方法重載

六、方法的遞歸

一個方法在執行過程中調用自身, 就稱為 “遞歸”。
遞歸相當於數學上的 “數學歸納法”, 有一個起始條件, 然後有一個遞推公式。
遞歸:
1.要調用自己本身。
2.要有一個趨近於終止的條件。
3.推導出遞歸的公式。
eg:求N的階乘

public static void main(String[] args) {
    int n = 5;
    int ret = factor(n);
    System.out.println("ret = " + ret);
}
public static int factor(int n) {
    if (n == 1) {
        return 1;
   }
    return n * factor(n - 1); // factor 調用函數自身
}

到此這篇關於Java程序的邏輯控制和方法的文章就介紹到這瞭,更多相關Java程序邏輯控制內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!