文章目录
判断语句
判断语句也叫条件分支语句,是指当系统执行遇到不同的情况时,可根据不同的条件进行判断,选择不同的代码进行执行,比如说在我们决定交通方式时,就会选择对应的道路。在代码中亦是如此,可以通过不同的条件进行不同语句的选择,来执行对应的代码,以达到我们预期的效果。分支语句主要包含三种,If语句,switch语句,还有三目运算符。
一、if 判断语句?
A. 单分支判断语句
if(条件){
// 逻辑
}
执行:如果条件为true,则执行逻辑
例:
var num1 = 1;
if(num1 > 5){
num1 /= 2;
}
console.log(num1)
B. 双分支判断语句
if(条件){
// 条件为true时的逻辑
}else{
// 条件为false时的逻辑
}
例:
var num = prompt();
if(num % 2 === 0){
console.log(num+'是偶数')
}else{
console.log(num+"是奇数")
}
C. 多分支判断语句
if(条件1){
}else if(条件2){
}else if(条件3){
}
...
else{
}
例:
var color = prompt('请输入你喜欢的颜色');
if(color === "red"){
console.log('是一个热情似火的人');
}
else if (color==="blue"){
console.log('他是一个高冷的人')
}
else if (color === 'pink'){
console.log('他是一个可恶的人')
}
else{
console.log('他是一个捉摸不透的人')
}
在if后的小括号内是我们需要判断的条件,如果判断条件成立,将执行对应的执行语句,若判断没用过,则执行else内的判断语句。在if当中,若满足了一个条件,则不会再判断其他条件,也不会进行其他条件内执行语句的执行。若需要多个条件联合判断,可在小括号内用&&将多个条件进行连接,||表示两个条件满足其一即可。
若有多个备选选项进行判断,我们可以使用if else语句进行编写,编写时的else if可以根据实际使用情况进行添加。实例代码如下
if(判断条件1){
执行语句
}else if(判断条件2){
执行语句2
}else {
执行语句三=3
}
二、switch判断语句
switch语句也叫选择判断语句,它与if的最大区别在于他是将具体的数据进行匹配比较,再进行对应的代码执行语句进行执行,并需要break来进行循环跳出(也可用return来进行跳出,但是会同时跳出整个方法)。switch语句只能支持四种数据类型的判断,分别是byte,short,int ,char。
语法:
switch(变量){
case 值1:
逻辑;
break;
case 值2:
逻辑;
break;
case 值3:
逻辑;
break;
…
default:
最终逻辑;
}
例:
var color = prompt('请输入你喜欢的颜色');
switch(color){
case 'red':
console.log('他是一个热情的人');
break;
case 'blue':
console.log('他是一个高冷的人');
break;
case "pink":
console.log('他是一个优雅的人')
break;
default:
console.log('他是一个捉摸不透的人')
}
与if判断的区别:
当你要判断的变量值为固定的某个范围时,此时,建议使用switch判断!
三、for 循环语句
A. 语法:
1 2 3
for(变量初始化; 条件判断; 变量运算 ){
4
你要反复执行的逻辑
}
执行顺序: 1 - 2 - 4 - 3 - 2 - 4 - 3 - 2 - 4 - 3...
for循环的执行逻辑:首先把变量初始化执行,然后去判断条件是否成立,如果成立,则执行花括号中的循环体,执行完毕之后,去执行变量运算,然后去执行条件判断,成立则继续执行循环体,不成立则终止循环!
B. 一个关于for循环超级重要的知识点!
数组遍历! 将数组的每一个数据从头至尾读一遍(获取一遍)
- 一维数组遍历
var arr = ['name','zhagnsan',1,2,3];
// 数组的长度就是数组当中有多少个元素! arr.length
for(var i = 0;i<arr.length;i++){
console.log(arr[i])
}
- 二维数组遍历
var arr = [ [1,2,3], ['b','c'], ['a',1,2]]
for(var i = 0;i<arr.length;i++){
for(var n = 0;n<arr[i].length;n++){
console.log(arr[i][n])
}
}
C. 一些特殊的写法
- 第一种
var 变量 = 值;
for(;条件判断;变量运算){
循环体
}
- 第二种
var 变量 = 值;
for(;;变量运算){
循环体
if(条件){
break;
}
}
- 第三种
var 变量 = 值;
for(;;){
循环体
变量运算;
if(条件){
break;
}
}
例:
var i = 0;
for(;;){
console.log(i)
i++;
if(i>5){
break; // 终止循环
}
}
思考:
var i = 0;
for(;;){
i++; // ?
console.log(i)
if(i>5){
break; // 终止循环
}
}
var i = 0;
for(;;){
console.log(i)
if(i>5){
break; // 终止循环
}
i++; // ?
}
D. for循环中的两个关键词
break // 终止循环
var arr = ['a','b',1,2,3];
for(var i =0; i< arr.length;i++){
console.log(arr[i])
if(arr[i] === "b"){
break;
}
}
continue // 终止本次循环
var arr = ['a','b',1,2,3];
for(var i =0; i< arr.length;i++){
if(arr[i] === "b"){
continue;
}
console.log(arr[i])
}
例:
var arr = [1,2,2,1,12,5,5,2,34,3,45,234,234,23]
/* for(var i = 0; i<arr.length; i++){
if( arr[i]%2 === 0){
console.log(arr[i])
}
} */
for(var i = 0; i<arr.length; i++){
if( arr[i]%2 === 1){
continue;
}
console.log(arr[i])
}
四、while 循环
1. while(条件){循环体}
var i = 0;
while(i<10){
i++;
if(i % 2 === 0){
console.log(i)
}
}
注意:while循环是没有变量运算的,所以,你需要再循环体中作变量运算,否则,容易产生死循环
2. do{循环体}while(条件)
var i = 0;
do{
console.log(i);
} while(i>10);
执行逻辑:限制性do后边跟的循环体,在执行条件判断
特点:dowhile因为是先执行循环体,所以,就算条件第一次都不成立,也会执行一次循环体!
五、三目运算符
三目运算符与if else的判断效果及能力很像(不带else if的),但其写法较为简单,只需要一行代码即可完成。示例如下。
system.out.println(a>b?a:b)
括号内的意思是判断a是否大于b,如果大于输出a,否则输出b。其实书写过程较为简洁,但由于其只能判断较为简单的条件,所以使用情况较少。那他如何进行多个条件的判断的呢,示例如下。
题目:
输入性别和身高,如果男性身高大于180则打印:孔武有力,
如果女性身高大于180,则打印:威武雄壮。否则打印:瘦弱不堪。
-----例如:-----
请输入身高:190
请输入性别:男
结果:孔武有力
答案:
System.out.println(“请输入身高”);
int a = in.nextInt();
System.out.println(“请输入性别”);
String b = in.next();
System.out.println(a>180?(b==“男”?“威武雄壮”:“孔武有力”):“瘦弱不堪” );
三目运算符可以通过()的方式进行嵌套,以此来进行多个条件的嵌套判断。在嵌套判断中,内层的括号可以省略(省略后是真的很难看懂)。且在判断是,也可以通过&&或||来进行联合判断。综合来看其作用与if else较为相似。