2021-04-15

Java学习

day14

目录

  1. 数组
    目录
    1、数组
  • 1、数组的概念:是一种容器,可以同时存放 同种数据类型的 多个数据

  • 2、数组的特点:
    数组是一种引用数据类型
    数组当中可以存储多个数据,但是类型必须统一。
    数组的长度在程序的运行期间 是不可改变的

  • 3、数组的初始化:
    动态初始化
    静态初始化

  • (1)动态初始化
    C语言的定义:int temp[10];

    java中的动态初始化:类型 对象名 = new 类型

    数据类型[] 数组名称 = new 数组类型[数组长度]

  • (2)静态初始化
    C语言写法:int temp[] = {};

    java写法:数据类型[] 数组名称 = new 数组类型{元素1,元素2,元素3,…}

  • 注意事项:
    虽然静态初始化没有告诉编译器数组的长度,但是可以根据大括号里面的内容进行推测长度。

  • 例一:
    运行代码如下:

package demo01;
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;
arrayC = new String[55];
// 2.数组的静态初始化
int[] arrayD = new int[] {1,2,3,4,5};
// String[] arrayE = new String[] {“小一”,“小二”,“小三”,“小四”,“小五”};
//不省略的静态初始化可以拆分为两步骤
String[] arrayE;
arrayE = new String[] {“小一”,“小二”,“小三”,“小四”,“小五”};

	// 3.数组静态初始化的省略写法
	//String[] arrayF = {"小一","小二","小三","小四","小五"};
	//String[] arrayF;
	
	//错误写法:省略静态初始化不能拆分开
	//arrayF = {"小一","小二","小三","小四","小五"};
}

}
2、数组的使用

  • 例二:
    运行代码如下:

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]);
     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(array);
    

    }
    }
    运行结果:
    使用的运行结果
    3、数组的动态初始化

  • 例三:
    运行代码如下:

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("============");
	
	double[] arrayB = new double[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(arrayC[0]);
	System.out.println(arrayC[1]);
	System.out.println(arrayC[2]);
	System.out.println("==============");
	
	arrayC[2] = "中国";
	System.out.println(arrayC[0]);
	System.out.println(arrayC[1]);
	System.out.println(arrayC[2]);
}

}
运行结果:
运行结果
4、数组的两种异常

  • 数组的编号从0开始,到数组长度为-1结束
  • 容易出现越界问题
  • 例四:
    运行结果如下:

package demo01;
public class Demo04ArrayIndex {
public static void main(String[] args) {
int[] array = {10,20,30};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
//错误写法,数组越界异常
//System.out.println(array[3]);
System.out.println("==============");

	//数组的空指针异常
	int[] arrayA = null;
	// arrayA = new int[3];
	System.out.println(arrayA[0]);

}
}
运行结果:
运行结果
5、数组长度及使用

  • 例五:
    运行代码如下:
    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};
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]);
	}
	
}

}
运行结果:
运行结果

tip:2020080605006

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值