Java 杂谈

Java 循环语句精讲

2018-12-31  本文已影响1人  TryEnough

原文链接


Java 循环语句


你将学到

1、Java循环体的用法

2、循环退出语句 continue、 break、 return

3、常见的循环体的“坑”

4、如何选择循环体

正文

1、Java循环的用法

//传统语法
for(初始化; 布尔表达式; 更新) {
    //代码语句
}

//增强语法,For-Each循环
for(declaration : expression)
{
   //Statements
}
while( 布尔表达式 ) {
  //循环内容
}

do {
       //代码语句
}while(布尔表达式);

例子:遍历数组


int[] data = {1, 2, 3, 4, 5};

//for 循环
for(int i = 0; i < 5; i++ ){
    System.out.println( data[i] );
}
        
//for-each 循环
for(int t : data){
    System.out.println(t);
}

//while 循环
int x = 0
while( x < 4 ) {
    System.out.print("value of x : " + data[x] );
    x++;
    System.out.print("\n");
}

//do...while 循环
int x = 0;
do{
    System.out.print("value of x : " + data[x] );
    x++;
    System.out.print("\n");
}while( x < 20 );

//迭代器循环
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
for (Iterator itr = stringList.iterator(); itr.hasNext();) {
    Object str = itr.next();
    System.out.println(str);
}

无限循环

for(;;){  
    //code to be executed  
}

for(true){  
    //code to be executed  
}

2、循环退出语句 continue、 break、 return

[ ] Break 终止当前循环;

[ ] Continue 结束本次循环,进入下一次循环;

[ ] return 结束程序,返回结果;

3、常见的循环体的“坑”

//会抛出ConcurrentModificationException异常的代码
for (Student stu : students) {    
   if (stu.getId() == 2)     
       students.remove(stu);    
}


//正确的在遍历的同时删除元素的姿势:
Iterator<Student> stuIter = students.iterator();    
while (stuIter.hasNext()) {    
   Student student = stuIter.next();    
   if (student.getId() == 2)    
       stuIter.remove();//这里要使用Iterator的remove方法移除当前对象,如果使用List的remove方法,则同样会出现ConcurrentModificationException    
}

4、如何选择循环体

上一篇下一篇

猜你喜欢

热点阅读