一、Java语句
以”;”作分隔符,编译后产生机器指令
Java语句分类:
1.表达式语句:表达式加分号构成
例:total=total+limit;
a=3;
表达式:由算法、操作数和运算符组成的就是表达式,可以没有运算符(由变量和运算符组成的一个算式)
2.空语句
例: ;
3.复合语句:用{}括起来的一组语句
一般形式:{ [数据说明部分;]
执行语句部分;
}
说明:“}”后不加分号,复合语句定义的变量在复合语句外不能使用
语法上和单一语句相同
可以嵌套
4.流程控制语句
顺序语句
分支语句
循环语句
二、if语句
if语句注意问题:
(1)if关键字之后“()”里的表达式必须是布尔类型的表达式
(2)如果要想在满足条件时执行一组(多条)语句,则必须把这一组语句用{}括起来组成一个复合语句,但是注意的是在}之后不能再加分号
if-else配对原则:
如果缺省{},else语句总是与它前面的最近的未配对的if配对,加了{}就可以正确配对
if-else语句在执行的时候一定会执行其中一条语句
if语句可以单独出现,else语句不能单独出现
三、switch语句
一般形式:
switch(表达式)
{
case常量表达式1:
语句1
break;
…………
case常量表达式n:
语句n
break;
default:
语句n+1
}
switch后面的小括号里面的表达式和case后面的常量表达式相等,且必须是整型和字符型
说明:
1.switch后只能是(char、byte、int、short和jdk1.8之后的String类型)(如果有六个空还可以答枚举类型)
2.E1,E2,……,En是常量表达式,且值必须互不相同
3.可以多个case可共用一组执行语句(没有break的话默认全部执行)
4.case后可包含多条语句,且不必加{}
5.语句标号作用,通常用break跳出
6.可嵌套
注:当所有的case语句都不执行的时候,执行default语句
四、while语句
一般形式:
while(表达式)
语句
其中表达式为循环条件,语句为循环体
特点:先判断表达式,后执行循环体语句
说明:
1.循环体如包括多条语句,需用{}括起来;如不加{},则while语句只执行紧跟它后面的一条语句
2.循环体中应该有使循环趋于结束的语句,否则将造成死循环
3.循环体有可能一次也不执行
4.下列情况,退出while循环
条件表达式不成立
循环体内遇break、return
5.无限循环:又叫死循环
while(true)
循环体语句或语句块
编译器直接知道这是死循环所以后面不能写代码,因为永远执行不到
五、do-while语句
一般形式:
do
循环体语句
while(表达式);
特点:先执行循环体,后判断表达式(因为先执行循环体,后判断表达式,所以循环体语句至少执行一次)
说明:
1.至少执行一次循环体
2.do-while可转化成while结构
六、for语句
一般形式:
for(表达式1;表达式2;表达式3){
循环体语句块4
}
说明:
1.使用最为灵活
2.完全可以取代while语句
3. 1,2,4,3
2,4,3
2,4,3
…………
4.表达式1只执行一次
(1)先执行“表达式1”,只在初始化时执行一次
(2)再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环
(3)执行完循环体后,再执行“表达式3”
(4)重复执行步骤2和3,直到“表达式2”的值为假,就结束循环
for循环要执行多条语句的时候,需要使用大括号括起来
使用方法:
1.for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是可选项,可以缺省,但“;”不能缺省
2.省略了“表达式1(循环变量赋初值)”,表示不对循环控制变量赋初值
3.省略了“表达式2(循环条件)”,则不做其他处理时便成为死循环
七、三种循环语句的比较
1.三种循环都可以用来处理同一问题,一般情况下可以相互取代
2.while和do…while循环,只在while后面指定循环条件,在循环体中应包含时循环趋于结束的语句
3.while和do…while语句控制循环的变量应该在进入循环语句之前初始化,而for语句一般在表达式1中进行初始化,当然也可以在进入循环语句之前初始化
八、for-each语句
一般形式:
for(表达式1:表达式2)
语句块3
说明:
1.表达式2为集合变量(数组、List…)
2.表达式1为表达式2中元素同类型的局部变量
3.特殊的for循环,不需要知道集合中的总数
循环的嵌套:
1.三种循环可互相嵌套
2.外层循环可包含两个以上内循环,但不能相互交叉
注:如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面
九、break和continue的比较
在switch条件语句和循环语句中都可以使用break语句,当它出现在switch条件语句中,作用是终止某个case并跳出switch结构,当它出现在循环语句中,作用是跳出循环语句,执行循环后的代码
continue语句用在循环语句中,它的作用是终止本次循环
break跳出本层循环,可以结束
continue跳出本次循环
break只能结束离它最近的循环
如果if-else在循环体中就可以使用,break语句和continue语句跳出整体循环和继续下一轮循环
如果if-else不在循环体中,则不能使用break,continue,但是又想不继续执行下去的话,可以使用return结束