Java创建数组的几种方式
1、一维数组的声明方式:

type[] arrayName; 或 type arrayName[];
附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[]是一种引用类型(数组)而不是type类型。建议不要使用第二种方式
下面是典型的声明数组的方式:
// 声明整型数组
int[] intArray0 ;
int intArray1 [];
// 声明浮点型数组
float floatArray0 [];
float[] floatArray1 ;
// 声明布尔型数组
boolean boolArray0 [];
boolean[] boolArray1 ;
// 声明字符型数组
char charArray0 [];
char[] charArray1 ;
// 声明字符串数组
String stringArray0[];
String[] stringArray1;
// 错误的声明数组的方式,声明数组的时候不能指定其大小
// int [5] intErrorArray0;
// int intErrorArray1[5];
注:Java语言中声明数组时不能指定其长度(数组中元素的个数),这是因为数组是一种引用类型的变量,,因此使用它定义一个变量时,仅仅表示 定义了一个引用变量(也就是定一个了一个指针),这个引用变量还未指向任何有效的内存,所以定义数组时不能指定数组的长度。而且由于定义数组仅仅只是定一 个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有在数组进行初始化后才可以使用。
2、一维数组的创建
Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 [数组元素的个数]
// 创建数组,如果在创建的同时不初始化数组则必须指定其大小
intArray0 = new int[3];
// 错误的创建数组的方式,如果创建数组时不指定大小则必须初始化
// intArray1 = new int[];
// 创建数组时,不指定数组大小则必须在创建的同时初始化数组
intArray1 = new int[]{0,1,2};
使用new创建数组对象但是分配数组时会自动为数组分配默认值,具体如下:
System.out.println( “intArray0[0]=” + intArray0 [0]);
floatArray0 = new float[3];
System. out.println(“floatArray0[0]=” + floatArray0[0]);
boolArray0 = new boolean[3];
System. out.println(“boolArray0[0]=” + boolArray0[0]);
charArray0 = new char[3];
System. out.println(“charArray0[0]=” + charArray0[0]);
stringArray0 = new String[3];
System. out.println(“stringArray0[0]=” + stringArray0[0]);
输出如下:
intArray0[0]=0
floatArray0[0]=0.0
boolArray0[0]=false
charArray0[0]=
stringArray0[0]=null
附: 一旦使用new关键字为数组分配了内存空间,每个内存空间存储的内容就是数组元素的值,也就是数组元素就有了初始值,即使这个内存空间存储的内容是空,这 个空也是一个值null。也就是说不可能只分配内容空间而不赋初始值,即使自己在创建数组对象(分配内容空间)时没有指定初始值,系统也会自动为其分配
附:诸如基础数据类型的包装类,其默认的初始化值均为null,因为基础数据类型的包装类创建的数组属于引用数组(对象数组),对象数组默认的初始化值都是null
3、一维数组的初始化
数组的初始化分为静态初始化、动态初始化和默认初始化:
静态初始化是数组在初始化时由程序员显式指定每个数组元素的初始值而数组长度由系统决定。
动态初始化是数组在初始化时只指定数组长度,由系统为数组元素分配初始值。
a、数组静态初始化的语法格式:
arrayName = new type[]{element1,element2,element3…}或者使用简化的语法格式:arrayName = {element1,element2,element3…}
b、数组动态初始化的语法格式:
arrayName = new type[length];
附:静态初始化时不能指定元素个数,而动态初始化时则必须指定元素个数。静态初始化时数组能够知道元素的个数所以不需要指定,而动态初始化时数组元素个数未知因此必须指定。
// 静态初始化
int intArray2 [] = new int[]{20,21,22};
// 静态初始化简化方式
int intArray3 [] = {30,31,32};
// 动态初始化
int[] intArray4 = new int[3];
// 错误写法:静态初始化不能指定元素个数
// int intErrorArray5[] = new int[3]{50,51,52};
// 错误写法:动态初始化必须指定元素个数
// int intErrorArray6[] = new int[];
注:一维数组这一块记住两点,数组声明的时候是不能指定大小的,也就是说等号左边的中括号中不能包含数字。另外一旦使用new关键字那么肯定在内存中为数组分配了空间,则必然数组有默认值。数组是对象数据类型
注:不要静态初始化和动态初始化同时使用,也就是说不要再进行数组初始化时,既指定数组长度,也为每个数组元素分配初始值。
4、数组进行动态初始化时系统分配初始值的规则
数组元素类型是基本类型中的整数类型(byte、short、int、long),则数组元素的值是0
数组元素类型是基本类型中的浮点类型(float、double),则数组元素的值是0.0
数组元素类型是基本类型中的字符类型(char),则数组元素的值是’\u0000’
数组元素类型是基本类型中的布尔类型(boolean),则数组元素的值是false
数组元素类型是基本类型中的引用类型(类、接口、数组),则数组元素的值是null

附:这部分源代码:
package javabase;

