溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在Java中控制程序的邏輯

發(fā)布時(shí)間:2021-04-27 15:51:34 來源:億速云 閱讀:131 作者:Leah 欄目:開發(fā)技術(shù)

怎么在Java中控制程序的邏輯?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

Java的優(yōu)點(diǎn)是什么

1. 簡(jiǎn)單,只需理解基本的概念,就可以編寫適合于各種情況的應(yīng)用程序;2. 面向?qū)ο螅?. 分布性,Java是面向網(wǎng)絡(luò)的語言;4. 魯棒性,java提供自動(dòng)垃圾收集來進(jìn)行內(nèi)存管理,防止程序員在管理內(nèi)存時(shí)容易產(chǎn)生的錯(cuò)誤。;5. 安全性,用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須防止病毒的入侵。6. 體系結(jié)構(gòu)中立,只要安裝了Java運(yùn)行時(shí)系統(tǒng),就可在任意處理器上運(yùn)行。7. 可移植性,Java可以方便地移植到網(wǎng)絡(luò)上的不同機(jī)器。8.解釋執(zhí)行,Java解釋器直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。

一、順序結(jié)構(gòu)

從上往下執(zhí)行,非常簡(jiǎn)單,不做過多贅述。

二、分支結(jié)構(gòu)

1.if語句

與c語言不同的是,java的if(布爾表達(dá)式)必須是布爾表達(dá)式
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語句

基礎(chǔ)語法:

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

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

三、循環(huán)結(jié)構(gòu)

1.while循環(huán)

注意事項(xiàng):

  • 和 if 類似, while 下面的語句可以不寫 { } , 但是不寫的時(shí)候只能支持一條語句.,建議還是加上 { }

  • 和 if 類似, while 后面的 { 建議和 while 寫在同一行。

  • 和 if 類似, while 后面不要多寫 分號(hào), 否則可能導(dǎo)致循環(huán)不能正確執(zhí)行。

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循環(huán)

  • 和 if 類似, for 下面的語句可以不寫 { } , 但是不寫的時(shí)候只能支持一條語句,建議還是加上 { }

  • 和 if 類似, for 后面的 { 建議和 while 寫在同一行。

  • 和 if 類似, for 后面不要多寫 分號(hào), 否則可能導(dǎo)致循環(huán)不能正確執(zhí)行。

求階乘的和

 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循環(huán)

基本語法:
do{
循環(huán)語句;
}while(循環(huán)條件)
先執(zhí)行語句再判斷循環(huán)條件。
注意事項(xiàng):

  • do while 循環(huán)最后的分號(hào)不要忘記

  • 一般 do while 很少用到, 更推薦使用 for 和 while.

 四、Java的方法

方法就是一個(gè)代碼片段. 類似于 C 語言中的 "函數(shù)“。
方法:功能
public static 返回值 方法名(形式參數(shù)列表){
方法體;
}
方法名:要采用小駝峰的形式,maxNum
public static:因?yàn)楫?dāng)前所有的方法寫完之后會(huì)在Main方法中調(diào)用。
方法體:就是具體方法的實(shí)現(xiàn)。

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

五、方法的重載

方法的重載:
1.方法名相同
2.返回值可以不同
3.參數(shù)列表不同(參數(shù)的個(gè)數(shù)和參數(shù)的類型不同)
4.必須要在同一個(gè)類當(dāng)中。
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 是計(jì)算 int 相加, 有的是 double 相加; 有的計(jì)算兩個(gè)數(shù)字相加, 有的是計(jì)算三個(gè)數(shù)字相加.
同一個(gè)方法名字, 提供不同版本的實(shí)現(xiàn), 稱為方法重載

六、方法的遞歸

一個(gè)方法在執(zhí)行過程中調(diào)用自身, 就稱為 “遞歸”。
遞歸相當(dāng)于數(shù)學(xué)上的 “數(shù)學(xué)歸納法”, 有一個(gè)起始條件, 然后有一個(gè)遞推公式。
遞歸:
1.要調(diào)用自己本身。
2.要有一個(gè)趨近于終止的條件。
3.推導(dǎo)出遞歸的公式。
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 調(diào)用函數(shù)自身
}

看完上述內(nèi)容,你們掌握怎么在Java中控制程序的邏輯的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI