Java基础之循环

1、switch语句

语句格式:

String season = "spring";
switch(season){
	case "spring":
	   	System.out.println("Now is spring");
	 	break;
	case "summer":
	   	System.out.println("Now is summer");
	 	break;
	case "autumn":
	  	System.out.println("Now is autumn");
	  	break;
	case "winter":
	  	System.out.println("Now is winter");
	 	break;
	default:
		System.out.println("Season is unknown");
		break;
}

switch语句就是根据switch里变量的值来匹配下面case中的变量的值,匹配成功,执行该case中的内容,如果没有与之相匹配的case,则执行default里的内容,每个case的最后处必须加上break,不然,匹配到相对应的case的时候,不会退出,还会将下面的所有的case全部执行一遍。

(PS:switch语句里的变量可以是byte、short、int、char、string,其中的string类型在JDK1.7版本以前是用不了的。)

2、循环四要素:

    ①初始化表达式

    ②布尔值测试表达式

    ③循环体

    ④更改表达式

for循环:

for(①;②;④){
③
}

上面for循环执行的顺序为①->②->③->④->②

while循环:

①
while(②){
③
④
}

do-while循环:

①
do{
③
④
}while(②);

3、foreach

foreach是在JDK1.5之后,Java为我们提供的增强的for循环

写法如下:

for(数组类型 变量 : 要循环的数组名) {
    ...使用变量...
}

这样写虽然写法非常的简单,但是我们也无法获得要循环的数组的下标值。

4、Java8中的foreach循环

List<String> list = new ArrayList<String>();
list.forEach(System.out::println);

或者

List<String> list = new ArrayList<String>();
list.forEach(x -> {
	System.out.println(x);
});

上面涉及到Java8的新特性-----Lambda表达式,这个会在以后的博客中讲到,今天就一带而过。

5、break

    跳出当前循环一般常用的是break。它的作用是终止当前的循环,并进行程序的下一个进程。如果break语句包含在多层嵌套的循环中,它只能跳出最内层的循环。

for (int i = 0; i < 10; i++) {
	if (i == 5) {
		break;
	}
	System.out.print(i + " ");
}

运行结果为:

 

for (int i = 0; i < 5; i++) {
	for (int j = 0; j < 5; j++) {
		if (j == 3) {
			break;
		}
		System.out.print("j:" + j + " ");
	}
	System.out.print("i:" + i + " ");
}

运行结果为:

 由上图例子可见,break只能退出一层循环。

如果想用break跳出多层循环的话,可以使用标志位。

exitFlag:
for (int i = 0; i < 5; i++) {
	for (int j = 0; j < 5; j++) {
		if (j == 3) {
			break exitFlag;
		}
		System.out.print("j:" + j + " ");
	}
	System.out.print("i:" + i + " ");
}

上图的exitFlag就是标志位,该变量名可以随意命名。

运行结果为:

 6、continue

当程序跑到这一语句的时候,将不再执行本次循环剩余的内容,而是直接进行下一个循环。

for (int i = 0; i < 10; i++) {
	if (i == 5) {
		continue;
	}
	System.out.print(i + " ");
}

运行结果为:

由上图可见,当i==5的时候,下面的输出语句便不再执行。 

7、不要在foreach循环内进行元素的add/remove操作

    remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。

    使用示例:

List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
Iterator iterator = list.iterator();
while(iterator.hasNext()) {
    String item = iterator.next();
    if(删除元素的条件) {
        iterator.remove();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值