java基础->循环
2024-10-12 11:38:21
while循环
- 格式:
while(条件表达式) { // 条件表达式其实就是一个结果为boolean类型的代码
循环体;
}
- 执行流程: 先判断条件表达式的值, 如果为true就执行循环体,执行完循环体后会再次判断条件表达式的值,直到条件表达式的值为false, while循环结束
do-while循环
- 格式:
do{
循环体;
}while(条件表达式);
- 执行流程: 先执行一次循环体, 再判断条件表达式的值,如果为true就再执行循环体,直到条件表达式的值为false, do-while循环结束
for循环
格式:
- for(开始条件①;判断条件②;循环的变化方式③) {
循环体④;
}
- 执行流程: 先执行开始条件, 然后执行判断条件, 如果为true就走循环体, 循环体执行结束后,走循环的变化方式, 再执行判断条件, 如果为true再走循环体, 直到判断条件的结果为false,那么循环结束.
注意:如果第一次执行判断条件结果为false那么循环直接结束,不会执行循环体- ① -> ② -> ④ -> ③ -> ② -> ④ -> ③ -> ② -> ④ -> ③ (直到②为false循环结束)
注意:如果知道循环次数,使用for循环,如果不明确循环次数使用while循环
- // 打印1 ~ n 之间的所有整数
// 打印1 ~ n 之间所有整数的和
// 打印1 ~ n 之间所有奇数的和 public class Print { /** * 此方法用于打印1 ~ n 之间的所有整数 * * @param n */ public void print1_n(int n) { for(int i = 1; i <= n; i++) { System.out.println(i); } } /** * 打印1 ~ n 之间所有整数的和 * @param n */ public void printSum1_n(int n) { // 定义一个和 求和思想 int sum = 0; for(int i = 1; i <= n; i++) { sum += i; // sum = sum + i; } System.out.println(sum); } /** * 打印1 ~ n 之间所有奇数的和 * @param n */ public void printJiSum(int n) { int sum = 0; // 获取1 ~ n 之间的每一个数 for(int i = 1; i <= n; i++) { // 判断,如果是奇数就相加,偶数不管了~ if(i % 2 == 1) { sum += i; } } System.out.println(sum); } }
增强for循环
遍历的含义: 获取容器中的每一个元素
格式:
for(要遍历的容器中元素的数据类型 变量名 : 要遍历的容器) {
使用变量;
}
- 作用: 遍历容器(数组或者单列集合)
- 快捷键: 在要遍历的容器的下方输入fore 按 alt + / 回车
死循环
for(;;) {
}
// while循环的死循环
while(true) {
}
break和continue
- break: 跳出(结束)循环
- continue: 结束本次循环,进行下一次循环
for循环嵌套
数组,ArrayList,HashMap和字符串的遍历
遍历数组
public class Test1_遍历数组 { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; // 普通for循环 for(int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } // 增强for循环 for (int i : arr) { System.out.println(i); } } }
遍历ArrayList集合
public class Test2_遍历单列集合 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("张三"); list.add("李四"); list.add("王五"); list.add("赵六"); // 普通for循环 for(int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } // 增强for循环 for (String string : list) { System.out.println(string); } } }
遍历Map集合
public class Test3_遍历双列集合 { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); map.put("张三", 23); map.put("李四", 24); map.put("赵六", 26); map.put("周琦", 27); // keySet(): 获取到双列集合中所有键的集合 for(String key : map.keySet()) { System.out.println(key + "=" + map.get(key)); } } }
遍历字符串
public class Test4_遍历字符串 { public static void main(String[] args) { String s = "abcdefg"; // charAt(index): 获取指定角标位置的字符 for(int i = 0; i < s.length(); i++) { System.out.println(s.charAt(i) + ""); } // toCharArray() : 将字符串转换成字符数组 char[] chs = s.toCharArray(); for (char c : chs) { System.out.println(c + ""); } } }
break 关键字
结束当前循环
continue关键字
跳过本次循环,执行下一次循环
continue 在循环中其促进作用
最新文章
- Django框架
- Form Builder的三种查询方法构建
- jsp添加背景音乐
- [译]通过IIS Request Filtering解决SQL Server CPU高的问题
- MyEclipse8.5启动无法选择工作空间的问题
- PLSQL_查询SQL的执行次数和频率(案例)
- 美丽渐变色的Form
- Java线程池--ThreadPoolExecutor
- jqzoom基于jQuery的图片放大镜
- [Cocos2d-x]CCSpriteFrameCache的使用
- [原]使用MachOView辅助破解AppStore应用
- 经典.net面试题目(1)
- Python beautifulsoup 中文乱码
- JavaScript字符串转换成数字的三种方法
- Jenkins pipeline:pipeline 语法详解
- css3图形绘制
- 转---如何让前端更安全?——XSS攻击和防御详解
- Android调用系统的发邮件功能
- 2015.7.8js-05(简单日历)
- cartographer安装--Ubuntu14.04--indigo
热门文章
- Python 串口通信操作
- lunx命令2
- 十大经典排序算法的JS版
- ArcGIS jsAPI (4.x)本地部署字体符号乱码
- javascript设计模式——装饰者模式
- UML总结复习指南
- java 线程 捕获异常
- web项目启动流程探索
- (sqlite3.OperationalError) no such table: users [SQL: &#39;SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.role_id AS users_role_id, users.password_hash A
- Mybatis中模糊查询的各种写法(转)