数组

数组概念:数组是一种容器可以存放多个数据值
数组特点:
1.数组是一种引用数据类型
2.数组当中的多个数据,类型必须相同
3.数组长度在程序运行期间不可改变
数组初始化:在内存当中创建一个数组,并向其中赋予一些默认值
数组两种初始化方式
1.动态初始化(指定长度)
2.静态初始化(指定内容)
动态数组初始化格式:
数据类型 [] 数组名称 = new 数据类型[数组长度];
解析含义:
左侧数据类型:数组当中保存的数据类型全部统一 例如:数据类型为 int 那么该数组的所有数据类型都为 int 类型
左侧中括号:只要左侧有中括号就代表这个是一个数组
左侧数组名称:给数组取名字
右侧的new:代表创建一个新的数组
右侧数据类型:必须和左边数据类型保持一致
右侧中括号的长度:就是说数组能存多少数据
注意事项:
静态初始化没有直接指定长度,但任然会自动推算长度。
动态静态初始化标准格式都可以拆分为两个步骤。
列:int [] arrayA;
arrayA = new int[]{10,20,30};
int [] arrayA;
arrayA = new int[5]
静态初始化一旦使用简易格式就不可以拆分为两个部分
动态数组格式:
数据类型 [] 数组名称 = new 数据类型[数组长度];
创建一个新的数组其中只能存放300个int类型数据
int [] arrayA = new int[300];
创建一个新的数组其中只能存放300个double类型的数据
double [] arrayD = new double[300];
创建一个新的数组其中只能存放300个String类型的数据
String [] arrayS = new String[300];
静态初始化数组格式:
简写格式为:数据类型 [] 数组名称 = {数据1,数据2,数据3,.....}
数据类型 [] 数组名称 = new 数据类型[]{数据1,数据2,数据3,.....};
创建一个新的数组其中已经存放了int数据
int [] arrayA2 = new int[]{10,20,30,40};
创建一个新的数组其中已经存放了String数据
String [] arrayS2 = {"hellow","ssss","bbb"};
数组实列 静态
直接打印数组名称会得到数组对应的内存地址哈希值
打印数组中的值需要使用索引格式为 数据类型[索引值]
【索引值】所应之开始位置为0一次从左到右为0 1 2 3 。。。。
int[] array =new int[]{10,20,30};
int num = array[1];
System.out.println(num);
数组实列 动态
动态数组各种类型的默认值
int 0
float 0.0
char '\u0000'
boolean false
String (引用类型) null
int[] array = new int[5];
把数组array中的索引值为0的元素赋值为10
array[0]=10;
int num=array[0];
System.out.println(num);
注意事项
静态初始化时其实是有默认值的只不过是系统自动将默认值替换为大括号中的数据
直接打印数组名称得到的是空的
实列:
获取数组长度
数组名称.length 这里会得到一个int数字代表数组长度
int len;
len=array.length;
System.out.println(len);
打印数组中的值
int[] array=new int[]{10,20,3,04,0,50};
for (int i = 0; i <array.length ; i++) {
System.out.println(array[i]);
}
比较数组最大值
int[] array = new int[]{1,2,3,4,4,5,45,4,2,5,42,5,5,12,4,42,4,454,541,5,4154,54};
int max = array[0];
for (int i = 1; i <array.length ; i++) {
if (array[i]>max){
max = array[i];
}
}
System.out.println("最大"+max);
数组中的数据交换位置
int[] array = new int[]{1,2,3,4,5,6,7,8,9};
for (int i = 0; i <array.length ; i++) {
System.out.print(array[i]);
}
System.out.println("-------------------------");
for ( int max = array.length - 1,min = 0; min < max ; min++, max--) {
int tim = array[min];
array[min] = array[max];
array[max] = tim;
}
for (int i = 0; i <array.length ; i++) {
System.out.print(array[i]);
}
调用calculate()方法
public class Hellojava {
public static void main(String[] args) {
int[] result=calculate(10,20,30);
System.out.println("sum"+result[0]);
System.out.println("avg"+result[1]);
}
}
创建一个返回值为数组的方法
public static int[] calculate(int a,int b,int c){
int sum = a+b+c;
int avg = sum/3;
int[] array = new int[]{sum,avg};
return array;
}

posted @ 2019-12-02 15:30  ZJQ-java  阅读(172)  评论(0)    收藏  举报