Java学习之流程控制

流程控制语句

流程控制语句包括条件语句循环语句,以及循环控制语句

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、循环语句

循环语句包括 whiledo····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、循环控制语句

循环控制语句主要有 breakcontinue 语句。
在java中,breakcontinue后都可以接标签(标签常通过自定义变量加 : 表示,如 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语言基本相同,只是有些地方存在细微差别。

各位看官,如果有发现任何错误,望不吝赐教。点个赞吧!
在这里插入图片描述





作者: 细雨熏风
转载请标明原出处哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值