javascript
JS流程控制语句
## 流程控制語句
**3-1條件語句**
給定一個判斷條件,并在程序執行過程中判斷該條件是否成立。
*3-1-1單分支語句*
由一個if組成,如果條件成立,則進入代碼塊開始執行語句。
語法:
?
如果條件不是一個布爾值,那么會被自動轉換為布爾值
示例:
?
*3-1-2雙分支語句*
就是由兩個分支線,如果if條件不成立,那么就會跳入到else語句中,語法時:
**三目運算符**
if...else語句的一個縮寫方式,就是使用三目運算符 ?:
語法:條件 ? (條件為真時執行的代碼):(條件為假時執行的代碼)
示例:let a = 3,b = 8,c = 5; let max = a>b ? (a>c?a:c) : (b>c?b:c); console.log(max);//8
?
*3-1-3多分支語句*
多個if...else語句可以組合在一起,形成邏輯決策樹,
語法:
if(條件){
//執行語句
}else if(條件){
//執行語句
}else{
//執行語句
}
**switch語句**
有一種比多分支結構更清晰的語句結構,就是switch語句。語法:
switch(條件){
case 1:
//執行語句
break;
case 2:
//執行語句
break;
case 3:
//執行語句
break;
default:
//執行語句
}
*break關鍵字*
break時用于跳出某個case,如果不書寫break的話,進入case以后會繼續進入后面的case語句。
*default關鍵字*
default用于書寫默認的條件,如果前面的都不滿足的話,就進入到default語句里面。
**3-2循環語句**
*3-2-1while循環*
whlie循環是比較常見的一種,語法為:
whlie(表達式){
//循環體
}
?
無窮循環又叫死循環
*3-2-2do...whlie循環*
首先執行一次循環體,然后檢測循環條件表達式的值是否為真,是真的話,則重復執行循環語句。
**3-2-3for循環**
for循環是最常見的一種循環。
語法為:
for(表達式1;表達式2;表達式3){
//循環體
}
執行的順序為:首先執行表達式1,然后進行表達式2的判斷,如果表達式2成立,那么執行循環體,循環體執行結束后,進行表達式3,然后回頭再看表達式2是否成立,成立就執行循環體,不成立就循環結束。
?
*遍歷數組*
使用for循環來對數組進行遍歷。
示例:
?
在使用for循環來遍歷數組的時候,使用一個變量來存儲數組的長度,這樣可以提升程序的小路,因為不用每次都取重新計算數組的長度。
示例:
?
**3-2-4循環的嵌套**
我們可以把一個循環放在另一個循環里面,從而構成循環的嵌套,里面的循環稱之為內層循環,外面的循環稱之為外層循環,外層循環一次,內層循環就是把自己的全部循環執行完。
循環嵌套示例:打印九九乘法表
?
使用雙層for循環遍歷一個二維數組:
**3-2-5break和continue**
*break*
用于跳出switch語句或者循環語句,注意的是:break語句不能直接作用于if語句,除非if語句是被嵌套在循環語句里面的。
語法:
for(表達式1;表達式2;表達式3){
if(條件){
//執行語句
break;
}
}
*continue語句*
結束本次循環(不是終止整個循環),即跳過循環體中的continue語句后面的語句,開始下一次循環。
break語句和continue語句的區別:
continue語句的意思是結束本次循環,break語句是結束整個循環。
示例:
break語句:
for(1,2,3){
a;
b;
c;
break;//執行a,b循環結束
c;
d;
}
continue語句:
for(1,2,3){
a;
b;
continue;//執行a,b后結束本次循環
c;
d;
}
?
?
for循環示例:
// 求100到200之間的3的所有倍數 // 10個數為一行,打印一次 let j=0; let arr =""; for(let a=100;a<=200;a++){if(a % 3 == 0){j++;arr =arr+a+" ";if(j%10==0){console.log(arr);arr ="";//消除已經打印出來了的,不重復打印 }} } console.log(arr);?
// 100-999以內的水仙花數,即一個數字它的每一位數的立方加起來等于這個數,如:153=1*1*1+5*5*5+3*3*3 let i; for(i=100;i<=999;i++){let bai = parseInt(i / 100);let shi = parseInt(i / 10)%10;let ge = i % 10; if( i == bai*bai*bai+shi*shi*shi+ge*ge*ge){console.log(i);} }?
?
// 斐波那契數列 // 0,1,1,2,3,5,8,13,21.... // 用戶隨機輸入一個位數,判斷這是數列中的哪個數 let readline = require("readline-sync"); console.log("請輸入數字:") let bit;//位數 let num1 =0;//第一位數 let num2 =1;//第二位數 let temp =0;//臨時變量 bit = parseInt(readline.question(""));for(let i=3;i<=bit;i++){temp = num2;num2 = num1 + num2;num1 = temp;} console.log("該位數上的數為:",num2);?
轉載于:https://www.cnblogs.com/lyl-0667/p/11111636.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
- 上一篇: 更改SYS密码,expiry_date
- 下一篇: gradle idea java ssm