java学习day14

这篇博客介绍了Java中数组的基本概念,强调数组作为引用数据类型的特点,以及数组的静态和动态初始化方法。文章详细阐述了两种初始化方式的语法,并提醒读者注意数组长度不可变以及数组编号从0开始,防止数组越界问题。
摘要由CSDN通过智能技术生成

java学习day14
今天学习了数组的概念、特点、及数组的初始化
数组的概念:
数组是一种容器可以同时存放同种数据类型的多个数据
数组的特点:
1、数组是一种引用数据类型
2、数组当中可以存储多个数据,但是类型必须统一
3、数组的长度在程序的运行期间是不可以改变的
数组的初始化:
数组的初始化包括 动态初始化和静态初始化
一、动态初始化
C语言的定义
int temp[10];
java中的动态初始化
类型 对象名=new 类型
数据类型[] 数组名称=new 数据类型[数组长度]
二、静态初始化
C语言的写法
int temp[]={}
java写法
数据类型[] 数组名称=new 数据类型{元素1、元素2、元素3…}
注意事项:
虽然静态初始化没有告诉编译器数组的长度,但是可以根据大括号里面的内容进行推测长度
不省略的静态初始化可以拆开为两个步骤
省略了静态初始化不能拆开
直接打印的数组名称,得到的是数组对应的内存地址的哈希值
数组的编号从0开始,到数组长度-1结束
容易出现数组越界的问题
代码如下:

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];
		
		
		//数组的静态初始化
		
		int[] arrayD=new int[] {1,2,3,4,5};
		
		//String[] arrayE=new String[] {"王芳","张三","李四","周五","赵六"};
		//不省略的静态初始化可以拆开为两步骤
		String[] arrayE;
		arrayE=new String[] {"王芳","张三","李四","周五","赵六"};
		
		//3.数组静态初始化的省略写法
		//String[] arrayF= {"王芳","张三","李四","周五","赵六"};
		//String[] arrayF;
		//错误写法,省略静态初始化不能拆开
		//arrayF=new String[] {"王芳","张三","李四","周五","赵六"};
		
		
		
		
 	}
}
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);
	}

}
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]);
		
		
		
		
		
	}
	
	
}

package demo01;
/*
 * 数组的编号从0开始,到数组长度-1结束
 * 
 * 
 * 如果容易出现数组越界的问题
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 */
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("==============");
		//System.out.println(array[3]);
		
		
		
		//数组的空指针异常
		int[] arrayA=null;
		
		arrayA=new int[3];
		
		System.out.println(arrayA[0]);
	}
}

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,10,11,12,13,14,15,16,17,18,19};
		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<19;i++)
		{
			System.out.println(arrayB[i]);
		}
		System.out.println("================");
		for(int i=0;i<arrayB.length;i++)
		{
			System.out.println(arrayB[i]);
		}
		
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值