Java入门基础4 数组

数组(arrays)

1.语法

      定义数组,初始化数组、

2.内存模型  (要点)

    遇到的第一个引用模型

(数据类型:1.基本数据类型  2.引用数据类型

  1.数组类型  2对象模型3. 接口模型)

 

3种定义类型

1.数组类型,保存一组其他类型的数据,元素类型(Element  type)

int []/double[]

1.int []  intArray;

2.double[] doubleArray;

和c 语言兼并的方式

1.int  intArray[];

2.double  doubleArray[];          //规范允许,但不建议使用

数组初始化(数组的长度以固定)

1.静态的方式   用到已知数组的所有元素

int[]  array={1,2,3,4,5};

int[] array=new int[] {1,2,3,4,5};           //给方法传参数  匿名数组

2.动态的方式

int[] array = new int [数组长度];

3.不初始化数组,指定一个字面变量。

int[] array = null;         //null=空引用

访问下标

1.下标的访问一定是int 类型

2.下标的取值范围[0—n-1]

 

数组的本质是引用类型,是对象,和基本的数据类型有很大的区别

对象:1.属性2.方法

1.

 

 

二:引用传递

栈里面保存:1.局部变量  2.参数

值传递,在栈中进行,不动用堆。

值传递,改变形参,不会影响到实参,

void print(int a){

System.out.println(a);    //形参

}

void main () {

int a=10;   //实参

// a=100;    改变形参,不改变实参。

print(a);

}

4

a

10

4

a

10(100)

2.数组类型   (引用类型)

int a=100;               //  =左边的是空间        =右边的是值

 

java的数组原生支持 Java.util.Arrays支持

1.tostring     //打印数组

2.copyof        //复制一份数组   System.arraycopy

3.copyofRange

4.fill             //填充值

5.sort | parallelSort

 

 

默认值     0的各个类型的表现

byte/short/int/log            0

float/double                  0.0

char                          0X0000

boolean                       false

refence                        null

变量未初始化时,默认给的值

局部变量无法享受默认值

参数没有默认值

可以享受默认值,的数组的元素的值

属性

静态属性


二维数组

保存数组的数组

int[][]  array=new int[] [10]  ;

举几个小例子:

public class java519{
public static int max(int[] array) {
	int count=Integer.MIN_VALUE;// 初始化赋值为数组最小值
	for(int i=0;i<array.length;i++){
	if (array[i]>count)
	count=array[i];
	}
	return count;
	
}
public static int indexOf (int[] array,int key){
	for(int i=0;i<array.length;i++){
	if (array[i]==key){
		return i;
		}
	}
		return (-1);
}
public static double average (int[] array){
	int sum=0;
	double avg;
	int max=Integer.MAX_VALUE;
	int min=Integer.MIN_VALUE;
	//for(int i=0;i<array.length;i++){
	//if (array[i]>max)
	//max=array[i];
	//}
	//for(int i=0;i<array.length;i++){
	//if (array[i]<min)
	//min=array[i];
	//}
	for(int i=0;i<array.length-1;i++){
	sum+=array[i];
	}
	sum=sum-min-max;
	int leg=array.length-2;
	avg=((double)sum /leg);
	return avg;
}

public static void main (String[] args){
int [] array={1,3,5,7,9,2,4,6,8,19};
int maxValue=max(array);
System.out.println("最大值是"+maxValue);
int index=indexOf(array,19);
System.out.println("19的下标是"+index);

double averageScore= average(array);
System.out.println("平均分是"+averageScore);


}
}

 

 


Syrtem.out.println(String message);         自带换行

Syrtem.out.print(String message);            不换行

Syrtem.out.printf(String  format,变长的参数);         

前面指定所需格式,后面要跟参数   %d%f%s

%n是换行,非\n

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值