条件语句
if语句的基本使用
if (测试条件) {
// 语句块1
// 当测试条件为真,则执行这里
} else {
// 语句块2
// 当测试条件为假,则执行这里
}
var a = Number(prompt('请输入一个数字'));
if (a%2==0) {
alert('偶数');
} else {
alert('奇数');
}
if else if多条件分支
var score = Number(prompt('请输入成绩'));
if (score>=85) {
alert('优秀')
}else if(score>=70){
alert('良好')
}else if(score>=60){
alert('及格')
}else{
alert('不及格')
}
switch语句
用途:当一个变量被分类讨论的情形;
// 要求用户输入一个1~12中的任意一个数字来表示月份,显示这个月的天数
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
alert('这个月有31天');
break;
case 4:
case 6:
case 9:
case 11:
alert('这个月有30天');
break;
case 2:
alert('这个月有28天或29天');
break;
default:
alert('请输入正确的月份');
}
- 在switch()的圆括号中一般是一个变量名,这个变量将被分类讨论;
- case表示“情况”,它后面没有圆括号,直接跟一个值。程序会依次将case后面的值与switch圆括号中的值进行全等对比,如果比对相同,则执行这条case冒号后面的语句。
- default表示默认情况;
- 多条case可以共用同一个语句体。
- 必须主动调用break来跳出switch语句体;不像if语句那样当执行了某一分支之后会自动跳出if语句体;若不写break,则后面的所有case都将被视为匹配,直到遇见break;
// 由于若不写break,则后面的所有case都将被视为匹配,直到遇见break;所以结果是 A B C 都会输出
var a = 10;
switch (a) {
case 10:
console.log('A') // A
case 4:
console.log('B') // B
case 88:
console.log('C') // C
break;
case 2:
console.log('D')
}
三元运算符
条件表达式 ?表达式1 :表达式2
问号前面是判断的条件,问号后面用冒号隔开两个表达式。当条件表达式为真时,调用表达式1,为假时调用表达式2;
用途:根据某个条件是否成立,在两个不同值中选择变量的值;
var age = 24;
var type = age>=18 ? '成年人' : '未成年人';
alert(type); // 成年人
for循环语句
有一点的范围
for (var i = 1; i <= 10; i++) {
console.log(i)
}
while循环语句
是一种“不定范围”循环;事先不指定循环开始、结束的范围,只要测试条件满足,就一直执行循环体;
while (condition) {
}
- while循环没有显示定义循环变量,必须自己在while循环外先定义好循环变量,有时甚至可以没有循环变量;
- 循环体内的语句,必须使循环测试条件趋向不成立,否则会死循环;
var n = 1;
while (n*n<=456789) {
n++;
}
console.log(n);
break
表示立即终止循环,它只能用在循环语句中,在for循环和while循环中都可以使用;
break用在while语句中时,通常和while(true){}搭配使用
var n = 1;
while (true) {
if (n*n > 456789) {
console.log(n);
break;
}
n++;
}
continue
用于跳过循环中的一个迭代,并继续执行循环中的下一个迭代。for循环更经常使用continue;
for (var i = 0; i < 5; i++) {
if (i == 3) {
continue;
}
console.log(i); // 0 1 2 4
}
do while循环
do while循环是一种“后测试循环语句”;它不同于for循环和while循环每次都是“先测试条件是否满足,然后执行循环体”。do while循环是“先执行循环体,然后测试条件是否满足”。
do while循环将循环执行条件写到了循环体的后面,这样一来,循环体一定会至少执行一次,然后再检测循环执行条件是否为true,决定是否继续执行循环体。
do {
循环体
} while (condition);
随机数函数
Math.random()会得到0`~1之间的小数;
得到[a,b]区间的整数,公式:
parseInt(Math.random() * (b - a + 1)) + a
什么是算法
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
就是:把一个问题,拆解为计算机能够一步一步执行的步骤;
计算机的流程控制语句:顺序执行、选择语句、循环语句
穷举法
是指根据题目的条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况符合题目的条件,则为本问题的一个解;若全部情况验证后都不符合题目的条件,则本题无解。