条件if、swich语句
swich语句
<script type="text/javascript">
/*
switch(表达式){
case 结果1:代码块:break;
case 结果2:代码块:break;
...
default:defaultstatement;
}
</script>
注意: 每个分支后面记得添加break
switch语句与if语句的使用场景差异:
1. switch语句使用在少量且特定的条件, switch语句都可以使用if语句替代
2. if语句使用在区间
<script type="text/javascript">
//prompt相当于shell中的read
num= prompt('请输入数字:')//接收输入, 同shell中的read
//console.log(typeof num) 从输入框中输入的内容都是string类型.
num = parseInt(num) //把变量改为数值型整型
//console.log(typeof num) num的类型就变成了number
switch (num){
case 1:console.log("唱歌")
break
case 2:console.log("跳舞")
break
case 3:console.log("胸口碎大石")
break
case 4:console.log("脱一件衣服")
break
break
default :console.log("真心话")
break;
}
</script>
if语句
<script type="text/javascript">
/*1.单分支
语法:
if(表达式){
//表达式为true的时候执行里面的代码
}
*/
age = 16
if (age >= 18) {
console.log('1.可以看动作片.')
}
/*
2.双分支语句. 语法:
if (条件) {
条件为真时执行的语句块
} else{
条件为假时执行的语句块
}
*/
age = 17
if (age >= 18) {
console.log('2.可以看动作片')
} else{
console.log('2.看小猪佩奇')
}
/*
3. 多分支语句
if (条件1) {
条件1为true执行的语句块
} else if (条件2){
条件2为true时执行的语句块
} else if (条件3) {
条件3为true时执行的语句块
} else{
其它条件都不满足时执行的语句块
}
*/
age = 5
if (age >= 60) {
console.log('3.跳广场舞')
} else if (age >= 18){
console.log('3.可以看动作片')
} else if (age >= 10) {
console.log('3.可以悄悄看动作片')
} else{
console.log('3.看小猪佩奇')
}
</script>
for循环语句
<script type="text/javascript">
/*
for (初始值; 判断条件; 变量运算规则) {
语句块
}
*/
// //打印1-5中间的所有整数
// for (i=1; i<=5; i++) {
// console.log(i)
// }
//计算1-100的和
/*
1. 初始值: sum=0, i=1
2. 开始循环
循环1: sum=0, i=1; sum=0+1=1, i=2
循环2: sum=1, i=2; sum= sum+i=1+2=3, i=3
循环3: sum=3, i=3; sum=sum+i=3+3=6, i=4
循环4: sum=6, i=4; sum=sum+i=6+4=10,i=5
........
循环100:sum=4950, i=100; sum=sum+i=4950+100=5050, i=101
循环101:sum=5050, i=101, 运算i<=100, 结果为False, 终止循环
*/
var sum = 0
for (i=1; i<=100; i++) {
// sum += i
sum = sum + i
}
console.log('1-100的和是:', sum)
//有红球5个,黑球7个,白球9个,随机取出12个,计算可能的颜色组合有多少种?
var count=0
for(a=1;a<=5;a++){
for(b=1;b<=7;b++){
for(c=1;c<=9;c++){
if( a+b+c == 12){
count++
console.log(a,b,c)
}
}
}
}
console.log(count)
</script>
while循环语句
<script type="text/javascript">
/*
语法:
for (初始值; 条件; 变量运算规则) {
代码块/循环体
}
初始值
while (条件){
代码块
变量运算规则
}
*/
//打印1-5的整数
var num = 1
while (num <=5){
document.write(num+'\n')
num++
}
count=0
var num = 6
while (num <=5){
document.write(num+'\n')
num++
count++
}
document.write("打印1-5的整数循环的次数是:", count)
//计算101-200的和
var n = 101
sum = 0
count = 0
while (n <= 200){
sum+=n
n++
count++
}
document.write('计算101-200的和是', sum)
document.write('循环次数是:', count)
</script>
do which
<script type="text/javascript">
/*
初始化
do{
代码块
变量运算规则
} while(条件)
*/
//打印1-5的整数
count = 0
i = 1
do {
// document.write(i)
i++
count++
} while (i <= 5)
// document.write('1循环的次数:', count)
count = 0
i = 6
do {
document.write(i)
i++
count++
} while (i <= 5)
document.write('循环的次数:', count)
//do...while就算不满足条件, 也会执行一次.
//while循环 可能不执行.
//计算101-200的和
var n = 101
sum = 0
count = 0
while (n <= 200){
sum += n
n++
count++
}
document.write('计算101-200的和是', sum)
document.write('循环次数是:', count)
</script>
进阶题: 计算三位整数(100~999)的水仙花数。
水仙花数是指每一位的立方相加等于该数自己,
比如153 = 1^3 + 5^3 + 3^3
<script type="text/javascript">
var i
for(i=100;i<=999;i++){
a=i % 10
b=(i - a) / 10 % 10
c=(i - b * 10 - a) / 100 % 10
if(a*a*a+b*b*b+c*c*c==i){
console.log(i)
}
}
</script>