数组的概念、创建(定义)、使用、默认值及控制台输入

一、概括

数组相当于是一个容器,可以装载(存储)数据。

特点

  1. 创建后,长度固定(不能增加或者减少容量);

  1. 创建后,存储的数据类型固定

内存空间中的特点

  1. 连续空间;

  1. 在堆中创建;

  1. 每个位置有下标(索引),从0开始,到n-1。(总长度-1)

PS:程序在jvm中运行,java程序运行需要耗费电脑内存空间

二、数组的使用

声明,创建,存取数据。

数据类型[ ] 数组名; (推荐使用这个:中括号写到数据类型后面)

或者 数据类型 数组名[ ];

一、声明:

int [ ] array = new int [10];

ps:后面数据类型要与前面写的定义类型一致。

二、赋值:

数组名[下标] = 值;

array[0] = 2;

array[8] =222;

三、***或者一起写***:

1. 数据类型 [] 数组名 = new 数据类型 [长度];  (推荐)
eg:  int [] array = new int [10];
2. 数据类型 [] 数组名 = new 数据类型 [] {元素,元素,元素} ;
eg:int [] array1 = new int []{1,2,3,4,2};
3. 数据类型 [] 数组名 = {元素,元素,元素}; 
eg:  int [] array1 = {1,2,3,4,2};
String[] array2 = new String [3];
double[] array3 = new double [6];   // 各种类型创建方法都一样 

使用数组

只会存取;不可越界,不可使用不匹配的数据类型。

取值数据类型 变量名 = 数组名[下标];

int a = array1[0]; // array1的第1个元素

String b = array2[1]; // array2的第2个元素

double c = array3[5]; // array3的最后一个元素(第6个

不同数据类型在数组中的默认值:

默认值:

整型(byte short int long):0

浮点型(float double);0.0

String:null

char:‘ ’(一个空格)

boolean:false

数组长度

用“数组名.length获取

三、控制台输入

1、不限制输入个数:

public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("请输入一个数组,用逗号隔开:");
        String str = s.next().toString();
        String[] arr = str.split(",");
        int[] b = new int[arr.length];
        for (int i = 0; i < b.length; i++) {
            b[i] = Integer.parseInt(arr[i]);
            System.out.print(b[i] + " ");
        }
        
     }

2、限制输入的长度

System.out.println("请输入三个数:");
        int[] c = new int[3];
        for (int i = 0; i < c.length; i++) {
            c[i] = s.nextInt();
        }
        for (int i = 0; i < c.length; i++) {
            System.out.print(c[i] + " ");
        }

next()和nextLine()

next()与nextLine()区别很明确,next() 方法遇见第一个有效字符(不是空格和换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,也就是说使用next()方法获得的是不含空格和换行符的单个字符串。

而使用nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。

四、数组小技巧

拷贝数组

  • 可以使用for循环,一个一个拷贝

  • 可以使用系统自带的方法System. arraycopy(src, srcPos, dest, destPos, length);

        int[] arr = new int[]{ 1, 2, 3, 6, 23 };
        int[] arr1 = new int[arr.length];
        System.arraycopy(arr, 1, arr1, 0, 2);  
// 从arr数组的第一个开始,拷贝两个,到arr1中,arr1从0开始
//  System.arraycopy(src, srcPos, dest, destPos, length);

输出数组

显示数组(比如每趟排序都显示一次数组)

可以使用 Arrays.toString(); 该方法返回为字符串型。

        int[] a = new int[]{1,23,42,3,2,1,1};
        System.out.println(Arrays.toString(a));
        
        String str = Arrays.toString(a);
        System.out.println("2:" + str);

数组排序

        int[] arr = { 3, 22, 5, 1, 4 };
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值