笔试题有的时候遇到流程控制、循环这种题,经常粗心做错了,今天自己打算整理一下,重新复习一下。
流程控制
(1)if 语句
语法格式:
if(布尔表达式){
执行语句
}
(2)if…else 语句
语法格式:
if(布尔表达式){
判断为true执行语句
}else{
判断为false执行语句
}
(3)if…else if…else 语句
语法格式:
if(布尔表达式){
判断为true执行语句
}else if(布尔表达式){
if判断false后,二次判断为true执行语句
}else{
二次判断都false后执行语句
}
(4)嵌套的if else语句-------就是if else中再嵌套一次if else,不多说
(5)switch语句
语法格式:
switch(表达式){
case 常量表达式1 : 执行语句;
break;
case 常量表达式2 : 执行语句;
break;
default: break;
}
变量类型支持:short、byte、int、char,在JDK1.7版本后支持String类型
循环语句
(1)while循环
语法格式:
while(布尔表达式){
循环语句
};
当布尔表达式中的值为true时,循环体会一直执行下去,所以循环体内必须定义结束循环的语句。
(2)do…while循环
语法格式:
do{
循环语句
}while(布尔表达式);
循环至少执行一次,当布尔表达式为true,会再次执行循环体,不满足后退出
(3)for循环
语法格式:
for(初始化;布尔表达式;更新) {
循环体
};
进入for循环后初始化变量,然后判断布尔表达式,不满足则结束循环,满足后执行循环体,接着对变量更新,直到布尔表达式不满足,最后退出for循环。
(4)加强for循环
语法格式:
for(数据类型 变量名:集合collection或数组){
执行语句
};
数据类型必须和遍历的集合或数组元素一致,加强for循环的缺点是没有下标,无法对特定的元素进行修改操作,对集合或数组元素的操作都是一致的,一般多用于遍历查询。
两个关键字
(1)break关键字
break主要应用于循环语句和switch语句中,用来跳出整个循环或switch语句块;当出现嵌套循环时,break只能跳出最里层循环,如果需要跳出多层循环,需要在循环外添加一个标识符,以break 标识符这样来跳出多层循环。
跳出单层循环:
public static void main(String[] args) {
int [] a = {1,2,3,4};
for (int i = 0; i < a.length; i++) {
if(i==2) {
break;
}else {
System.out.print(a[i]);
}
}
}
输出:12
跳出嵌套循环:
public static void main(String[] args) {
out:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if(j>=2) {
System.out.println("退出内层循环");
break out;
}
System.out.println(j);
}
System.out.println("外层循环");
}
}
输出:
0
1
退出内层循环
(2)continue关键字
continue可用于任何循环控制语句中,会使得程序结束本次循环,跳转到下次循环。
public static void main(String[] args) {
int [] a = {1,2,3,4};
for (int i = 0; i < a.length; i++) {
if(i==2) {
continue;
}else {
System.out.print(a[i]);
}
}
}
输出:124