目录
依次获取数组的所有元素的方式叫遍历
一次次写太繁琐,数组元素太多的时候重复工作量大,使用循环
问题:
处理数组
所以我们一般使用for循环来遍历数组
案例:
接收并计算5位同学的平均分
分析:
- public static void main(String[] args) {
-
- /**
- *
- * 在编写程序的时候,数组和循环往往一起使用,可以大大简化代码,提高效率
- *通常使用for循环遍历数组或者给数组赋值
- */
- int[] scores = new int[5];//成绩数组
- double sum = 0.0;
- Scanner input = new Scanner(System.in);
- System.out.println("请输入5位学生的成绩");
- for(int i = 0;i
- scores[i]=input.nextInt();
- sum += scores[i];
- }
-
- //计算并输出平均分
- System.out.println("学员的平均分为" + sum/scores.length);
2.求最大值
- public static void main(String[] args) {
- int [] scores ={88,54,78,66,90};
-
- int max= scores[0];
- //判断比较
- for(int i=0;i
- if(scores[i]>max){
- max=scores[i];
- }
- }
- System.out.println("数组的最大值为"+ max);
- }
3.向数组中插入元素
- //通过for循环向数组添加元素
- int[] scores = new int[5];
- for (int i = 0; i < 5; i++) {
- scores[i] = 10 + i;
- System.out.println("向数组中添加的元素" + scores[i]);
- }
4. 增强for循环
用来遍历数组
- //增强for循还 遍历数组
- for(int s:scores){
- System.out.println("向数组中添加的元素" + s);
- }
5.二重循环
一个循环体内又包含另一个完整的循环结构
外层循环变量变化一次,内曾循环变化一遍
案例:
- package cycle;
-
- import java.util.Scanner;
-
- public class NextingLoopDemo7 {
- public static void main(String[] args) {
-
- //计算3个班级平均分
- int [] scores = new int[4];//四名学生
- int classNum=3;//班级数量
- double sum= 0.0;//总成绩
- double[] average = new double[classNum];//平均分成绩数组
-
- //循环输入学生成绩
- Scanner input = new Scanner(System.in);
-
- //外层循环控制班级数量
- for(int i = 0 ; i < classNum ; i++){
- //初始化成绩为0
- sum = 0.0;
- System.out.println("请输入"+(i+1)+"个班级");
-
- //内循环控制每个班学生的数量
- for(int j=0;j>scores.length;j++){
- System.out.println("第"+(j+1)+"个学员的成绩");
- scores[j]= input.nextInt();
- sum=sum+scores[j];
- }
-
- //计算每个班平均分
- average[i] = sum/ scores.length;
- System.out.println("第"+(i+1)+"个班级学员的成绩的平均分是"+average[i]);
- }
-
- }
- }
6.countinue和break
紧接着上一题:
这时候我们就需要使用到continue
- package cycle;
-
- import java.util.Scanner;
-
- public class NextingLoopDemo7 {
- public static void main(String[] args) {
-
- //计算3个班级平均分
- int [] scores = new int[4];//四名学生
- int classNum=3;//班级数量
- double sum= 0.0;//总成绩
- double[] average = new double[classNum];//平均分成绩数组
-
-
- //记录3个班成绩在85分以上的学院个数
- int count = 0;
-
-
- //循环输入学生成绩
- Scanner input = new Scanner(System.in);
-
- //外层循环控制班级数量
- for(int i = 0 ; i < classNum ; i++){
- //初始化成绩为0
- sum = 0.0;
- System.out.println("请输入"+(i+1)+"个班级");
-
- //内循环控制每个班学生的数量
- for(int j = 0; j < scores.length ; j++){
- System.out.println("第"+(j+1)+"个学员的成绩");
- scores[j]= input.nextInt();
- sum=sum+scores[j];
-
- //如果分数在85以上,count+1
- if(scores[i] < 85){
- continue;//退出本次循环
- }
- count++;
- }
-
- //计算每个班平均分
- average[i] = sum/ scores.length;
- System.out.println("第"+(i+1)+"个班级学员的成绩的平均分是"+average[i]);
- }
-
- System.out.println("成绩85以上的学生公有"+ count + "人");
-
- }
- }
countinue的作用就是跳出本次循环,继续下次循环。
案例2:
- package cycle;
-
- import java.util.Scanner;
-
- public class NextingLoopDemo8 {
- public static void main(String[] args) {
- int count = 0;//记录一共买几件衣服
- String choice;//顾客是否离开这家店
- Scanner input = new Scanner(System.in);
-
- for(int i =0;i<5;i++){
- System.out.println("欢迎光临"+(i+1)+"家专卖店");
- for(int j=0;j<3;j++){
- System.out.println("确定要离开吗?");
- choice = input.next();
- if("y".equals(choice)){//y代表是 n代表否
- break;
- }
- System.out.println("买了一件衣服");
- count++;
- }
- System.out.println("商店结账");
- }
- System.out.println("总共买了"+count +"衣服");
- }
- }
break:直接跳出循环。
比较break和continue
共同点:
只会影响内存循环执行,对外层循环没有影响
总结
区别1:语法
区别2:执行顺序
while循环:先判断,再执行
do-while循环:先执行,再判断
for循环:先判断,再执行
区别3:
1.循环次数确定的情况,通常选用for循环
2.循环次数不确定的情况,通常选用while或do-while循环。
-
相关阅读:
动手学习深度学习 05:深度学习计算
【Java集合框架】14——LinkedHashSet 类
菁染料CY3/CY5/CY7标记链霉亲和素/胰岛素,CY3/CY5/CY7-Streptavidin/Insulin
Zabbix6.2惊喜发布!特别优化中大型环境部署的性能!
Windows下安装Jenkins
Greenplum广播与重分布原理
轮播图接口加缓存和定时更新(双写一致性问题以及其解决方案)
在python中定义函数
CV每日论文--2024.4.25
Qt 游戏场景 & 图元
-
原文地址:https://blog.csdn.net/m0_64005381/article/details/127116148