Java基础之数组

  数组的概述数组

    1 、数组能够当作多个相同类型数据组合,对这些数据的统一管理;spa

    2 、数组变量属于引用类型,数组也能够当作是对象,数组中的每个元素至关于该对象的成员变量;code

    3 、数组中的元素能够使任意的数据类型,包括基本类型和引用类型。对象

  一维数组的声明blog

    1 、数组的声明方式:索引

      1)、数据类型[] 变量名;内存

        如:double[] scores;     String[] names;ci

       2)、数据类型 变量名[]; 字符串

        如:double scores[];     String name[];input

      通常状况下都是用第一种方式声明数组,格式明显。

    二、初始化数组:

      1)、数据类型[] 变量名={直接赋值};

        如:int[] number = {1,2,’A’};

      2)、数据类型[] 变量名 = new 数据类型[长度];

        如:int[] number = new int[5];

      3)、数据类型[] 变量名 = new 数据类型[]{赋值};

        如:int[] number = new int[]{1,2,3}

      4)、先声明后初始化,通常只能用第二种和第三种方式,就是先在内存空间中开辟一块内存空间才能使用;

        如:int[] num; num = new int[5];   或者: int[] num;  num = new int[]{1,2,3};

    三、数组的访问:

      1)、根据下标或索引去查找,数组下标从0开始;

      2)、整型int数组若是没有赋值默认值为0;字符串默认值为null;double和float默认值为0.0;char、byte和short型默认值为0(这三种类型的数据将自动升级成整型数据类型,故默认值为0);boolean型默认值为false;

      3)、数组访问不能超出数组的长度减1;超出下标将会报数组下标越界的错误;

       4)、经过变量名.length来获取数组的长度。

  示例代码:

    一、向一个有序数组中插入输入的数据,插入后的数组仍然是一个有序数组

 

 1 public class InsertNumToArray {
 2 
 3     public static void main(String[] args) {
 4         System.out.println("请输入一个整数:");
 5         Scanner sc = new Scanner(System.in);
 6         int number = sc.nextInt();
 7         
 8         int[] num = { 19, 29, 39, 49, 59, 69, 79, 89, 99 };
 9         int[] nums = new int[num.length + 1];
10         int insertIndes = 0;
11         for (int i = 0; i < num.length; i++) {
12             if (num[i] > number) {
13                 insertIndes = i;
14                 break;
15             }else{
16 //                if(i == num.length - 1){
17 //                    insertIndes = i + 1;
18 //                }
19                 insertIndes = num.length;
20             }
21         }
22         
23         for (int j = 0; j < nums.length; j++) {
24             if (j >= insertIndes) {
25                 if (j == insertIndes){
26                     nums[j] = number;
27                 }
28                 if (j + 1 < nums.length){
29                     nums[j + 1] = num[j];
30                 }
31             } else {
32                 nums[j] = num[j];
33             }
34         }
35         
36         for (int i = 0; i < nums.length; i++) {
37             System.out.print(nums[i] + " ");
38         }
39         
40     }
41 
42 }

 

  关于二维数组问题,二维数组其实就是将数组当中的每个元素都是数组组成的集合。

    具体可参考下面的部分代码示例:

 1 private static void searchCity() {
 2         String[] citys = { "四川", "云南", "浙江", "江苏" };
 3         String[][] message = new String[][] { { "成都", "绵阳", "自贡" }, { "丽江", "大理", "昆明" }, { "杭州", "嘉兴", "温州", "宁波" },
 4                 { "苏州", "张家港", "南京" } };
 5 
 6         for (int i = 0; i < citys.length; i++) {
 7             System.out.print(i + 1 + "、" + citys[i] + "\0");
 8         }
 9 
10         System.out.println();
11         System.out.println("请输选择省份对应的序号:");
12         Scanner input = new Scanner(System.in);
13         int number = input.nextInt();
14 
15         System.out.println("您选择的省份是: " + citys[number - 1] + "省\n可选择的城市以下所示:");
16         for (int i = 0; i < message[number - 1].length; i++) {
17             System.out.print(i + 1 + "、" + message[number - 1][i] + "\0");
18         }
19 
20         System.out.println();
21         System.out.println("请选择对应的城市序号:");
22         int cityNumber = input.nextInt();
23         System.out.println("您选择的是:" + citys[number - 1] + "省" + message[number - 1][cityNumber - 1]);
24     }
25 
26     /**
27      * 猜数字
28      */
29     private static void guessTheNumber() {
30         int number = 20;
31         System.out.println("请输入一个数字:");
32         Scanner sc = new Scanner(System.in);
33         boolean isGuess = false;
34         do {
35             int guessNum = sc.nextInt();
36             if (guessNum == number) {
37                 System.out.println("恭喜你猜对了!");
38                 isGuess = true;
39             } else if (guessNum > number) {
40                 System.out.println("您猜的数字大了,从新输入:");
41                 isGuess = false;
42             } else {
43                 System.out.println("您猜的数字小了,从新输入:");
44                 isGuess = false;
45             }
46         } while (!isGuess);
47     }
相关文章
相关标签/搜索