x, y ,z三個數從大到小排列:
x<y?(x+=y,y=x-y,x-=y) : x;
y<z?(y+=z,z=y-z,y-=z) : y;
x<y?(x+=y,y=x-y,x-=y) : x;
(x+=y,y=x-y,x-=y) 這個式子的效果是將x與y的值進行交換。
關于某年某月某日是那年的第幾天?助教的算法:
首先由用戶輸入三個數值:
var year = prompt("年");
var month = prompt("月");
var day=Number(prompt("日"));
/*為什么要加Number呢?因為用戶輸入數字后,prompt收到的是字符串,要進行加減法需要用Number進行強制轉換。*/
定義兩個值
var feb,sum=0;
判斷是否閏年。是閏年,則feb =29,不是閏年,則feb=28。
if (year%4==0&&year%100!=0|| year%400==0){
feb=29
}else{
feb=28
}
if(month>1){sum=sum+31}
if(month>2){sum=sum+feb}
if(month>3){sum=sum+31}
if(month>4){sum=sum+30}
if(month>5){sum=sum+31}
if(month>6){sum=sum+30}
if(month>7){sum=sum+31}
if(month>8){sum=sum+31}
if(month>9){sum=sum+30}
if(month>10){sum=sum+31}
if(month>11){sum=sum+30}
alert(sum+date)
if {
}else
執行邏輯
多條分支 根據條件判斷的時候 選擇性執行
if(條件1){
語句1
}else if(條件2){
語句2
}else{
其他語句
}
switch case 語句
語法:
var num= prompt("輸入");
switch(表達式 例如:num){
case 表達式1 ?(如果表達式的值 === 表達式1的值):
? ? ? 代碼段;即需要執行的代碼。
case 表達式2:
? ? ?代碼段2;
case 表達式3:
? ? 代碼段3;
.........
default(如果表達式和所有的case都不相等):
? ? 執行默認代碼段;
}