分支结构 if、if-else 、if-else if else if......else、switch-case
循环 while循环、for循环
单分支
只有一个分支用 if
有两个分支用if-else
多分支范围类if-else if......else
多分支具体值switch-case
需求:计算1-100之间所有整数和(5050)
//定义一个变量
var sum = 0; //存储和
var i = 1; //初始值
while(i <= 100){
sum += i; //sum = sum + i
i++;
}
console.log("1-100的和为" + sum);
需求:计算1-100之间的偶数和
var sum = 0;
var i = 1;
while(i <= 100){
if(i % 2 == 0){
sum += i;
}
i++;
}
console.log(sum);
do-while循环
do{
代码块;
}while(条件);
需求:计算1-100的和
var sum = 0;
var i = 1;
do{
sum += i;
i++;
}while(i <= 100);
console.log(sum);
注:while结束一定要加分号;
需求:求100以内3的倍数的和
var sum = 0;
var i = 1;
do{
if(i % 3 == 0){ //判断是否为3的倍数
sum += i; //和
}
i++; //自加计数
}while(i <= 100); //100以内
console.log(sum);
需求:"你觉得我帅吗?"提示用户请输入Y/N,如果是N就一直问,输入Y则结束并提示"您真有眼光"
do{
var result = prompt("您觉得我帅吗? Y/N");
}while(result != "Y");
console.log("您真有眼光");
for循环
for(初始化表达式1;条件表达式2;自增表达式3){
循环体;
}
首先执行初始化表达式1,其次判断条件表达式2,如果条件表达式2不成立,则直接跳出整个循环体,如果条件表达式2成立,则执行循环体,执行完循环体之后,再去执行自增表达式3,再去判断是否成立,以此类推
需求:输出0-5之间的数字
for(var i = 0; i <= 5; i++){
console.log(i);
}
需求:输出一句话10次
for(var i = 0; i <= 10; i++){
console.log("哈哈" + (i+1));
}
需求:求1-5的和
var sum = 0;
for(var i = 0; i <= 5; i++){
sum += i; //sum = sum + i
}
console.log("1-5的和" + sum);
注:输出在循环的外面
需求:打印5个☆
for(var j = 0; j < 5; j++){
document.write("☆");
}
document.write("<br/>");
需求:打印5行5列的☆
for(var i = 0; i < 5; i++){
for(var j = 0; j < 5; j++){
document.write("☆");
}
document.write("<br/>");
}
行的for循环里包含了列的for循环
练习
需求:求1-100之间所有数的和
var sum = 0;
for(var i = 0; i <= 100; i++){
sum += i;
}
console.log("1-100的和为" + sum);
需求:求1-100之间的偶数和
var sum = 0;
for(var i = 0; i <= 100; i++){
if(i % 2 == 0){
sum += i;
}
}
console.log("1-100之间的偶数和为" + sum);
需求:求1-100之间的奇数和
var sum = 0;
for(var i = 0; i <= 100; i++){
if(i % 2 != 0){
sum += i;
}
}
console.log("1-100之间的奇数和为" + sum);
需求:求1-100之间的所有数的和的平均值
var sum = 0;
for(var i = 0; i <= 100; i++){
sum += i;
}
console.log("1-100之间的数的和的平均值" + (sum / 100));
需求:同时求1-100之间的所有偶数、奇数和
var oddNum = 0; //存储奇数
var evenNum = 0; //存储偶数
for(var i = 1; i <= 100; i++){
if(i % 2 == 0){ //判断为偶数
evenNum += i;
}else{ //剩下的为奇数
oddNum += i;
}
}
console.log("奇数和为" + oddNum);
console.log("偶数和为" + evenNum);
需求:1-100里3的倍数和
var sum = 0; //存储和
for(var i = 0; i <= 100; i++){
if(i % 3 == 0){ //判断为3的倍数
sum += i; //相加
}
}
console.log(sum);
需求:☆
☆☆
☆☆☆
☆☆☆☆
☆☆☆☆☆
for(var i = 0; i < 5; i++){ //控制行 i本身在递增
for(var j = 0; j <= i; j++){ //控制列 因为每行递加所以j要跟随i的变化来
document.write("☆");
}
document.write("<br/>");
}
需求:9*9乘法表
for(var i = 1; i <= 9; i++){ //控制行 i本身在递增
for(var j = 1; j <= i; j++){ //控制列 因为每行递加
document.write(j+"*"+i+"="+i*j); //打印样式
}
document.write("<br />");
}
注:控制行的循环里包含了控制列的循环。控制行的循环每判断一次控制列的循环都要从初始值进行重新判断。这才能使得每行递加且符合9*9乘法表,即控制行的循环判断了9次而进行控制列的循环则判断了81次。