结构性语句主要有顺序结构、选择结构、循环结构三种,下面分别进行介绍。
顺序结构:
顾名思义,顺序结构就是从上往下依次执行,这个比较简单,不用再多说。其实其他结构性语句的基本逻辑也是从上往下依次执行,只不过因为不同的代码语句在此基础上有其他的特点。
选择结构:
选择结构主要有两种,一种是if语句,一种是switch语句。下面分别介绍。
if选择语句:
if有三种格式,第一种格式是if最基本的最原始的格式:
if(boolean数据类型){语句;}
小括号内必须是布尔类型数据,当为true时,执行后面的语句,当W为false时,不执行后面的语句;如果后面只有一条语句,可以不用大括号括起来,但如果有多条语句,就必须使用大括号将所有语句括起来,这是因为if只能作用紧跟它后面的一条语句。
假如设成绩为score,括号内为score>60;当score符合括号内条件,语句输出及格,由第一种if格式可以实现,那么如果score不符合括号内条件;我们想要输出不及格时,应该怎么办呢?由此得出if的第二种格式:
if(boolean数据类型){
语句1;
}else{
语句2;
}
当if后的小括号内为true时,执行语句1;当if后的小括号内为false时,执行语句2。
第二种格式的作用是二者选其一,那如果可选项多于两个,选择其中一个,应该怎么办呢?这时有了if的第三种结构:
if(boolean数据类型){
语句1;
}else if(boolean数据类型){
语句2;
}else if(boolean数据类型){
语句3;
}else{
语句4;
}
看输入数据符合哪个条件,就执行哪个语句;最典型的例子是输入成绩判断等级,这里不再写出来了,大家可以去网上搜一搜,有好多这样的例子,代码、注释都很清楚。
Switch选择语句:
Switch选择语句只有一种基本结构,我们首先来看一下它:
Switch(变量或表达式){
Case 值1:语句1;break;
Case 值2:语句2;break;
Case 值3:语句3;break;
……
Case 值n;语句n;break;
Default:语句m;break;
}
它的执行过程是这样的:switch后面的小括号里是变量或表达式,而case后面的值只能是常量,将小括号里的内容依次和case后的常量值比较,与哪个值相等,就执行哪个case后的语句,并且退出。
Switch结构语句中有几点注意事项需要注意:
int a=1;
switch(a){
case 1:System.out.println(“找到”);
case 2:System.out.println(“不对”);
case 3:System.out.println(“也不对”);
}
如果每条语句后存在break,那么在第一条语句匹配的时候,输出“找到”,然后就会退出,但这里没有break,所以输出“找到”后,程序依次执行下面的语句,输出“不对”,“也不对”,甚至case都不进行判断了,就算是个default,程序也会执行,大家可以试一试。
同样,对其它几条注意事项,大家也可以练一练,比如第一条,case后只能是常量,你就偏把case后的值写成其他类型,看会不会报错。
循环结构:
循环结构主要有两种,一种是for循环,一种是while循环,下面分别介绍。
For循环语句:
For循环语句的格式为:
For(初始化语句;条件判断语句;循环语句){循环体};
其实它的最基本的结构是:
For(语句;boolean类型数据;语句)语句;
和if、switch一样,for也只能控制它后面的一条语句,所以当有多条语句时就需要加上大括号,这样就形成了循环体。
While循环语句:
While循环语句的格式为:
初始化语句;
While(循环语句){
循环体;
条件判断语句;
}
同样,它的最基本的结构并不是这样,而是:
While(循环语句){
循环体;
}
其中循环语句是布尔类型的,例如:
While(true){
System.out.println(“helloworld”);
}
当括号内为true时,输出helloworld,但我们可以发现,true不会变,一直是true,所以它会一直输出helloworld不停止,是个死循环,因此我们可以把true改为一个表达式,例如a>5;当表达式为true时循环,否则循环终止,这样也就需要用到了初始化语句和条件判断语句。例如:
int a=0;
while(a<3){
system.out.println(“你好世界”);
a++;
}
输出结果为:
你好世界
你好世界
你好世界
附加:除了这两种循环结构,还有一个do while循环,他的结构是:
Do{
循环体;
}while(循环语句);
很多人都说do while循环是先执行再判断,while循环是先判断再执行;但事实不是这样,咱们可以用do while和while写个循环,然后一条语句一条语句,一次循环一次循环地试一试,会发现,do while循环就相当于while循环第一次不进行判断,直接执行循环体,从第二次开始,就和while循环一模一样,先判断,再执行。