java流程控制及控制鍵盤輸出文字 —(6)

1.if-else條件判斷結構

1.1.
結構一:
if(條件表達式){
執行表達式
}

結構二:二選一
if(條件表達式){
執行表達式1
}else{
執行表達式2
}

結構三:n選一
if(條件表達式){
執行表達式1
}else if(條件表達式){
執行表達式2
}else if(條件表達式){
執行表達式3
}

else{
執行表達式n
}

1.2.說明:

  1. else 結構是可選的。
  2. 針對于條件表達式:

    如果多個條件表達式之間是“互斥”關系(或沒有交集的關系),哪個判斷和執行語句聲明在上面還是下面,無所謂。
    如果多個條件表達式之間有交集的關系,需要根據實際情況,考慮清楚應該將哪個結構聲明在上面。
    如果多個條件表達式之間有包含的關系,通常情況下,需要將范圍小的聲明在范圍大的上面。否則,范圍小的就沒機會執行了。

  3. if-else結構是可以相互嵌套的。
  4. 如果if-else結構中的執行語句只有一行時,對應的一對{}可以省略的。但是,不建議大家省略。

2.switch-case選擇結構

switch(表達式){
case 常量1:
執行語句1;
//break;
case 常量2:
執行語句2;
//break;

default:
執行語句n;
//break;
}
2.說明:
① 根據switch表達式中的值,依次匹配各個case中的常量。一旦匹配成功,則進入相應case結構中,調用其執行語句。
當調用完執行語句以后,則仍然繼續向下執行其他case結構中的執行語句,直到遇到break關鍵字或此switch-case結構
末尾結束為止。
② break,可以使用在switch-case結構中,表示一旦執行到此關鍵字,就跳出switch-case結構
③ switch結構中的表達式,只能是如下的6種數據類型之一:
byte 、short、char、int、枚舉類型(JDK5.0新增)、String類型(JDK7.0新增)
④ case 之后只能聲明常量。不能聲明范圍。
⑤ break關鍵字是可選的。
⑥ default:相當于if-else結構中的else.
default結構是可選的,而且位置是靈活的。
3.如果switch-case結構中的多個case的執行語句相同,則可以考慮進行合并。
4.break在switch-case中是可選的

3.循環結構的四要素

① 初始化條件
② 循環條件 —>是boolean類型
③ 循環體
④ 迭代條件
說明:通常情況下,循環結束都是因為②中循環條件返回false了。

4.三種循環結構:

2.1 for循環結構
for(①;②;④){

}
執行過程:① - ② - ③ - ④ - ② - ③ - ④ - … - ②
2.2 while循環結構

while(②){
③;
④;
}
執行過程:① - ② - ③ - ④ - ② - ③ - ④ - … - ②
說明:
寫while循環千萬小心不要丟了迭代條件。一旦丟了,就可能導致死循環!

for和while循環總結:

  1. 開發中,基本上我們都會從for、while中進行選擇,實現循環結構。
  2. for循環和while循環是可以相互轉換的!
    區別:for循環和while循環的初始化條件部分的作用范圍不同。
  3. 我們寫程序,要避免出現死循環。
    2.3 do-while循環結構

    do{
    ③;
    ④;
    }while(②);
    執行過程:① - ③ - ④ - ② - ③ - ④ - … - ②

說明:
1.do-while循環至少會執行一次循環體!
2.開發中,使用for和while更多一些。較少使用do-while

