JavaSE之循環(huán)結(jié)構(gòu)

Java中提供了3中循環(huán)結(jié)構(gòu)

while循環(huán)
do...while循環(huán)
for循環(huán)

do{}while(); : do..while至少執(zhí)行一次

public class DoWhileDemo1 {
    public static void main(String[] args) {
//      int i = 10; 
//      while(){}
//      while(i < 5) {
//          System.out.println("hello1");
//          i++;
//      }
        
//      do{}while(); : do..while至少執(zhí)行一次
//      int j = 10;
//      do {
//          System.out.println("hello2");
//          j++;
//      }while(j < 5);
        
//      for(循環(huán)變量初始化;循環(huán)條件;循環(huán)變量步長(zhǎng))
//      1.循環(huán)變量初始化
//      2.判斷是否滿足循環(huán)條件
//      3.執(zhí)行循環(huán)體
//      4.循環(huán)變量增加或減少
//      5.在回到第二步付翁,如此往復(fù)
        for(int i = 0;i < 5;i++) {
            System.out.println("hello");
        }
    }
}

break和continue的使用

public class Demo4 {
    public static void main(String[] args) {
        // break的使用
        while(true) {
            Scanner scan = new Scanner(System.in);
            System.out.println("請(qǐng)輸入選項(xiàng):");
            System.out.println("1-------登錄");
            System.out.println("2-------注冊(cè)");
            System.out.println("3-----退出程序");
            int option = scan.nextInt();
            if(option < 0 || option > 3) {
                System.out.println("無(wú)效選項(xiàng)");
            }else {
                if(option == 1) {
                    System.out.println("登錄成功");
                }else if(option == 2) {
                    System.out.println("注冊(cè)成功");
                }else {
                    System.out.println("退出成功");
                    break;
                }
            }
        }
        System.out.println("歡迎下次再來(lái)?事摺7趸А!寇仓!");
    }
}
public class HomeWork_OP5 {
    public static void main(String[] args) {
        // 輸出0-9之間的數(shù),但是不包括5
        int i = 0;
//      while(i < 10) {
//          if(i != 5) {
//              System.out.print(i);
//          }
//          i++;
//      }
        
        while(i < 10) {
            if(i == 5) {
                i++;
//              跳過本次循環(huán)
                continue;
            }
            System.out.print(i);
            i++;
        }
    }
}

額外知識(shí)點(diǎn)

Debug調(diào)試

public class DebugDemo {
    public static void main(String[] args) {
        // 雙擊加斷點(diǎn),右鍵-->Debug as-->F6
        int num = 100;
        if(num < 50) {
            num++;
        }
        System.out.println(num);
    }
}

Scanner的使用問題

public class ScannerProblemDemo {
    public static void main(String[] args) {
        // 特殊情況:第一次獲取的是數(shù)字编检,第二次獲取是字符串
        Scanner scan = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)數(shù)字1");
        int num1 = scan.nextInt();
        System.out.println("請(qǐng)輸入一個(gè)字符串2");
        scan.nextLine();
        String str2 = scan.nextLine();
        System.out.println(num1+","+str2);
        /*
         * 在控制臺(tái)輸入的所有數(shù)據(jù)都會(huì)進(jìn)入內(nèi)存
         * int num1 = scan.nextInt(); 
         * num1會(huì)將內(nèi)存中的數(shù)據(jù)取走加勤,但內(nèi)存中還保留了一個(gè)enter
         * String str2 = scan.nextLine();str2直接就把上次留下的enter取走了
         * 所以沒有給我們輸入字符串的機(jī)會(huì)
         * 解決方式:先用scan.nextLine();把上次留下的enter取走
         */
    }
}

隨機(jī)數(shù)

public class RandomDemo {
    public static void main(String[] args) {
        // 產(chǎn)生隨機(jī)數(shù)
        double num1 = Math.random();//[0,1)
//      Scanner scan = new Scanner(System.in);
//      隨機(jī)數(shù)類
        Random random = new Random();
//      random.nextDouble()     [0,1)的小數(shù)
//      random.nextInt(n)       [0,n)的整數(shù)
        double num2 = random.nextDouble();
        System.out.println(num2);
    }
}

循環(huán)嵌套

三角形和99乘法表

public class Demo2 {
    public static void main(String[] args) {
        // 用*畫一個(gè)三角形
        /*
          *
          **
          ***
          ****
          *****
        
          1x1=1
          1x2=2 2x2=4
          1x3=3 2x3=6 3x3=9
          .....
        */
//      for(int i = 1;i <= 5;i++) {
//          // 畫*
//          for(int j = 1;j <= i;j++) {
//              System.out.print("*");
//          }
//          // 換行
//          System.out.println();
//      }
        for(int i = 1;i <= 9;i++) {
            for(int j = 1;j <= i;j++) {
                System.out.print(j+"x"+i+"="+i*j+" ");
            }
            // 換行
            System.out.println();
        }
    }
}
public class Demo4 {
    public static void main(String[] args) {
        // 輸出2-100之間的所有質(zhì)數(shù)
        // 質(zhì)數(shù):只能被1和本身整除   2 3 5 7 11 13 17 19 23...
        for(int i = 2;i < 101;i++) {
            boolean b = true;
            // 判斷是否是質(zhì)數(shù)
            for(int j = 2;j < i;j++) {
                // 判斷是否能整出
                if(i%j == 0) {
                    // 一旦整除仙辟,b=false同波,表示整除過
                    b = false;
                    break;
                }
            }
            // 根據(jù)b是true還是false,我們就知道內(nèi)層循環(huán)是如何結(jié)束
            // 1.true --> 自然結(jié)束
            // 2.false --> false
            if(b) {
                System.out.println(i);
            }
        }
    }
}

練習(xí)題

public class Practice3 {
    public static void main(String[] args) {
        // 求s=a+aa+aaa+aaaa+….+aa...a的值叠国,
        // 其中a是一個(gè)數(shù)字未檩。例如2+22+222+2222,
        // a的值和加數(shù)個(gè)數(shù)n均從控制臺(tái)獲取
        Scanner scan = new Scanner(System.in);
        System.out.println("請(qǐng)輸入n");
        int n = scan.nextInt();
        System.out.println("請(qǐng)輸入a");
        int a = scan.nextInt();
        int temp = a;
        int sum = 0;
        for(int i = 0;i < n;i++) {
            sum = sum + a;
            a = a * 10 + temp;
        }
        System.out.println(sum);
    }
}
public class Practice3 {
    public static void main(String[] args) {
        // 求s=a+aa+aaa+aaaa+….+aa...a的值粟焊,
        // 其中a是一個(gè)數(shù)字冤狡。例如2+22+222+2222,
        // a的值和加數(shù)個(gè)數(shù)n均從控制臺(tái)獲取
        Scanner scan = new Scanner(System.in);
        System.out.println("請(qǐng)輸入n");
        int n = scan.nextInt();
        System.out.println("請(qǐng)輸入a");
        int a = scan.nextInt();
        int temp = a;
        int sum = 0;
        for(int i = 0;i < n;i++) {
            sum = sum + a;
            a = a * 10 + temp;
        }
        System.out.println(sum);
    }
}
public class Practice5 {
    public static void main(String[] args) {
        // 一球從100米高度自由落下项棠,每次落地后反跳回原高度的一半悲雳;
        // 再落下,求它在第10次落地時(shí)香追,共經(jīng)過多少米合瓢?第10次反彈多高
        double height = 100;
        double rt = 50;
        for(int i = 2;i <= 10;i++) {
            height = height + rt * 2;
            rt = rt/2;
        }
        System.out.println(height);
        System.out.println(rt);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市透典,隨后出現(xiàn)的幾起案子晴楔,更是在濱河造成了極大的恐慌,老刑警劉巖峭咒,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件税弃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡凑队,警方通過查閱死者的電腦和手機(jī)则果,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)顽决,“玉大人短条,你說我怎么就攤上這事〔挪ぃ” “怎么了茸时?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赋访。 經(jīng)常有香客問我可都,道長(zhǎng),這世上最難降的妖魔是什么蚓耽? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任渠牲,我火速辦了婚禮,結(jié)果婚禮上步悠,老公的妹妹穿的比我還像新娘签杈。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布答姥。 她就那樣靜靜地躺著铣除,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鹦付。 梳的紋絲不亂的頭發(fā)上尚粘,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音敲长,去河邊找鬼郎嫁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛祈噪,可吹牛的內(nèi)容都是我干的泽铛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼钳降,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼厚宰!你這毒婦竟也來(lái)了腌巾?” 一聲冷哼從身側(cè)響起遂填,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎澈蝙,沒想到半個(gè)月后吓坚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灯荧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年礁击,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逗载。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡哆窿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出厉斟,到底是詐尸還是另有隱情挚躯,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布擦秽,位于F島的核電站码荔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏感挥。R本人自食惡果不足惜缩搅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望触幼。 院中可真熱鬧硼瓣,春花似錦、人聲如沸置谦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至筑累,卻和暖如春袱蜡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背慢宗。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工坪蚁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人镜沽。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓敏晤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親缅茉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嘴脾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1 順序語(yǔ)句 語(yǔ)句:使用分號(hào)分隔的代碼稱作為一個(gè)語(yǔ)句。 注意:沒有寫任何代碼只是一個(gè)分號(hào)的時(shí)候蔬墩,也是一條語(yǔ)句译打,...
    哈哈哎呦喂閱讀 376評(píng)論 0 0
  • 循環(huán)簡(jiǎn)介 循環(huán)可以用于讓一個(gè)程序重復(fù)地執(zhí)行語(yǔ)句。 循環(huán)是用來(lái)控制語(yǔ)句塊重復(fù)執(zhí)行的一種結(jié)構(gòu)拇颅。 循環(huán)的概念是程序設(shè)計(jì)的...
    Vinfai閱讀 1,148評(píng)論 0 0
  • 【程序1】 題目:古典問題:有一對(duì)兔子奏司,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一...
    阿里高級(jí)軟件架構(gòu)師閱讀 3,283評(píng)論 0 19
  • 姓名:胡心妍 公司:寧波塞納電熱電器有限公司 【日精進(jìn)打卡第43天】 【知~學(xué)習(xí)】 《六項(xiàng)精進(jìn)》 背誦5遍 共19...
    Cindy初色的美閱讀 109評(píng)論 0 0
  • 多多峽谷地區(qū)處于青藏 高原腹地樟插,平均海拔 4100米韵洋,屬于純牧業(yè)區(qū), 人口5200人黄锤,8至14歲的學(xué)齡兒童約400...
    KZZM閱讀 1,203評(píng)論 0 0