一.数组
(1)定义数组
语法:数据类型[] 数组名;
数据类型 数组名[];
(2)指定数组大小:
语法:数组名=new 数据类型[size];
(3)给数组赋值
语法:数组名[index]=值;
注意:数组index索引下标从0开始
(4)取出数组的某个值
语法:数组名[index];
(5)数组的属性
语法:数组名.length;
作用:求得数组的长度
二、示例
2.1 示例:简单定义数组并赋值
1 package com.test;
2
3 public class Test {
4 public static void main(String[] args) {
5 //1.定义数组
6 int[] score;
7
8 //2.给数组指定大小
9 score=new int[5];
10
11 //3.给数组赋值
12 score[0]=15;
13 score[1]=26;
14 score[2]=36;
15 score[3]=46;
16
17 //4.取出数组中的值
18 int num=score[1];
19 System.out.println(num);
20
21 }
22
23 }
2.2 示例:循环给数组赋值和取值
1 package com.test;
2
3 import java.util.Scanner;
4
5 public class Test1 {
6
7 /**
8 * @param args
9 */
10 public static void main(String[] args) {
11 Scanner input=new Scanner(System.in);
12 System.out.print("请指定数组的大小:");
13 int size=input.nextInt();
14
15 //1.定义并确定数组大小
16 int[] score=new int[size];
17 //通过数组名.length获取数组的空间大小
18 System.out.println("数组的空间大小:"+score.length);
19
20 //2.循环给数组赋值
21 for (int i = 0; i < score.length; i++) {
22 System.out.print("请输入第:"+(i+1)+"个值");
23 score[i]=input.nextInt();
24 //score[i]=(int) (Math.random()*10);
25 System.out.println("完成第"+(i+1)+"次赋值");
26 }
27
28 //3.循环取值
29 for (int i = 0; i < score.length; i++) {
30 System.out.println("第"+i+"位置上的值为:"+score[i]);
31 }
32
33 }
34
35 }
2.3 示例:用foreach循环打印数组
1 package com.test;
2
3 import java.util.Scanner;
4
5
6 public class Test2 {
7 public static void main(String[] args) {
8 Scanner input=new Scanner(System.in);
9 int num[]=new int[]{8,4,54,36,35,8};
10 int sum=0;
11 //for(数组的数据类型或集合的数据类型 循环增量:数组或集合的名称)
12 for (int i : num) {
13 System.out.println(i);
14 }
15
16 /*System.out.println("请输入一个数字");
17 int shuzi=input.nextInt();*/
18
19 /*for(int i=0;i<num.length;i++){
20 if(num[i]==shuzi){
21 System.out.println("对应的索引下标:"+i);
22 System.out.println("数组中包含此数为"+num[i]);
23 }
24 sum+=num[i];
25 }
26 */
27
28
29 System.out.println("数组的和是:"+sum);
30 }
31
32 }
2.4 示例:请数组最大值
1 package com.test;
2 /**
3 * 求最大值
4 * @author Dell
5 *
6 */
7 public class Test {
8 public static void main(String[] args) {
9 int[] score=new int[5];
10 score[0]=23;
11 score[1]=20;
12 score[2]=2;
13 score[3]=30;
14 score[2]=18;
15 int max=score[0];
16 for (int i = 1; i < score.length; i++) {
17 if(score[i]>max){
18 max=score[i];
19 }
20 }
21 System.out.println("最大值为:"+max);
22 }
23
24 }
2.5 示例:求数组最小值
1 package com.test;
2 /**
3 * 求最小值
4 * @author Dell
5 *
6 */
7 public class Test1 {
8 public static void main(String[] args) {
9 int[] score=new int[5];
10 score[0]=99;
11 score[1]=100;
12 score[2]=82;
13 score[3]=63;
14 score[4]=88;
15
16 int min=score[0];
17 for (int i = 1; i < score.length; i++) {
18 if(min>score[i]){
19 min=score[i];
20 }
21 }
22 System.out.println("最大值为:"+min);
23 }
24 }
2.6 示例: 3.在原有降序数组中插入值,完后还是降序
1 package com.test;
2 /**
3 * 插入一个值,插入完之后是降序
4 * @author Dell
5 *
6 */
7 public class Test3 {
8 public static void main(String[] args) {
9 int[] score=new int[6];
10 score[0]=99;
11 score[1]=98;
12 score[2]=97;
13 score[3]=96;
14 score[4]=18;
15 int index=0;//定义要插入的所有位置
16 int num=6; //要插入的值
17 //确定要插入的位置
18 for (int i = 0; i < score.length; i++) {
19 if(num>score[i]){
20 index=i;
21 break;
22 }
23 }
24
25 //循环将元素后移
26 for (int j = score.length-1; j >index; j--) {
27 score[j]=score[j-1];
28 }
29
30 //插入元素
31 score[index]=num;
32
33 //插入完成之后
34 for (int k = 0; k < score.length; k++) {
35 System.out.println(score[k]);
36 }
37 }
38
39 }
2.7 示例:冒号排序:从小到大
1 package com.test;
2
3 public class Test4 {
4
5 /**
6 * 冒号排序:从小到大排列
7 */
8 public static void main(String[] args) {
9 int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
10 int temp=0;
11 for(int i=0;i<a.length-1;i++){
12 for(int j=0;j<a.length-1-i;j++){
13 if(a[j]>a[j+1]){
14 temp=a[j];
15 a[j]=a[j+1];
16 a[j+1]=temp;
17 }
18 }
19 }
20 for(int i=0;i<a.length;i++)
21 System.out.println(a[i]);
22 }
23
24 }
2.8 冒号排序:从大到小
1 package com.test;
2
3 public class Test5 {
4
5 /**
6 * 冒号排序:从大到小排列
7 */
8 public static void main(String[] args) {
9 int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
10 int temp=0;
11 for(int i=0;i<a.length-1;i++){
12 for(int j=0;j<a.length-1-i;j++){
13 if(a[j]<a[j+1]){
14 temp=a[j];
15 a[j]=a[j+1];
16 a[j+1]=temp;
17 }
18 }
19 }
20 for(int i=0;i<a.length;i++)
21 System.out.println(a[i]);
22 }
23
24 }
2.9 示例 :Arrays类的使用
1 package com.test;
2
3 import java.util.Arrays;
4
5 /**
6 * Arrays类的使用
7 * @author pc
8 *
9 */
10 public class Test6 {
11 public static void main(String[] args) {
12 int[] score=new int[5];
13 score[0]=99;
14 score[1]=16;
15 score[2]=97;
16 score[3]=88;
17 score[4]=60;
18 //完成数组升序排序
19 Arrays.sort(score);
20
21 for (int i : score) {
22 System.out.println(i);
23 }
24
25 //将数组变成字符串
26 System.out.println(Arrays.toString(score));
27
28 }
29
30 }
2.10 示例 :二维数组的使用
1 package com.test;
2
3 public class Test7 {
4
5 /**
6 * @param args
7 */
8 public static void main(String[] args) {
9 int[][] xy=new int[2][3];
10 xy[0][0]=90;
11 xy[0][1]=70;
12 xy[0][2]=50;
13 xy[1][0]=80;
14 xy[1][1]=80;
15 xy[1][2]=40;
16
17 }
18
19 }

浙公网安备 33010602011771号