5.“無限循環”結構: while(true) 或 for(;😉

總結:如何結束一個循環結構?
方式一:當循環條件是false時
方式二:在循環體中,執行break

6.嵌套循環

1.嵌套循環:將一個循環結構A聲明在另一個循環結構B的循環體中,就構成了嵌套循環
內層循環:循環結構A
外層循環:循環結構B
2.說明:
① 內層循環結構遍歷一遍,只相當于外層循環循環體執行了一次
② 假設外層循環需要執行m次,內層循環需要執行n次。此時內層循環的循環體一共執行了m * n次
③ 外層循環控制行數,內層循環控制列數
【典型練習】
//練習一:
/*
******
******
******
******
/
for(int j = 1;j <= 4;j++ ){
for(int i = 1;i <= 6;i++){
System.out.print(’
’);
}
System.out.println();
}
//練習二:
/* i(行號) j(*的個數)
* 1 1
** 2 2
*** 3 3
**** 4 4
***** 5 5
*/

	for(int i = 1;i <= 5;i++){//控制行數for(int j = 1;j <= i;j++){//控制列數System.out.print("*");}System.out.println();}//練習三:九九乘法表//練習四:100以內的質數

補充:衡量一個功能代碼的優劣:
1.正確性
2.可讀性
3.健壯性
4.高效率與低存儲:時間復雜度 、空間復雜度 (衡量算法的好壞)

如何理解流程控制的練習:
流程控制結構的使用 + 算法邏輯

break和continue關鍵字的使用

		使用范圍		循環中使用的作用(不同點)		相同點break:		switch-case			循環結構中		結束當前循環					關鍵字后面不能聲明執行語句	continue:		循環結構中		結束當次循環					關鍵字后面不能聲明執行語句補充:帶標簽的break和continue的使用return 返回。

/*

補充說明: 如何從鍵盤獲取不同類型的變量:需要使用Scanner類

具體實現步驟:
1.導包:import java.util.Scanner;
2.Scanner的實例化:Scanner scan = new Scanner(System.in);
3.調用Scanner類的相關方法(next() / nextXxx()),來獲取指定類型的變量

注意:
需要根據相應的方法,來輸入指定類型的值。如果輸入的數據類型與要求的類型不匹配時,會報異常:InputMisMatchException
導致程序終止。
*/
//1.導包:import java.util.Scanner;
import java.util.Scanner;

class ScannerTest{

public static void main(String[] args){//2.Scanner的實例化Scanner scan = new Scanner(System.in);//3.調用Scanner類的相關方法System.out.println("請輸入你的姓名:");String name = scan.next();System.out.println(name);System.out.println("請輸入你的芳齡:");int age = scan.nextInt();System.out.println(age);System.out.println("請輸入你的體重:");double weight = scan.nextDouble();System.out.println(weight);System.out.println("你是否相中我了呢?(true/false)");boolean isLove = scan.nextBoolean();System.out.println(isLove);//對于char型的獲取,Scanner沒有提供相關的方法。只能獲取一個字符串System.out.println("請輸入你的性別:(男/女)");String gender = scan.next();//"男"char genderChar = gender.charAt(0);//獲取索引為0位置上的字符System.out.println(genderChar);	
}

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247744.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247744.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247744.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自執行匿名函數剖析整理

格式&#xff1a;&#xff08;function(){//代碼})();解釋&#xff1a;這是相當優雅的代碼&#xff08;如果你首次看見可能會一頭霧水&#xff1a;&#xff09;&#xff09;&#xff0c;包圍函數&#xff08;function(){})的第一對括號向腳本返回未命名的函數&#xff0c;隨后一…

爬蟲界又出神器|一款比selenium更高效的利器

提起selenium想必大家都不陌生&#xff0c;作為一款知名的Web自動化測試框架&#xff0c;selenium支持多款主流瀏覽器&#xff0c;提供了功能豐富的API接口&#xff0c;經常被我們用作爬蟲工具來使用。但是selenium的缺點也很明顯&#xff0c;比如速度太慢、對版本配置要求嚴苛…

java數組 —(7)

* 1.數組的理解&#xff1a;數組(Array)&#xff0c;是多個相同類型數據一定順序排列的集合&#xff0c;并使用一個名字命名&#xff0c; 并通過編號的方式對這些數據進行統一管理。 * 2.數組相關的概念&#xff1a; 數組名 元素 角標、下標、索引 數組的長度&#xff1a;元素…

bootstrap按鈕的邊框問題 去除

問題&#xff1a; 用bootstrap做的按鈕&#xff0c;點擊后&#xff0c;都會出現邊框&#xff0c;請問如何去除&#xff1f; .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {outline: none; }還要去除陰影添…

C#一些面試知識題

1.簡述 private、 protected、 public、internal 修飾符的訪問權限答&#xff1a;private&#xff1a;私有成員, 在類的內部才可以訪問(只能從其聲明上下文中進行訪問)。 protected&#xff1a;保護成員&#xff0c;該類內部和從該類派生的類中可以訪問。 Friend&#xff1a;友…

vue加載時閃現模板語法-處理方法

問題&#xff1a;使用VUE時&#xff0c;頁面加載瞬間&#xff0c;會閃現模板語法&#xff0c;例如{{ item.name }}等 解決辦法&#xff1a; 1、可以通過VUE內置的指令v-cloak解決這個問題&#xff08;推薦&#xff09; 具體實現&#xff1a; <ul v-cloak v-for"ite…

java數組 —(8)

1.數組的創建與元素賦值&#xff1a; 楊輝三角&#xff08;二維數組&#xff09;、回形數&#xff08;二維數組&#xff09;、6個數&#xff0c;1-30之間隨機生成且不重復。 2.針對于數值型的數組&#xff1a; 最大值、最小值、總和、平均數等 3.數組的賦值與復制 int[] a…

idea啟動tomcat時報錯:Error during artifact deployment. See server log for details.

Error during artifact deployment. See server log for details. 這個很多人都找不出來&#xff0c;原因無非2個&#xff1a; 一、jar 包有有些沒能識別&#xff0c;tomcat沒有配置好&#xff01; 二、這個一般代碼錯了&#xff1a; 除了看 server 的報錯&#xff0c;別忘了看…

java運算符 —(9)

1.理解&#xff1a; ① 定義在java.util包下。 ② Arrays:提供了很多操作數組的方法。 2.使用&#xff1a; //1.boolean equals(int[] a,int[] b):判斷兩個數組是否相等。int[] arr1 new int[]{1,2,3,4};int[] arr2 new int[]{1,3,2,4};boolean isEquals Arrays.equals(a…

css 三角角標樣式

.sanjiao {width: 0px;height: 0px;overflow: hidden;border-width: 100px;border-color: red transparent transparent transparent; border-style: solid dashed dashed dashed; }

leetcode 279 四平方定理

可以用四平方和定理&#xff1a;任意一個正整數都可以表示為4個以內整數的平方和。 如果一個數含有因子4&#xff0c;那么我們可以把4都去掉&#xff0c;并不影響結果。比如&#xff1a;8去掉4&#xff0c;12去掉3&#xff0c;返回的結果都相同。 如果一個數除以8余7&#xff0…

java類與對象 —(10)

1.面向對象學習的三條主線&#xff1a; 1.Java類及類的成員&#xff1a;屬性、方法、構造器&#xff1b;代碼塊、內部類2.面向對象的大特征&#xff1a;封裝性、繼承性、多態性、(抽象性)3.其它關鍵字&#xff1a;this、super、static、final、abstract、interface、package、…

RESTful API 編寫規范

基于一些不錯的RESTful開發組件&#xff0c;可以快速的開發出不錯的RESTful API&#xff0c;但如果不了解開發規范的、健壯的RESTful API的基本面&#xff0c;即便優秀的RESTful開發組件擺在面前&#xff0c;也無法很好的理解和使用。下文Gevin結合自己的實踐經驗&#xff0c;整…

Python2與Python3的區別

Python2與Python3的區別 1) 核心類差異 Python3 對 Unicode 字符的原生支持。 Python2 中使用 ASCII 碼作為默認編碼方式導致 string 有兩種類型 str 和 unicode&#xff0c;Python3 只 支持 unicode 的 string。Python2 和 Python3 字節和字符對應關系為&#xff1a; python2p…

JavaScript-內存空間

深入了解js這門語言后&#xff0c;才發現它有著諸多眾所周知的難點&#xff08;例如&#xff1a;閉包、原型鏈、內存空間等&#xff09;。有的是因為js的設計缺陷導致的&#xff0c;而有的則是js的優點。不管如何&#xff0c;總需要去學會它們&#xff0c;在學習過程中我覺得只…

java類的結構1: 屬性 —(11)

類的設計中&#xff0c;兩個重要結構之一&#xff1a;屬性 對比&#xff1a;屬性 vs 局部變量 1.相同點&#xff1a; 1.1 定義變量的格式&#xff1a;數據類型 變量名 變量值1.2 先聲明&#xff0c;后使用1.3 變量都其對應的作用域 2.不同點&#xff1a; 2.1 在類中聲明的…

GXU - 7D - 區間求和 - 前綴和

https://oj.gxu.edu.cn/contest/7/problem/D 描述 有一個所有元素皆為0的數組A&#xff0c;有兩種操作&#xff1a; 1 l r x表示將A區間[l,r]內所有數加上x&#xff1b; 2 l r表示將A區間[l,r]內從左往右數第i個數加上i&#xff1b; 給出m個操作&#xff0c;請輸出操作結束后A中…

javascript-排序算法

插入排序 算法描述&#xff1a; 1. 從第一個元素開始&#xff0c;該元素可以認為已經被排序 2. 取出下一個元素&#xff0c;在已經排序的元素序列中從后向前掃描 3. 如果該元素&#xff08;已排序&#xff09;大于新元素&#xff0c;將該元素移到下一位置 4. 重復步驟 3&am…

DPDK并行計算

參考文獻&#xff1a; 《深入淺出DPDK》 https://www.cnblogs.com/LubinLew/p/cpu_affinity.html ...................................................................... 前言&#xff1a; 處理器提高性能主要是通過兩個途徑&#xff0c;一個是提高IPC&#xff08;CPU每一時…

Highcharts圖表-ajax-獲取json數據生成圖表

重點說明此代碼是針對一個報表顯示多個項對比顯示。 直接貼代碼&#xff1a;web端 <script type"text/JavaScript" src"js/jQuery/jquery-1.7.2.js"></script> <script type"text/javascript" src"j…