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
  }  
 }  
}
相关推荐
青木9602 分钟前
前后端开发调试运行技巧
linux·服务器·前端·后端·npm·uv
浮尘笔记12 分钟前
在Snowy后台无需编码实现自动化生成CRUD操作流程
java·开发语言·经验分享·spring boot·后端·程序人生·mybatis
希望永不加班21 分钟前
SpringBoot 接口签名验证(AppKey/Secret)
java·spring boot·后端·spring
ConardLi38 分钟前
开源我的 GPT-Image2 生图 Skill,附大量玩法指南
前端·人工智能·后端
fengxin_rou43 分钟前
RabbitMQ安装教程:windows本地安装和docker部署
java·分布式·后端·rabbitmq
哔哩哔哩技术44 分钟前
GPU隔离技术的分析与改进
后端
a8a3021 小时前
Laravel7.x核心特性全解析
java·spring boot·后端
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题】【Java基础篇】第19题:HashMap的key如何减少发生哈希冲突
java·开发语言·后端·面试·哈希算法·hash-index·hash
aLTttY1 小时前
Spring Boot集成AI大模型实战:从0到1打造智能应用
人工智能·spring boot·后端
Gopher_HBo1 小时前
Disruptor源码
后端