目录
前言
语句的概念
计算机程序由一系列指令构成,这些指令称为语句。
x+y //这是一个表达式
z=x+y; //这是一个语句,执行赋值功能
; //这也是Java支持的语句,空语句(留白,表示不执行功能)
语句可以被组合成语句块
{
int x;//声明
int y=10;//声明加赋值
x=y+15;//赋值
System.out.println(x);//执行函数
}
不常用的小Tips:
语句可以加标记,用于跳转:
sectionA:x=y+1;
start:{ //语句组 }
一、条件分支语句(if-else…)
1.1一般用法(if-else)如下
if-else:表达式为 true 执行if语句块内容,否则为false执行else语句块内容。
if(表达式){
//语句组
}
else{
//语句组
}
1.2单用if如下
如果表达式为真,执行if语句块,否则继续执行接下来的语句
if(表达式){
//语句组
}
//其他语句
1.3嵌套使用if-else if…
连续嵌套表多层选择,具体如下:
if(x>10){
//x>10执行
}
else if(x==10){
//x<=10&&x==10
}
else if(x<10){
//x<10
}
1.4注意事项
注意if-else的对应关系,防止出现else不匹配if报错:
if(a>0||b>0)
if(a>10&&b>10)
System.out.println(a*b);
else
System.out.println(a+b);
//注意这里的else匹配的是最近的if,java是以{}为语句块,不是缩进
二、循环语句(while、for…)
2.1循环语句的作用
为了实现重复使用功能类似的语句块,或者是完成累计的功能(比如求递归数列之类的操作)。
2.2while的用法
表达式为真的情况下,重复执行while语句组
while(表达式){
//语句组
}
使用while进行计数循环
int i=0;//计数器
while(i<3){//循环3次,0,1,2
System.out.println(i);
i++;//计数器更新——千万别忘了!!!
}
2.3do-while的用法
相较于while,do-while至少执行一次语句组
int index=5;
do{
System.out.println(index);
index++;
}while(index<3);//尽管第一次判断就为false,但是还是执行了一次
2.4for的用法
任何while都可以转化为for,二者结构不同,但是都能实现相同功能;
相同流程都可以是初始化计数器,判断表达式,执行语句组,改变计数器;
for(init;judge;change){
//语句组
}
init;
while(judge){
//语句组
change;
}
三、中断语句(break、continue)
3.1中断语句功能
中断语句在语句组中使用——break表示跳出循环,continue表示跳过接下来的语句,开启新一轮循环,具体用法见下
3.2 break用法
for(int i=0;i<5;i++){
if(i==3)
break;
System.out.println(i);
}
//只输出0,1,2
for(int i=0;;i++){
if(i==3)
break;
System.out.println(i);
}
//缺乏判断语句,默认为true,但是仍然能够终止循环;for中的三个元素都能不写,但是必须要";",比如
int i=0;
for( ; ; ){
if(i==3)
break;
System.out.println(i);
i++;
}//这样就和while很像了
3.3 continue的用法
for(int i=0;i<5;i++){
if(i==3)
continue;
System.out.println(i);
}
//只输出0,1,2,4
//当i==3时continue开始新循环,跳过了输出
四、 选择语句(switch…)
4.1switch和if-else嵌套
如果用if-else实现一个选择语句如下:
int i=3;
if(i==0)
//语句
else if(i==1)
//语句
else if(i==2)
//语句
else if(i==3)
...
这样操作无疑是非常痛苦的,看起来也不太美观
于是这里介绍switch专门解决选择问题:
int i=3;
switch(i){
case 0:
//语句
break;
case 1:
//语句
break;
...
default:
//语句
}
通过判断i与哪个case相等,执行一系列语句然后通过beak退出(如果没有break,代码会接着执行下去),如果没有匹配项,就执行default