【有道云笔记】三 3.14
https://note.youdao.com/s/XzmN3srG
一、卫语句
@Test public void test1(){ System.out.println("If判断语句.test1"); Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int score = scanner.nextInt(); if(score < 0 || score > 100){ //卫语句 System.out.println("错误输入"); return; //方法后面的代码不再执行 } //合法输入 if(score <= 100 && score >=90){ System.out.println("优秀"); } else if (score < 90 && score >= 80) { System.out.println("良好"); } else if (score < 80 && score >= 70) { System.out.println("一般"); } else if (score < 70 && score >= 60) { System.out.println("及格"); } else { System.out.println("不及格"); } }
ps:
二、数组
1.数组基本概念
数组:存放同一种类型数据的集合,在内存里面是开辟一块连续的区域
int num = 3;
int[] array = new int[4];
1、存放整数类型的数组
2、长度是4 (数组缺点长度固定,ArrayList解决长度固定的问题)
3、只能存放int类型
数组的访问:数组名[下标]
元素类型[] 数组名 = new 元素类型[长度];
int[] array1 = new int[3];
double[] array2 = new double[3];
boolean[] array3 = new boolean[3];
char[] array4 = new char[3];
// Student[] array5 = new Student[3];
数组定义的方式:
1、在定义的时候直接赋值
int[] array = {32,5,7,87};
int[] array = new int[]{32,5,7,87};
2、先定义后赋值
int[] array = new int[4];
array[0] = 34;
//元素类型[] 数组名 = new 元素类型[长度]; //一维数组遍历 @Test public void Test1(){ int[] array = new int[5]; System.out.println("length:" + array.length); array[0] = 56; array[1] = 43; array[2] = 23; array[3] = 64; array[4] = 33; for(int i = 0; i < array.length; i++){ System.out.println(array[i]); } System.out.println("---------"); for (int i = array.length - 1; i >= 0; i--){ System.out.println(array[i]); } } @Test public void Test2(){ int[] array1 = new int[3]; double[] array2 = new double[3]; boolean[] array3 = new boolean[3]; String[] array4 = new String[4]; //直接赋值 int[] array = {2,34,4}; //数组的静态初始化 int[] arr = new int[ ]{43,2,6,45}; }
2.数组下标越界异常
@Test public void Test3(){ int[] array = new int[4]; array[0] = 33; array[1] = 2; array[2] = 45; array[3] = 19; for (int i = 0; i <= array.length; i++) { //当访问了数组中不存在的索引时,数组下标越界异常 //java.lang.ArrayIndexOutOfBoundsException: 4 System.out.println(array[i]); } }
3.数组遍历
数组最重要操作就是遍历。
只要能遍历所有元素:求最大值、最小值、排序。
1.求最大值
//求最大值 @Test public void Test4(){ int[] array = {32,45,2,21,17}; int max = array[0]; for (int i = 0; i < array.length; i++) { if(max < array[i]){ max = array[i]; } } System.out.println("max:" + max); }
2.数组的排序:冒泡排序
int[] array = {40, 17, 21, 1}; // 1, 17,21,40
第一轮:40冒到最右边
17,40,21,1
17,21,40,1
17,21,1,40 ------- 40 冒出来
第二轮:21冒出来
17,21,1,40
17,1,21,40 ------- 21冒出来
第三轮:17冒出来
1,17,21,40 ------- 17冒出来
public void sort(int[] array) {
}
4个数只要比较3轮就可以,剩下那个数不要要排序就是最小的
第一轮:比较3次
第二轮:比较2次
第三轮:比较1次
i+j =4=array.length
j=array.length-i
//冒泡排序 @Test public void Test7(){ int[] array = {32,12,44,2,22}; for (int i = 1; i <= array.length - 1; i++) { //i 代表的是第几轮循环 for (int j = 0; j < array.length - i; j++) { if(array[j] > array[j + 1]){ int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } }
3.抽取方法
1.抽取方法求最大值
@Test public void Test5(){ int[] array = {23,4,45,35}; int maxValue = getMax(array); //抽取一个方法 System.out.println("maxValue:" + maxValue); } /** * 求最大值 * @param array * @return */ public int getMax(int[] array) { //抽取一个方法 int max = array[0]; for (int i = 0; i < array.length; i++) { if(array[i] > max){ max = array[i]; } } return max; }
2.抽取方法冒泡排序
//冒泡排序抽取方法 bubbleSort() @Test public void Test9(){ int[] array = {32,12,44,2,22}; bubbleSort(array); for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } } private void bubbleSort(int[] array) { for (int i = 1; i <= array.length - 1; i++) { for (int j = 0; j < array.length - i; j++) { if(array[j] > array[j + 1]){ int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } }