Java复习第四天学习笔记(数组和卫语句),附有道云笔记链接

【有道云笔记】三 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; } } } }

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值