日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

《Java从入门到放弃》JavaSE入门篇:程序结构

發布時間:2023/12/8 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Java从入门到放弃》JavaSE入门篇:程序结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

程序的結構一般分為三種:

  • 順序結構。

  • 選擇結構。

  • 循環結構。

  • ?

    一、順序結構:這個不用多說吧,跟我們平時寫文章的順序一樣,從上往下。

    二、選擇結構:從名字就能看出,要選擇嘛,到底是要漂亮滴妹子,還是要有錢滴妹子呢!當然,如果是個吊絲碼農滴話,那你就不要多想了,還是老老實實碼代碼吧···

    三、循環結構:循環啊,就是一直轉啊轉啊轉啊,轉到出意外為止。

    接下來還是老規矩,通過小示例來學習語法吧。

    順序結構

    一、輸入姓名和年齡,輸出自我介紹。

    ????public?static?void?main(String[]?args)?{//創建輸入數據的對象,具體什么叫對象···,先不用管吧Scanner?input?=?new?Scanner(System.in);String?name;????//姓名int?age;????????//年齡System.out.print("請輸入姓名:");name?=?input.next();System.out.print("請輸入年齡:");age?=?input.nextInt();System.out.println("大家好,我叫"+name+",今年"+age+"歲,請多關照。");}

    注意:

    ????這就是一個標準的順序結構,代碼會從上往下執行,如果你把int age;這句話放到最后,那就會在age = input.nextInt();這一行報語法錯誤了。

    結果:

    選擇結構

    選擇結構的語法有四種,我們通過下面的案例來了解。

    一、輸入你的存款,如果大于5000則加上“壕”的頭銜。

    ????public?static?void?main(String[]?args)?{//創建輸入數據的對象,具體什么叫對象···,先不用管吧Scanner?input?=?new?Scanner(System.in);String?name;????//姓名int?deposit;????//存款System.out.print("請輸入姓名:");name?=?input.next();System.out.print("請輸入存款:");deposit?=?input.nextInt();System.out.print("大家好,我叫"+name);if(deposit>5000){System.out.print("(壕)");}System.out.println("。");}

    語法:

    ????if( 條件 ){ 要執行的代碼 }

    注意:

    ????條件成立時會執行{}中的所有代碼。

    結果:

    ???

    ?

    二、輸入你的存款,如果大于5000則加上“壕”的頭銜,否則加上“窮13”的頭銜

    ????????if(deposit>5000){System.out.print("(壕)");}else{System.out.print("(窮13)");}

    注意:別的代碼不用動,只需要在if(){}結構上加上else{}就OK了,else{}表示條件不成立時的執行代碼。

    結果:

    三、輸入你的存款,如果大于50000,則加上“神壕”的頭銜,否則如果大于30000,則加上“金壕”的頭銜,否則如果大于10000,則加上“壕”的頭銜,否則加上“窮13”的頭銜。

    ????????if(deposit>50000){System.out.print("(神壕)");}else?if(deposit>30000){System.out.print("(金壕)");}else?if(deposit>10000){System.out.print("(壕)");}else{System.out.print("(窮13)");}

    注意:這種語法叫多分支選擇結構(一般用于選擇情況大于2的場合,比如演唱會門票的級別、你的女神的胸肌是A還是BCDEF等)。

    結果就不展示了。

    ?

    四、查詢余額請按1,套餐更改請按2,寬帶業務請按3,企業業務請按4,人工服務請按5,其它業務請瞎按.

    ????public?static?void?main(String[]?args)?{//創建輸入數據的對象,具體什么叫對象···,先不用管吧Scanner?input?=?new?Scanner(System.in);int?num;System.out.print("1.查詢余額請按1,"+?"\n2.套餐更改請按2"+?"\n3.寬帶業務請按3"+?"\n4.企業業務請按4"+?"\n5.人工服務請按5"+?"\n6.其它業務請瞎按"+?"\n請選擇:");num?=?input.nextInt();switch?(num)?{case?1:System.out.println("您的余額為0。");????break;case?2:System.out.println("改完了,請回吧。");????break;case?3:System.out.println("寬帶裝好了,請交錢1998¥。");????break;case?4:System.out.println("請上傳企業注冊資料。");????break;case?5:System.out.println("我們正在招聘服務人員,請稍等...");????break;default:System.out.println("亂按好玩吧...");????break;}}

    注意:

  • switch語法一般用于數值類型和布爾類型等值判斷的場合,最新版的JDK支持String類型了。小伙伴們可以自己試試。

  • 每個case后的語句執行完后都有個小尾巴(break;),表示從這兒退出switch結構,大家可以把這個小尾巴去掉看看結果有什么不一樣。

  • 結果:

    循環結構

    循環結構常用的有四種:while、do...while、for、foreach(后面講集合時再介紹)。

    對應的語法都很簡單,我們通過求100以內的奇數和來了解一下,后面再來分析一個經典案例。

    ????public?static?void?main(String[]?args)?{//求100以內的奇數和//1.while循環int?i?=?1;????//循環的初值int?s?=?0;????//保存和while?(i<=100)?{????//循環的條件s?+=?i;?//循環的內容i?+=?2;????//循環的步長(也就是循環變量的值如何變化)}System.out.println("while循環結果:"+s);//變量值還原i?=?1;s?=?0;//2.do...while循環do?{s?+=?i;i?+=?2;}?while?(i<=100);System.out.println("do...while循環結果:"+s);//變量值還原s?=?0;//3.for循環for?(i?=?1;?i?<=?100;?i+=2)?{s?+=?i;}System.out.println("for循環結果:"+s);}

    執行結果:

    從上面的語法應該可以看出,循環主要有四個點:初值、條件、步長、循環體(內容)。那么這三種循環的語法有什么區別呢?

    while循環:側重于不確定循環次數的場合,先判斷,如果條件成立則進入循環。

    do...while循環:側重于不確定循環次數的場合,先執行一次,之后如果條件成立則時入循環。

    for循環:側重于確定循環次數的場合。

    與循環配合使用的還有兩個關鍵字:continuebreak;

    他們的作用,看代碼和結果吧:

    ????public?static?void?main(String[]?args)?{for?(int?i?=?0;?i?<?10;?i++)?{if(i==5){continue;}System.out.print(i+",");}System.out.println("\n=======================");for?(int?i?=?0;?i?<?10;?i++)?{if(i==5){break;}System.out.print(i+",");}}

    結果:

    注意到兩個的區別了吧

    運行continue后,就不再執行循環里面continue后面的代碼,直接運行i++去了。

    而運行break后,則直接跳出了循環,后面的都不執行了。

    ?

    經典案例:登錄功能,如果賬號密碼輸入正確則登錄成功,否則請再次輸入密碼。

    ????分析:

    ????登錄時要輸入幾次賬號密碼?很明顯不知道啊!!!所以for循環被排除了。

    ????然后再判斷,是要先輸入賬號密碼后判斷,還是先判斷后再輸入賬號密碼呢?

    ????這也很明顯,要先輸入了才需要判斷啊!!!所以while循環也被排除了。

    ????最后就剩下do...while循環了。代碼如下:

    ????public?static?void?main(String[]?args)?{//模擬登錄功能//分析過程://1.定義保存賬號和密碼的變量Scanner?input?=?new?Scanner(System.in);String?inLoginID;String?inLoginPWD;//2.因為還沒學習數據庫,所以定義兩個變量保存正確的賬號和密碼String?loginID?=?"liergou";String?loginPWD?=?"haha250";//3.輸入賬號和密碼do{System.out.print("請輸入賬號:");inLoginID?=?input.next();System.out.print("請輸入密碼:");inLoginPWD?=?input.next();//4.判斷輸入的賬號和密碼與正確的是否相同(判斷字符串是否相等使用equals方法),//如果相同等提示登錄成功,循環結束,否則提示重新輸入if(inLoginID.equals(loginID)?&&?inLoginPWD.equals(loginPWD)){System.out.println("登錄成功!");break;}else{System.out.println("賬號和密碼不匹配,請重新輸入!");}}while?(true);}

    如果你非要使用while和for,那··············當然也是可以滴,只不過代碼復雜度會上升,特別是使用for來寫的話會很奇怪,大伙可以看看:

    這是使用while的寫法

    ????public?static?void?main(String[]?args)?{//模擬登錄功能//分析過程://1.定義保存賬號和密碼的變量Scanner?input?=?new?Scanner(System.in);String?inLoginID;String?inLoginPWD;//2.因為還沒學習數據庫,所以定義兩個變量保存正確的賬號和密碼String?loginID?=?"liergou";String?loginPWD?=?"haha250";//3.輸入賬號和密碼System.out.print("請輸入賬號:");inLoginID?=?input.next();System.out.print("請輸入密碼:");inLoginPWD?=?input.next();while?(true){//4.判斷輸入的賬號和密碼與正確的是否相同(判斷字符串是否相等使用equals方法),//??如果相同等提示登錄成功,循環結束,否則提示重新輸入if(inLoginID.equals(loginID)?&&?inLoginPWD.equals(loginPWD)){System.out.println("登錄成功!");break;}else{System.out.println("賬號和密碼不匹配,請重新輸入!");//下面的代碼重復了System.out.print("請輸入賬號:");inLoginID?=?input.next();System.out.print("請輸入密碼:");inLoginPWD?=?input.next();}}}

    ?

    下面是使用for的寫法

    ????????for?(;true;){//4.判斷輸入的賬號和密碼與正確的是否相同(判斷字符串是否相等使用equals方法),//??如果相同等提示登錄成功,循環結束,否則提示重新輸入if(inLoginID.equals(loginID)?&&?inLoginPWD.equals(loginPWD)){System.out.println("登錄成功!");break;}else{System.out.println("賬號和密碼不匹配,請重新輸入!");//下面的代碼重復了System.out.print("請輸入賬號:");inLoginID?=?input.next();System.out.print("請輸入密碼:");inLoginPWD?=?input.next();}}

    最后,再布置幾個練習,各位看官自己分析并練習練習吧,看具體使用哪種循環最好。

    1.????打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。

    2.????將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。

    3.??? 球從100M高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地時,共經過多少M?第10次反彈多高?

    4.??? 任意輸入一個整數(小于6位),求它的位數詢問

    5.? “我愛你,嫁給我吧?”,選擇“你喜歡我嗎?(y/n):",如果輸入為y則打印”我們形影不離“,若輸入為n,則繼續詢問

    ?

    如果有不確定答案的練習,就在評論里討論吧···

    總結

    以上是生活随笔為你收集整理的《Java从入门到放弃》JavaSE入门篇:程序结构的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。