Ⅰ.⼀维数组
Ⅱ.数组作为函数的参数、返回值
Ⅲ.数组的基本操作(插⼊、删除、扩容) 数组的排序
习题:
1,下列数组的声明有哪些是对的?错的应该怎么修改?
A. int[] a; 正确
B. int a[] = new int[3]; 正确
C. int[] a; a = {1,2,3,4,5}; int a[]={1,2,3,4,5};
必须把变量定义和显式初始化放在同一行.
D. int[] a = new int[3]{1,2,3}; int[]a=new int[]{1,2,3};
方括号中数字去掉
2, 数组 的元素通过(下标) 来访问, 数组Array 的⻓度为 (Array.length)。
3,数组下标访问超出索引范围时会抛出: (下标越界,ArrayIndexOutOfBoundsException)异常。
4,引⽤数组元素时,数组下标可以是(AB)。
A. 整型变量
B.整型表达式
C.字符串
D.以上均可
5, 执⾏完代码 int[] x = new int[25],以下选项正确的是 (A)。
A.x[24]为0
B.x[24]未定义
C.x[25]为0
D.x[0]为null
6,下列语句会造成数组 newint[10] 越界的是_(D)__。
A.a[0] +=9;
B.a[9]=10;
C.--a[9]
D.for(int i = 0;i<=10;i++){ a[i]++}
7,写⼀个函数,计算⼀个整数数组的平均值。
1
2
3
4
5
6
7
8
9
10
11
12package day6; public class T67 { public static void main(String[] args) { System.out.println(aver(new int[]{10, 15, 20, 25})); }public static double aver(int[] n){ int sum = 0; for(int i = 0; i<n.length; i++){ sum += n[i]; } return (double)sum / n.length; } }
8,⾃定义⼀个整数数组a,读⼊⼀个整数n,如果n在数组中存在,则输出n的下标;
如果不存在,输出-1。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24package day6; import java.util.Scanner; public class T68 { public static void main(String[] args) {//键入 int[] a = {1,3,5,7,9};//自定义数组a Scanner sc = new Scanner(System.in); int n = sc.nextInt();//定义 for(int i = 0; i<a.length; i++){ //0.1.2.3.4为下标 if (n == a[i]){ System.out.println(i); return; } } System.out.println(-1); } }
9,给定⼀个数组,输出数组中的最⼤值和最⼩值。
⽤变量min来统计数组中的最⼩值
⽤变量max来统计数组中的最⼤值
先让min和max都等于a[0]
然后扫描数组中剩下的元素
如果某个元素⽐max更⼤,则把该元素的值赋值给max
如果某个元素⽐min更⼩,则把该元素的值赋值给min
这样,当扫描完成时
min中保存的就是最⼩的元素,max中保存的是最⼤的元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31package day6; public class T69 { public static void main(String[] args) { int[] a = {1,3,4,2,7}; minMax(a); } public static void minMax(int[] a){ int min = a[0], max = a[0]; for(int i = 1; i<a.length; i++){ if (min > a[i]){ min = a[i]; continue; } if (max < a[i]){ max = a[i]; continue; } } System.out.println(min); System.out.println(max); } }
10,给定⼀个数组,把这个数组中所有元素顺序进⾏颠倒。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23package day6; public class T10 { public static void main(String[] args) { int[] a = {3,1,2,5,7}; reverse(a); printint(a); } public static void reverse(int[] a){ //i变化为数组长度的一半 for(int i = 0; i<a.length/2; i++){ //交换a[i]和a[a.length-i-1] int t = a[i]; a[i] = a[a.length - 1 - i]; a[a.length - 1 - i] = t; } } public static void printint(int[] a){ for(int i = 0; i<a.length; i++){ System.out.print(a[i] + "t"); } System.out.println(); } }
11,完成数组的冒泡排序算法。
给定⼀个数组: int[] a = {1,3,2,7,5}
利⽤冒泡排序对其按照从⼩到⼤的顺序排序,然后输出结果。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package day6; public class T11{ public static void main(String [] args){ int [] nums={1,3,2,7,5}; //冒泡排序:一个数值与他后面的比较大小,互换位置 for(int i=0;i<nums.length-1;i++){ for(int j=0;j<nums.length-1-i;j++) { if(nums[i]>nums[j]){ int temp=nums[i]; nums[i]=nums[j]; nums[j]=temp; } } } for (int a:nums){ System.out.print(a+" "); } } }
12,使⽤第⼆种算法对数组进⾏排序。
第二种方法即为选择排序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package day6; public class T12 { public static void main(String [] args){ int [] nums={1,3,2,7,5}; //选择排序:固定值与其他值依次比较大小,互换位置 for(int i=0;i<nums.length-1;i++){ for(int j=i+1;j<nums.length;j++) { if(nums[i]>nums[j]){ int temp=nums[i]; nums[i]=nums[j]; nums[j]=temp; } } } for (int a:nums){ System.out.print(a+" "); } } }
最后
以上就是纯情玫瑰最近收集整理的关于java6【数组】的全部内容,更多相关java6【数组】内容请搜索靠谱客的其他文章。
发表评论 取消回复