流程控制语句
流程控制语句包括条件语句,循环语句,以及循环控制语句
1、条件语句
1.1、if 条件语句
if 条件语句有三种格式
if 格式:
if (布尔表达式){
语句
}
当布尔表达式为真时执行语句。
if ··· else 格式:
if (布尔表达式){
语句1
}
else{
语句2
}
当布尔表达式为真时,执行语句1,否则执行语句2。该语句可内嵌其他语句
该种表达式可以用 (布尔表达式)? 值1 : 值2 代替
举个栗子
public class HelloBasicdata {
public static void main(String[] args) {
float x = 4.14f;
float y;
if (x > 3)
if (x < 4)
y = x; //y等于x大于3小于4
else
y = x + 1;
else
y = x - 1;
System.out.println(y);
float z = x>3?x<4? x:x+1:x-1; //该式与上面嵌套的if···else语句作用一致
System.out.println("z的值"+z);
}
}
if ··· else if ··· 格式:
if (布尔表达式1){
语句1
}
else if (布尔表达式2){
语句2
}
语句可解释为:当满足 布尔表达式1 为真时,执行 语句1,当 布尔表达式1 为假,布尔表达式2 为真时,执行语句2。该语句可继续循环写下去。
所表达的格式当中当只有一条语句的时候,可以省略 { } ,下面的语句类似 。
举个栗子
int x = 4;
if (x == 4) //这样是允许的,但当程序复杂时,会降低代码可读性
System.out.println(x);
else
System.out.println("x 不等于 4 ");
1.2、switch多分支语句
switch多分支语句常用来表达当某一变量符合某一具体情况时,程序该作何处理。它的格式是
switch ( 变量 ){
case 常量 : 语句1; break;
case 常量 : 语句2; break;
……
default : 语句n; break;
}
常量可以是 整型数字,字符 以及 字符串(需要JDK1.7以上) 。default是默认情况,即当变量都不满足case的所有情况时,执行default语句。break语句都是可写可不写,但是当变量符合某一常量时,它会执行后面的所有语句,直至遇见break或者执行完default语句
例如
int x = 2;
switch ( x ){
case 1 : x++;
case 2 : x++;
case 3 : x++;
default : x=x+4 ; break;
}
上述代码中,最后输出结果为 8 。当满足case 2 后,会执行case 2和case 3 的语句x++,然后执行 default的语句 x=x+4 。最后x的结果为8 。
2、循环语句
循环语句包括 while,do····while,和 for 三种主要的循环格式。
2.1、while和do····while循环语句
while循环的格式是
while ( 布尔表达式 ){
语句块;
}
do····while循环的格式是
do{
语句块;
}while ( 布尔表达式 );
当布尔表达式为真时,语句块会循环执行,直到布尔表达式为假。两者都为循环语句,但有些许区别,while循环是当布尔表达式为真时,才开始执行语句块,而do····while循环则是执行一次语句块后再判断布尔表达式是否为真。
2.2、for循环语句
for循环语句的格式如下
for ( 初始化变量表达式 ; 布尔表达式 ; 表达式1){ //表达式1是循环后表达式,负责修整变量,改变循环条件
语句块;
}
for语句中的表达式都可以省略,如 for( ; ; ) 。可在恰当的地方补上相应的表达式来得到相同的结果。
foreach语句, for循环的简化版本,并不是一个关键字。主要为遍历某一对象提供方便,如数组等。
for(元素变量x : 遍历对象obj){
语句块;
}
例如 访问某一数组中的变量
public class HelloBasicdata {
public static void main(String[] args) {
int x[] = {1,2,3};
for(int y : x) { //遍历数组x,输出其元素
System.out.println(y);
}
}
}
2.3、循环控制语句
循环控制语句主要有 break 和 continue 语句。
在java中,break 和 continue后都可以接标签(标签常通过自定义变量加 : 表示,如 mark: )来实现跳过外部循环。break mark; 和 continue mark; 表示 中断 或者 跳过 某一循环 格式如下
break mark;
continue mark;
举个代码例子
public class HelloBasicdata {
public static void main(String[] args) {
loop:for(int y = 1;y<3;y++) { //进行两轮循环
System.out.println("即将进行一轮输出\n");
for(int x =2;x<9;x++) {
if(y==1 && x==4) {
System.out.println("跳过x=4\n"); //第一轮跳过输出x=4
continue;
}
if (y==1 && x==7) {
System.out.println("直接进行第二轮循环\n");
continue loop;
}
if (y==2 && x==5) { //第二轮中断5及以后的输出
break loop;
}
System.out.println(x+"\n");
}
}
}
}
在使用循环控制语句之后输出2~8之后的结果
总结,Java中的流程控制语句与C语言基本相同,只是有些地方存在细微差别。
各位看官,如果有发现任何错误,望不吝赐教。点个赞吧!
作者: 细雨熏风
转载请标明原出处哦