8、循环的例子+数组
一、回顾
1、双重循环一般用的是for循环;for循环更加好控制,代码看起来更加明晰
二、
1、break:跳出循环;结束整个循环。
continue:也是跳出循环;结束本次循环,进入下一次循环。
/** * 例子1:循环录入5名学生成绩,统计成绩大于80分的学生比例 */ // int sum = 0; // Scanner s = new Scanner(System.in); // for(int i=0;i<5;i++) { // System.out.println("请输入第"+(i+1)+"个学生的成绩:"); //// if(s.nextFloat()>80) {/正向思考 ////// sum += 1; //// sum++; //// } // // if(s.nextFloat()<80) {//反向思考 // continue; // } // sum++; // } // // System.out.println("成绩大于80分的学生比例为:"+(sum/5F)); //
/** * 例子2:求出1-10之间的偶数和 */ // int sum = 0; //// for(int i=2;i<10;i+=2) {//循环上去限制是偶数 //// sum += i; //// } //// for(int i=0;i<10;i++) { //// if(i%2==0) { //// sum += i; //// } //// } // for(int i=0;i<10;i++) { // if(i%2!=0) { // continue; // } // sum += i; // } // System.out.println(sum);
例子1:循环录入5名学生成绩,统计成绩大于80分的学生比例
整数相除,需要把其中一个数转化为小数(float或者double)
例子2:求出1-10之间的偶数和
任何一个continue都可以反向思考。也可以正向思考,不使用break
三、开发工具的小技巧
1*断点调试:
(breakpoint)debug模式开始执行
[2]快捷键(F5)单步执行程序,遇到方法时进入。
[3]快捷键(F6)单步执行程序,遇到方法时跳过。
##[4]快捷键(F7)单步执行程序,从当前方法跳出。(可忽略)
[1]快捷键(F8)直接执行程序,直到下一个断点处停止。
2*s.close();//用完了可以关闭;但也可以使用垃圾回收机制
3*没有使用的变量会有红线,报警告。但是无所谓,只是说代码写的不严谨,有变量或者东西没有使用
4*移除所有断点:run-remove all breakpoints
四、数组
1、定义:存储相同数据类型的变量
2、普通变量 VS数组
声明一个普通变量就是在内存中划出一块合适的空间来存储
声明一个数组就是在内存中划出一串合适的空间来存储
3、数组的四个基本要素
1》标识符 :数组名称(变量名)
2》数组元素:数组中存储的数据
3》元素下标:序号/数据的编号(从0开始,逐一递增)
4》元素类型:数组中保存的数据的数据类型
4、 数组中必须是相同的数据类型;
任意的数据类型都可以存储到数组中;
数组长度一旦确定就不能改变了
5、如何使用数组
1》声明数组 数据类型[] 数组名; int[] array;数据类型 数组名[]; int array[]
2》分配内存空间 指定数组内部独立空间的个数;指定数组的长度
数组名 = new 数组类型[长度]; array = new int[5];
3》赋值:给数组内部添加元素
数组名[下标] = 数值; array[1] = 5;
6、也可以边声明边赋值
int[] array = {1,2,3,4,5};//不能分两行写的
int[] array = new int[] {1,2,3,4,5};//可分成两行写
7、记录特有名词
array:数组 index:下标
8、常见的错误:数组下标越界
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at com.dhr.cn.Test4.main(Test4.java:82)
声明时没有设置数组的长度
//数组 /** * 例子1 */ //创建一个int类型的数组,保存1,2,3,4 // //1、声明数组 // int[] array ; // //2、分配内存空间 // array = new int[5]; // //3、赋值 //// array[0] = 1; //// array[1] = 2; //// array[2] = 3; //// array[3] = 4; //// array[4] = 5; // //遍历数组 // for(int i=0;i<array.length;i++) {//数组的属性length // array[i] = i+1; // } //4、使用数组,把数组中的数据+1,再打印 // System.out.println(array[0] + 1); // System.out.println(array[1] + 1); // System.out.println(array[2] + 1); // System.out.println(array[3] + 1); // System.out.println(array[4] + 1); //遍历数组 // for(int i=0;i<array.length;i++) {//数组的属性length // System.out.println(array[i] + 1); // } /** * 例子2:边声明边赋值 */ // int[] array = {1,2,3,4,5}; // //边声明边赋值 // int[] array = new int[] {1,2,3,4,5}; // array[7] = 2; /** * 例子3:创建并使用数组的方式 */ // int[] array ; // array = new int[6]; // // int[] array2 = {1,2,3,4,5,6}; // // int[] array3 = new int[] {1,2,3,4,5,6}; // // int[] array4; // array4 = new int[]{1,2,3,4,5,6}; /** * 例子4:有一个长度为6的数字,让用户输入,如果用户输入的为数组中的数字,则中奖,否则不中奖 */ int[] array = {55,65,99,22,13,33}; System.out.println("请输入您的号码:"); Scanner s = new Scanner(System.in); int num = s.nextInt(); for(int i=0;i<array.length;i++) { if(num==array[i]) { System.out.println("恭喜您,中奖了"); return; } } System.out.println("抱歉,没中奖");