java循环语句

while循环

  • while循环,当条件满足时执行循环内的内容
java 复制代码
//while的用法  
while(控制循环的表达式){  
 //只要控制表达式为true,就会不断执行这里的代码  
}  
  
//死循环  
while(true){  
}  

do while循环

  • do while 先执行do语句代码块内的内容,再根据while中的条件是否满足,决定是否再次执行do语句后的代码块
java 复制代码
//do while的用法  
do{  
 //只要控制表达式为true,就会不断执行这里的代码  
}while(控制表达式);

do while和while的区别

  • while需要先判断表达式是否成立,只有成立才会执行循环体里面的代码
  • do while,无论如何都会先做一次循环,做完一次循环之后再去判断条件是否成立

for循环

  1. 初始化操作:设定一个变量,类似于是一个计数器,用来控制循环是否要继续,或者是退出;

    • int number = 1;
    • 一般控制循环的变量,不会在循环体外面使用,所以多数时候都在for里面定义。
  2. 循环的条件:和while类似,只有条件满足的时候才会进入循环体,不满足的时候直接跳出循环;

  3. 步进(每一步都会执行的动作):每一轮循环后,都会执行这里的动作,一般情况都在这里控制循环的变量,多数时候加减。

java 复制代码
//number开始的时候等于1,当它<=100的时候,进入到循环体,每次循环执行完毕,执行加1  
for (int number = 1; number <= 100; number = number + 1) {  
 System.out.println(number);  
}  
  
for(初始化操作;进入循环的条件;每一次循环都会执行的动作){  
 //循环体  
}  
  
//for里面的表达式可以被省略  
for (; ;){}  
  
for可以不写大括号,但是不建议  
for(; ;) 语句;

foreach语句

  • 语法
java 复制代码
for(变量类型 变量名: 迭代对象){
		操作,如:
		System.out.println(变量名);
}
  • 使用例子
java 复制代码
ArrayList<String> student = new ArrayList<>();    
student.add("小孙");  
student.add("小王");  
student.add("小李");
//使用foreach进行迭代
for(String str : student){  
   System.out.println(str);  
}//意思是说将student对象中的内容一个一个的拿出给String变量str保存
  • 对于不可迭代的对象会隐式的将参数列表第二个元素转换为可迭代对象,类似于Iterator类中的iterator()方法
java 复制代码
HashSet<String> set = new HashSet<>();  
set.add("老孙");  
set.add("老王");  
set.add("老孙");

for(String str : set){  
   System.out.println(str);  
}
//相当于
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()){  
   String next = iterator.next();  
   System.out.println(next);  
}

如何选择

  • 知道固定的循环次数,用for;
  • 不知道循环次数,但是知道循环终止的条件,用while;
  • 必须执行一次循环体,do while,哪怕第一次循环判断是false;

break和continue语句

  • break执行会终止本次循环
  • continue会终止本次循环,然后直接执行下次循环
java 复制代码
//break
if(true){  
 //可以终止当前的for、while、do while循环,并且不再执行后续的循环  
 break;  
}
//continue
if(true){  
 ////可以终止本次的for、while、do while循环,并且直接开始下一次的循环  
 continue;  
}
  • 我们可以给某个循环取名字来实现在跳出多个循环
java 复制代码
STOP:  
for(初始化操作;循环的条件;每一步都会执行的动作){  
 //循环体  
 for(初始化操作;循环的条件;每一步都会执行的动作){  
  if(true){  
  //可以控制最外层的循环  
  break STOP;  //这里会直接跳出外层循环,因为前面的代码给外层循环取名为STOP
  }  
 }  
}
相关推荐
Oneslide2 小时前
kubectl Patch Deployment的volume和volumeMounts
后端
凌览2 小时前
充值成功,腾讯成为OpenClaw官方赞肋商
前端·javascript·后端
J2虾虾3 小时前
SpringBoot 中给 @Autowired 搭配 @Lazy
java·spring boot·后端
Bright Data3 小时前
Pinterest 数据集示例
后端·python·flask
小江的记录本3 小时前
【HTTP】HTTP请求方法与状态码(全体系知识总结+附表格)
前端·网络·后端·网络协议·http·状态模式·web
掘金者阿豪4 小时前
小爱音箱秒变智能搭子!MiGPT GUI+cpolar,远程操控超省心
后端
Java编程爱好者4 小时前
Java面试高频场景题:在工作中或者一些组件源码里面或多或少会用到锁,你能整理概括下锁的分类么?
后端
sheji34164 小时前
【开题答辩全过程】以 基于springboot的健身预约系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
文心快码BaiduComate4 小时前
Comate 3月全新升级:全新Plan模式、Explore Subagent深度检索能力增强
前端·后端·程序员