public class CreateArray {
public static void main(String args[]){
/数组的声明*****/
// 声明整型数组
int[] intArray0 ;
int intArray1 [];
// 声明浮点型数组
float floatArray0 [];
float[] floatArray1 ;
// 声明布尔型数组
boolean boolArray0 [];
boolean[] boolArray1 ;
// 声明字符型数组
char charArray0 [];
char[] charArray1 ;
// 声明字符串数组
String stringArray0[];
String[] stringArray1;
// 错误的声明数组的方式,声明数组的时候不能指定其大小
// int [5] intErrorArray0;
// int intErrorArray1[5];

         /*********************数组的创建***********************/// 创建数组,如果在创建的同时不初始化数组则必须指定其大小intArray0 = new int[3];// 错误的创建数组的方式,如果创建数组时不指定大小则必须初始化// intArray1 = new int[];// 创建数组时,不指定数组大小则必须在创建的同时初始化数组intArray1 = new int[]{0,1,2};System. out.println("intArray0[0]=" + intArray0[0]);floatArray0 = new float[3];System. out.println("floatArray0[0]=" + floatArray0[0]);boolArray0 = new boolean[3];System. out.println("boolArray0[0]=" + boolArray0[0]);charArray0 = new char[3];System. out.println("charArray0[0]=" + charArray0[0]);stringArray0 = new String[3];System. out.println("stringArray0[0]=" + stringArray0[0]);/**********************数组的初始化*************************/// 静态初始化int intArray2 [] = new int[]{20,21,22};// 静态初始化简化方式int intArray3 [] = {30,31,32};// 动态初始化int[] intArray4 = new int[3];// 错误写法:静态初始化不能指定元素个数// int intErrorArray5[] = new int[3]{50,51,52};// 错误写法:动态初始化必须指定元素个数// int intErrorArray6[] = new int[];System. out.println("intArray2[0]=" +intArray2 [0]);System. out.println("intArray3[0]=" +intArray3 [0]);System. out.println("intArray4[0]=" +intArray4 [0]);}

}

Java创建数组的几种方式相关推荐

  1. Java创建数组的三种方式 (以及length方法是否能获取数组中元素的个数)

    Java创建数组的三种方法 import java.util.Arrays; public class Sum { public static void main(String[] args){ in ...

  2. java 创建数组的三种方式及区别

    创建数组的三种方式:其实分为2类,一种是静态的创建,如方式一.一种是动态的创建,只不过根据写法的不同分为方式二和方式三: // 数组初始化的三种方式//1.声明,分配空间并赋值int[] arr0 = ...

  3. java创建数组的方式_Java创建数组的几种方式总结

    1.一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[]是一种引用类型(数组)而不 ...

  4. java创建数组的两种方法

    java创建数组的两种方法 1,静态初始化 int[] array={1,2,3,4,5}; 2,动态初始化 1)先分配空间再给数组元素赋值 int[] array=new int[10]; //需指 ...

  5. JS基础之数组--概述、创建数组的几种方式、数组的特点、数组的常用方法、数组的解构赋值、数组高级API

    一.概述 描述:数组(array)是按照一定顺序排列的一组值,每个值都拥有自己的编号,编号从0开始.整个数组用方括号来表示. 语法:var arr=[item1,item2,item3-] 1.1 注 ...

  6. Java 创建类的四种方式

    Java 创建类的四种方式 对于上学期已经学习过c++的同学,是不是对另一大编程语言产生了浓厚的兴趣,对于c++的面向对象编程,又和java的面向变量有何区别,下面我们从java四种创建对象来说起. ...

  7. 【JS】JavaScript中创建数组的6种方式(代码示例合集)

    创建数组的6种方式 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...

  8. Java创建数组的三种方法和ArrayList的用法

    Java创建数组的三种方法和ArrayList的用法 Java创建数组的三种方法 一.声明并赋值 二.声明数组名开辟空间 三.声明数组并指定元素个数 四.多维数组 ArrayList的用法 一.添加元 ...

  9. javaScript中创建数组的3种方式

    JS数组定义及详解 javascript如何定义数组? 直接上代码和截图 //javaScript中创建数组的3种方式 //方式1 var names = ["令狐冲", &quo ...

最新文章

  1. 为什么java单精度要f_为什么快速反平方根如此奇怪和慢Java?
  2. vspythonqt混合_PYQT5 vscode联合操作qtdesigner的方法
  3. 超强性能,秒级存储,华为云GeminiDB for Cassandra 正式商用了
  4. MySQL主从复制: MHA
  5. 音频杂音问题_OBS直播出现杂音或者电流声、没声音或者调大音量等操作
  6. python3 input函数
  7. jQuery jqModal弹出层
  8. VBA 字典 键值为二维数组并不断增加行
  9. NPOI实现Word表格删除一行
  10. TIA PORTAL博途中进行网络组态时,拓扑视图要不要组态,有什么作用?
  11. adb如何在linux下安装目录,Linux下Android ADB驱动安装详解
  12. 霍夫变换c语言程序,霍夫变换 | Cauthy's Blog
  13. 文件上传事件兼容性解决方案:兼容ie和谷歌
  14. HTML+CSS实现一个淡显淡隐轮播图
  15. 考题篇(6.2) 05 ❀ FortiManager ❀ Fortinet 网络安全专家 NSE 5
  16. 成都聚华祥科技:标题的关键词组合技巧
  17. uni-app 组件注册
  18. 访问Servlet的几种方式
  19. Beautifulsoup模块
  20. 基于微信小程序音乐播放器

热门文章

  1. Flannel的两种模式解析(VXLAN、host-gw)
  2. Object.keys()的实用优化
  3. 中国书法艺术《觉》孙溟㠭作品
  4. iphone音频输出_如何将您的iPhone切换为“单声道”音频(以便您可以戴一副耳塞)...
  5. 更多来自Engage 2020大会的“王炸”消息
  6. 拳皇世界6月13服务器维护,拳皇世界闪退黑屏怎么办 游戏进不去的解决方案
  7. 开箱即用,超实用的 Vue 自定义指令合集
  8. 云服务器ECS选购集锦之七如何选择服务器操作系统
  9. linux网卡中prefix是什么,网络 – PREFIX与NETMASK
  10. 高可用高性能高并发量解决方案汇总整理