输出数组前10输出量java_10Java数组

一、什么是数组?

1.数组是指一组数据的集合,数组中的每个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。

2.总结:相同数据类型的元素组成的集合被称为数组。

二、数组的定义

1.在Java中数组的定义格式

1.1定义基本类型数组:数据类型[ ] 数组名 = new 数据类型[元素个数或数组长度];

注意:数据类型[ ] 数组名 或 数据类型  数组名[ ]两种写法均可

声明数组时,不规定数组长度,在使用new关键字分配空间时需要指定分为空间大小,也就是元素个数或数组长度

执行new语句时才使得数组分配到指定的空间大小(也就是元素个数或数组长度)

int[] x = new int[10]

注释:此行代码表示在内存中定义了10个int类型的变量。

注意事项:第一个变量名为 x[0],第二个变量名为x[1],以此类推第十个变量名为x[9]。

//此行代码另一种写法

int[] x; //声明了一个int[]的变量

x= new int[10]; //创建了一个长度为10的数组

1.2初始化(声明数组)数组

基本类型的数组创建之后初始值:整型数组(byte,short,int,long):初始值为0。

浮点型数组(float,double):初始值为0.0。

布尔类型(boolean):初始值为false。

字符类型(char):初始值为一个空字符,即为‘\u000’

引用数据类型的数组创建之后初始值:为null,意为不引用任何对象

静态初始化:在声明数组的同时对数组的元素进行初始化。

int[] arr = {10,-1,23,62,95,16,72};

或者int[] arr;

arr= new int[]{10,-23,456,95,-12,45}

动态初始化:声明数组,数组的元素的初值为0。

int[] arr = new int[10];

三、定义数组和访问数组等常用的操作的案例

1.获取数组的长度

public classDemo {public static voidmain(String[] args) {//定义int类型数组,并定义其长度为10,并输出。

int[] arr;

arr= new int[10];int arrLong =arr.length;

System.out.println("arr数组的长度为" + arrLong); //输出结果:arr数组的长度为10

}

}

2.访问数组元素(也称为数组的遍历)

public classArrayDemo04 {public static voidmain(String[] args) {int[] arr = { 1, 2, 3, 4, 5 }; //定义数组//正序输出//使用for循环遍历数组的元素

for (int i = 0; i < arr.length; i++) {

System.out.println("数组元素" + arr[i]); //通过索引访问元素

}//逆序输出

for(int i = (arr.length-1);i>=0;i--){

System.out.println("数组元素" +arr[i])

}

}

}

3.数组的最大值与最小值

public classDemo {public static voidmain(String[] arg){int[] arr = { 7, 6, 2, 1, 9, 8 }; //静态初始化一个数组//输出最大值

int max = arr[0]; //定义变量max并假设第一个元素为最大值//通过for循环遍历数组中的元素

for (int x = 1; x < arr.length; x++) {if (arr[x] > max) { //比较 arr[x]的值是否大于max

max = arr[x]; //条件成立,将arr[x]的值赋给max

}

}

System.out.println("max = " + max); //打印最大值//输出最小值

int min = arr[0];//定义变量min并假设第一个元素为最大值//通过for循环遍历数组中元素

for (int i = 0; i < arr.length; i++) {if (arr[i]

min = arr[i]; //条件成立,将arr[i]的值赋给min

}

}

System.out.println("min = "+min); //打印最小值

}

}

4.数组的复制(两种方法)

a.第一种:使用System.arrcopy()方法可以实现数组的复制

public static void arraycopy(Object src,int srcPos,Object dest,int destPos.int length)

src:指原数组

srcPos:指原数组中的起始位置

dest:指目标数组

destPos:指目标数组中的起始位置

length:要复制的数组元素的数量

public classDemo01 {public static voidmain(String[] args) {int[] arr01 = {10,27,65,1,3};int[] arr02 = new int[5];

System.arraycopy(arr01,0, arr02, 0, 4);//通过遍历输出数组arr02

for (int i = 0; i < arr02.length; i++) {

System.out.println("数组元素" + arr02[i]); //通过索引访问元素

}

}

}

b.第二种:使用java.util.Arrays类的方法可以实现数组的复制

数据类型[] newArray = Arrays.copyOf(数据类型[] original ,int newLength);

特点:生成的新数组是原始数组的副本

newLength小于原数组,则进行截取。

newLength大于原数组,则用0或null进行填充。

所以产生的新数组可以大于原数组的长度。

import java.util.Arrays;

public classDemo02 {public static voidmain(String[] args) {int[] arr01 = {1,2,3,4,5};int[] arr02 = Arrays.copyOf(arr01,6);//通过遍历输出arr02数组

for (int i = 0; i < arr02.length; i++) {

System.out.println(arr02[i]);

}

}

}//输出结果 1,2,3,4,5,0

5.数组的扩容

数组的长度在创建后不可改变,所谓的扩容是指创建一个更大的新数组并将原有数组的内容复制到其中。

可以通过在4里面提到的java.util.Arrays类的方法,来实现数组的扩容

import java.util.Arrays;public classDemo {public static voidmain(String[] args) {int[] arr = {1,2,3,4,5};int arrLong01 =arr.length;

System.out.println("数组arr的长度" +arrLong01);

arr= Arrays.copyOf(arr, arr.length+1); //数组arr的长度+1

int arrLong02 =arr.length;

System.out.println("数组arr扩容之后的长度" +arrLong02);

}

}

6.数组的排序

a.数组的排序是最常用的算法之一。

b.常用的排序算法:插入排序,冒泡排序,快速排序。

c.对于排序算法的优劣至关重要,决定因素就是元素的交换顺序的次数。

在Java的官方中提供了数组的排序方法由Arrays.sort()方法

import java.util.Arrays;public classDemo {public static voidmain(String[] args) {int[] arr = {15,62,95,63,12,1,2,4,84,96,32,12,75,62,1,2,78,21,58,62161,1512,151,541};

Arrays.sort(arr);for (int i = 0; i < arr.length; i++) {

System.out.println(arr[i]);

}

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值