部署標準交換機和分散式交換機(三)
java的流程控制結構有三種:順序、選擇、迴圈
-
Java的基本結構就是順序結構,除非特別指明,否則就是按照順序一句一句執行。
-
順序結構是最簡單的演算法結構。
-
語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的,它是任何一個演算法都離不開的一種基本演算法結構。
選擇結構:
我們很多時候需要去判斷一個東西是否可行,然後我們才去執行,這樣一個過程在程式中用選擇語句來表達。
在java中,選擇結構分為 if-else 語句和 switch 語句。
首先我們來看下if-else語句:
語法:
if(布林型別表示式){
語句或語句塊
}
注意:if括號裡表示式的值返回的必須是布林型別
例如:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入內容:");
String s = scanner.nextLine();
if (s.equals("Hello"))
System.out.println(s);
scanner.close();
}
在這裡的s.equals的意思是判斷s所表示的字串是否和後面的Hello相同,當判斷字串時儘量別用 == 。
語法:
if(布林型別表示式){
語句或語句塊
} else{
語句或語句塊
}
例如:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入:");
int score = scanner.nextInt();
if(score>=60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
}
if多選擇結構:
很多選擇不僅僅只有兩個,所以要用多選擇結構處理。
語法:
if(布林表示式1){
//如果布林表示式1為true將執行的語句
}else if(布林表示式2){
//如果布林表示式2為true將執行的語句
}else if(布林表示式3){
//如果布林表示式3為true將執行的語句
}else{
//如果以上布林表示式都不為true將執行的語句
}
備註:1.在多支語句中,這多種情形是一種互斥關係,非你即我,只有一種情形會成立,程式也只會執行條件裡面的一種程式碼。
2.在多支語句中,如果最後一種情形它包含了它以上情形之外的所有情形,那麼該種情形也可以這樣表達,省略if(條件)。
例如:
int per = 76;
if(per == 100){
System.out.println("進1v1名師輔導班");
}else if(per >= 90 && per < 100){
System.out.println("進狀元班");
}else if (per >= 80 && per < 90){
System.out.println("進尖子班");
}else if (per >= 70 && per < 80){
System.out.println("進珍珠班");
}else if (per >= 60 && per < 70){
System.out.println("進普通班");
}else if(per < 60){
System.out.println("不錄取");
}
if巢狀結構:
在一個if裡再加一個if。
語法:
if(布林型別表示式1){
//如果布林表示式1為true將執行的語句
if(布林型別表示式2){
//如果布林表示式2為true將執行的語句
語句或語句塊
}else{
//如果布林表示式2為false將執行的語句
語句或語句塊
}
}else{
//如果布林表示式1為false將執行的語句
if(布林型別表示式2){
//如果布林表示式2為true將執行的語句
語句或語句塊
}else{
//如果布林表示式2為false將執行的語句
語句或語句塊
}
}
例如:
String sex = "男";
double money = 18000;
if (sex.equals("男")) {
if (money >= 20000) {
System.out.println("女生眼中的高富帥");
} else if(money < 8000){
System.out.println("女生眼中的屌絲");
}
}else if (sex.equals("女")){
if (money >= 12000){
System.out.println("男生眼中的白富美");
}else if (money <= 3000){
System.out.println("男生眼中的女屌絲");
}
}
switch多選擇結構:
switch原理:
switch流程圖:
switch case語句判斷一個變數與一系列值中某個值是否相等,每個值稱為一個分支。
語法:
switch(表示式){
case 常量值1:
語句塊;
break;
case 常量值2:
語句塊;
break;
case 常量值3:
語句塊;
break;
..
default:
語句塊;
break;
}
注意:
1)switch中表達式的返回值只能是 int,byte,char,short,列舉,字串;
2)case子句中的值必須是常量,且不能重複;
3)default可有可無
4)break作為某一個case程式碼段的結束句,使其跳出程式。
5)case 情形之間也是一種互斥關係,非你即我。
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("今天星期幾了?");
int week = scan.nextInt();
switch(week){
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
default:
System.out.println("Sorry,i don't know!");
}
}
迴圈結構:
順序結構的程式語句只能 被執行一次。如果你要同樣的操作執行多次,就需要使用迴圈結構。
java中有三種主要的迴圈結構:while迴圈 do-while迴圈 for迴圈
1.while迴圈
while迴圈不知道迴圈次數。先判斷,再迴圈。常用死迴圈。
while是最基本的迴圈,它的語法為:
while(迴圈條件)
{
迴圈語句
}
只要迴圈條件的結果為真,就執行迴圈語句
注意:一定要有退出迴圈的條件,否則會形成無限迴圈
例如:
public class Test {
public static void main(String args[]) {
int x = 10;
while (x < 20) {
System.out.print("value of x :" + x);
x++;
System.out.print("\n");
}
}
}
以上例項編譯執行結構如下:
value of x : 10
value of x : 11
...
value of x : 19
2.do…while迴圈
對於while語句而言,如果不滿足條件,則不能進入迴圈。但有時候我們需要即使不滿足條件,也至少 執行一次。
do…while迴圈和while迴圈相同,不同的是,
do…while迴圈至少會執行一次。
do…while迴圈的語法為:
do {
執行語句
} while(迴圈條件);
注意:布林表示式在迴圈體的後面,所以語句塊在檢測布林表示式之前已經執行了。如果布林表示式值為true,則語句塊一直執行,直到布林表示式的值為false。
例如:
public class Test {
public static void main(Staing args[]) {
int x = 10;
do {
System.out.print("value of x :" + x);
x++;
System.out.print("\n");
} while (x < 20);
}
}
以上例項編譯執行結果如下:
value of x : 10
...
value of x :19
3.for迴圈
雖然所有迴圈結構都可以用while或者do…while表示,但java提供了另一種語句(for迴圈),使一些迴圈結構變得更簡單。
for迴圈的流程:
for迴圈的語法為:
for(初始化語句;判斷條件語句;控制條件語句){
迴圈體語句;
}
註釋:(1)初始化語句:一條或者多條語句,這些語句完成一些初始化操作
(2)判斷條件語句:這是一個boolean 表示式,這個表示式能決定是否執行迴圈體
(3)迴圈體語句:這個部分是迴圈體語句,也就是我們要多次做的事情
(4)控制條件語句:這個部分在一次迴圈體結束後,下一次迴圈判斷條件執行前執行。通過用於控制循 環條件中的變數,使得迴圈在合適的時候結束
例如:
public class Test{
public static void main (Staing args[ ]){
for(int x=10;x<20;x=x+1){
System.out.print("value of x :"+x);
System.out.print("\n");
}
}
}
編譯執行結果如下:
value of x :10
...
value of x :19
增強for迴圈的語法:
for(宣告語句:表示式){
//程式碼句子
}
宣告語句:宣告新的區域性變數,該變數的型別必須和陣列元素的型別匹配。其作用域限定在迴圈語句塊,其值與此時陣列元素的值相等。
表示式:表示式是要訪問的陣列名,或者是返回值為陣列的方法。
例如:
public class test {
public static void main(String args[]) {
int[] numbers = { 10, 20, 30, 40, 50 };
for (int x : numbers) {
System.out.print(x);
System.out.print(",");
}
System.out.print("\n");
String[] names = { "James", "Larry", "Tom", "Lacy" };
for (String name : names) {
System.out.print(name);
System.out.print(",");
}
}
}
編譯執行如下:
10,20,30,40,50,
James,Larry,Tom,Lacy,
跳出迴圈的關鍵字:
break關鍵字:
break主要用在迴圈語句或者switch語句中,用來跳出整個語句塊。
break跳出最裡面的迴圈,並且繼續執行該迴圈下面的語句。
break例項:
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
// x 等於 30 時跳出迴圈
if( x == 30 ) {
break;
}
System.out.print( x );
System.out.print("\n");
}
}
}
以上例項編譯執行結果如下:
10
20
continue 關鍵字:
continue 適用於任何迴圈控制結構中。作用是讓程式立刻跳到下一次迴圈的迭代。
在for迴圈中,continue語句使程式立即跳轉到更新語句。
在while或者do...while迴圈中,程式立即跳轉到布林表示式的判斷語句。
continue 例項:
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
continue;
}
System.out.print( x );
System.out.print("\n");
}
}
}
以上例項編譯執行結果如下:
10
20
40
50
return 關鍵字:
直接結束當前main方法,遇到return後,方法中的所有程式碼將不再執行。
注意:程式中要減少return的使用頻率。一旦使用return,整個main方法結束