05_循环结构三目运算符
目录
一、双重for循环
练习
二、break关键字
三、continue 关键字
练习
四、三元运算 / 三目运算
一、双重for循环
- 外层循环 循环一次,,,内层循环 循环一圈!!!
循环里嵌套循环:
for(var i=0;i<10;i++){
for(var j=0;j<5;j++){
//XXXXXX
}
}
练习
1、页面中输出 * 9行 5列
document.write("*")
*****
*****
*****
*****
*****
*****
*****
*****
*****
for(var i=0;i<9;i++){
for(var j=0;j<5;j++){
document.write("*")
}
document.write("<br/>")
}
2、页面中输出 * 三角形
*
**
***
****
*****
******
*******
********
*********
// 9行 循环
// row=1 输出1个 内层执行1次
// row=2 输出2个 内层执行2次
// row=3 输出3个 内层执行3次
// row=4 输出4个 内层执行4次
// 9 9
for (var row = 0; row < 9; row++) {
for (var col = 0; col < row; col++) {
document.write("*");
}
//row等于0的时候不希望输出空格 所以判断一下
if (row !== 0) {
document.write("<br/>")
}
}
二、break关键字
-
在循环没有完全结束时,因为我设置的条件满足了,提前终止循环
例子:
吃早餐,吃5个包子,吃了第三个的时候,不能在吃了,就停止吃这个包子
这时候就不吃了,终止循环,使用break关键字
三、continue 关键字
-
在循环中,把本次循环跳过去,继续执行后续的循环
for(var i=1;i<=5;i++){
console.log("我吃了"+i+"个包子");
if(i===3){
break;
}
}
-
跳出本次循环 就使用continue关键字
for(var i=1;i<=5;i++){
if(i==3){
console.log("都三个掉了");
continue;
}
console.log("我吃了"+i+"个包子");
}
练习
1、计算100的阶乘(从1乘到100)!
比如4的阶乘 1* 2 * 3 * 4
8的阶乘 1* 2 * 3 * 4 * 5 * 6 * 7 * 8
var jc=1;
for(var i=1;i<=100;i++){
//i 1 - 100
// i = 1 ===> 1*1 jc=1*1
// i = 2 ===> 1*1*2 jc=1*1*2
// i = 3 ===> 1*1*2*3 jc=1*1*2*3
// .....
//jc = jc*i;
jc*=i
}
console.log(jc);
2、求100-999之间的水仙花数!
比如一个数字
345 (如果个位、十位、百位 三次方相加等于这个数字,那么这个数就叫水仙花数)
3**3 + 4**3 + 5**3 = 345 那么345就是水仙花数
提示:
取出来个位、十位、百位数
for(var i=100;i<=999;i++){
// 101 ==1
var g = i%10;
// 101==>10.1==>10==>%10
var s = parseInt(i/10)%10;
var b = parseInt(i/100)%10;
if(g**3+s**3+b**3===i){
console.log("水仙花数"+i);
}
}
3、判断一个数字是不是质数
// 如果一个数 除了1和它本身 不能被其他整数整除 这就是质数
// 如果除了1和本身 还有其他数可以整除 叫合数!!
提示:1-100之间的数 循环从2开始 -99
var num = 7;
// 如果一个数 除了1和它本身 不能被其他整数整除 这就是质数
// 如果除了1和本身 还有其他数可以整除 叫合数!!
// 提示:1-100之间的数 循环从2开始 -99
//- 2-99之间的数
var count=0; // 记录一下被整除的次数!!!
for(var i=2;i<num;i++){
//判断num 和 i 有没有整除的
// 给所以的i都判断
if(num % i == 0){
count = count+1;
}
}
if(count == 0){
// 没有被其他的数整除
console.log("质数");
}else{
console.log("合数");
}
4、篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度小于0.1米
var h = 5;
var count=0;// 记录弹起的次数
//提示 break 退出循环
//写一个死循环,直到h<0.1 结束循环
var h = 5;
var count = 0;//次数
while (true) {
h = h * 0.3;
count = count + 1;
if (h < 0.1) {
break;
}
}
5、有一个棋盘,有64个方格,在第一个方格里放一粒芝麻,重量是0.00001kg,第二个方格里放2粒
第三个放4粒,第四个8 第五个16 第六个32.。。。棋盘上所有芝麻的重量
6、求1!+2!+3!+4!+5!+6!+.....100!的和
四、三元运算 / 三目运算
三元运算:两个符号 三个表达式 条件?条件真执行:条件假执行
两元运算:一个符号 两个表达式 a+b
一元运算:一个符号 一个表达式 !flag
其实就是if判断的简写
var score = 59;
// if(score>=60){
// console.log("及格");
// }else{
// console.log("不及格");
// }
// 语法:条件?条件为真执行的代码:条件为假执行的代码
score>=60?console.log("及格"):console.log("不及格");
// 思考:看电视剧 年龄在18-60之间可以观看所有,否则不能看
var age = 29;
age>=18&&age<=60?alert("观看所有"):alert("不能看")