学习java的第14天

学习java的第14天

数组

package demo01;
/*

  • 1.数组的概念: 是一种容器 可以同时存放 同时数据类型的 多个数据
  • 2.数组的特点
  • 数组是一种引用数据类型
    
  • 数组当中可以存储多个数据,但是类型必须统一
    
  • 数组的长度在程序的运行期间 是不可以改变的
    

*数组的初始化

  • 动态初始化
  • 静态初始化
  • (1)动态初始化
  • c语言的定义
  • int temp[10];
  • java种的动态初始化
  • 类型 对象名 =new类型
  • 数组类型[] 数组名称=new 数组类型[数组长度]
  • (2)静态初始化
  • c语言写法
  • int temp[]={};
  • java写法
    *数组类型[]
    数组名称 =new 数组类型{元素1,元素2,元素3…}

注意事项:
山萸肉静态初始化没有告诉你
*
*
*/
public class Demo01Array {
public static void main(String[] args) {
//1.数组的动态初始化
//动态定义一个数组

	//创建一个数组,用来存放·55个int数据
	 
	//学号
	int[] arrayA=new int[55];//动态初始化
	
	//java成绩
	double [] arrayB=new double[55];
	
	//姓名
	//String[] arrayC=new String[55];
	//动态初始化可以分开两步骤
	String[] arrayC;
	//2 数组的静态初始化
	int[] arrayD=new int[] {1,2,3,4,5};
	
	//String[] arrayE=new String[] {"郑志丹","ninin","wowowo","hahah"};
	//不省略的静态初始化可以才开为两步骤
	
	
	//3.数组静态初始化的省略希写法
	String[] arrayF= {"郑志丹","ninin","wowowo","hahah"};
	//String[] arrayF;
	//错误写法,省略静态初始化不能拆开
	 //arrayF = {"郑志丹","ninin","wowowo","hahah"};
	
	
}

}
数组的使用
package demo01;
/*
*

  • 直接打印数组名称,都到的是数组对应的:内存地址的哈希值

*/
public class Demo02ArrayUse {
public static void main(String[] args) {

	int[] array= {10,20,30,40,50};
	
	System.out.println("array");
 
	//数组的下标是从0开始的
	System.out.println("array[0]");//第0编号元素
	System.out.println("array[1]");
	System.out.println("array[2]");
	System.out.println("array[3]");
	System.out.println("array[4]");
	
	
	System.out.println("=======");
	
	int num=array[3];
	System.out.println(num);
	
}

}
运行结果
在这里插入图片描述
在使用new运算符创建数组时,当未指定数组元素的初始值时,系统会给数组的每个元素赋默认的值
package demo01;
/*

  • 动态初始化

*/
public class Demo03Array {
public static void main(String[] args) {
int []arrayA=new int[3];
System.out.println(arrayA);
System.out.println(arrayA[0]);
System.out.println(arrayA[1]);
System.out.println(arrayA[2]);

 System.out.println("====");
 
 int []arrayB=new int[3];
 System.out.println(arrayB);
 System.out.println(arrayB[0]);
 System.out.println(arrayB[1]);
 System.out.println(arrayB[2]);
 
 System.out.println("====");
 String[] arrayc=new String[3];
 System.out.println(arrayc);
 System.out.println(arrayB[0]);
 System.out.println(arrayB[0]);
 System.out.println(arrayB[0]);
 System.out.println("====");
 arrayc[2]="中国女排";
 System.out.println(arrayc[0]);
 System.out.println(arrayc[1]);
 System.out.println(arrayc[2]);

}
}
运行结果
在这里插入图片描述
数组的引用
当定义了一个数组,并为它分配了内存空间后,就可以引用数组中的每一个元素了,数组元素的引用方式如下:
arrayName[index]

package demo01;
/*

  • 数组的编号从0开始,到数组长度-1结束
  • 容易出现数组越界问题

*/
public class Demo04ArrayIndex {
public static void main(String[]args) {
int[] array= {10,20,30};

	//错误写法,数组越界异常
	System.out.println("====");
//System.out.println(array[3]);
	
	int [] arrayA=null;
	//arrayA=new int[3];
	System.out.println(arrayA[0]);
	
}

}
此外,由于数组在加java语言中是作为一个对象的处理的,故每个数组都有一个length属性,其值为数组的长度可以通过"数组名length”的形式引用

package demo01;

public class Demo05Array {

public static void main(String[] args)
{
	int[] arrayA=new int[3];//动态
	int[] arrayB= {1,2,3,4,5,6,7,8,9,1,2};
	
	int len=arrayB.length;		
	
	System.out.println(len);
	
	//数组长度不可更改
	
	int[] arrayC=new int[3];
	System.out.println(arrayC.length);
	arrayC=new int[5];
	System.out.println(arrayC.length);
	
	System.out.println("======");
	//数组的使用
	System.out.println(arrayB[0]);
	System.out.println(arrayB[1]);
	System.out.println(arrayB[2]);
	System.out.println(arrayB[3]);
	
	System.out.println("======");
	for(int i=0;i<5;i++)
	{
		System.out.println(arrayB[i]);
	}
	System.out.println("====");
	for(int i=0;i<arrayB.length;i++)
{
System.out.println(arrayB[i]);
}
}

}
运行结果
在这里插入图片描述
package demo01;

public class Demo01ArrayParam {
public static void main(String[] args) {
int [] array= {10,20,30,40,50};//定义一个数组值
System.out.println(array);//地址哈希值
printArray(array);

}
//数组作为参数传递的始终数组的地址值
public static void printArray(int[] arrayTemp) {
	System.out.println("printArray方法接受到的参数是");
	System.out.println(arrayTemp);//打印,接收的是地址
	for(int i=0;i<arrayTemp.length;i++) {
		System.out.println(arrayTemp[i]);
			
		}
	}
			
}

运行结果
在这里插入图片描述
package demo01;

public class Demo02ArrayReturn {
public static void main(String[] args) {
int[] result=calculate(10,20,30);
System.out.println(“main方法接收到的返回值”);
System.out.println(result);

	System.out.println("总和"+result[1]);
	System.out.println("平均值"+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[2];
	array[0]=sum;
	array[1]=avg;
	
	System.out.println("calculate方法内部数组是");
	System.out.println(array);
	
	return array;

}
}
运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值