数组的声明方式和类声明的几种方式

Java创建数组的几种方式总结
转载 &更新时间:日 10:35:57 & 投稿:jingxian
下面小编就为大家带来一篇Java创建数组的几种方式总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
1、一维数组的声明方式:
type[] arrayN 或 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
附:这部分源代码:
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创建数组的几种方式总结的全部内容了,希望对大家有所帮助,多多支持脚本之家~
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具您现在的位置是:&&C# 自定义类型的数组与 Array 类分类:标签:1. 自定义类型的数组
namespace ConsoleApplication4
class Program
static void Main(string[] args)
Person[] myPersons = new Person[2];
myPersons[0] = new Person(&Lilian&, &Chen&);
myPersons[1] = new Person(&1&, &2&);
Console.WriteLine(myPersons[0].ToString());
Console.WriteLine(myPersons[1].ToString());
// 对自定义类型使用数组初始化器
Person[] persons = new Person[] {new Person(&a&, &b&), new Person(&c&, &d&)};
Console.WriteLine(persons[1].ToString());
Console.ReadLine();
public class Person
public Person()
public Person(string firstName, string lastName)
this.FirstName = firstN
LastName = lastN
public string FirstName
public string LastName
public override string ToString()
return String.Format(&{0} {1}&, FirstName, LastName);
注意:如果数组中的元素是引用类型,就必须为每个数组元素分配内存。myPersons 是一个存储在堆栈上的变量,该变量引用了存储在托管堆上的 Person 元素数组。数组中的每一项都引用了一个 Person 对象。2. 创建数组用 [] 声明数组是 C# 中使用 Array 类的记号,在后台会创建一个派生于抽象基类 Array 的新类。这样就可以使用 Array 类为每个 C# 数组定义的方法和属性了。Array 类是一个抽象类,所以不能用构造函数来创建数组。但除了可以使用 C# 语法创建数组实例之外,还可以使用静态方法 CreateInstance() 创建数组(如果事先不知道元素的类型,就可以使用该静态方法)。
namespace ConsoleApplication5
class Program
static void Main(string[] args)
// CreateInstance 方法的第一个参数是元素的类型,第二个参数是数组的大小
Array intArray = Array.CreateInstance(typeof(int), 5);
for (int i = 0; i & intArray.L i++)
// 使用 SetValue() 方法设置值
intArray.SetValue(i, i);
for (int i = 0; i & intArray.L i++)
// 使用 GetValue() 方法读取值
Console.WriteLine(intArray.GetValue(i));
Console.ReadLine();
// 将已经创建的数组强制转换成声明为 int[] 的数组
int[] intArray1 = (int[])intA
Console.WriteLine(intArray1.Length);
用 CreateInstance() 方法创建多维数组和不基于 0 的数组:
namespace ConsoleApplication4
class Program
static void Main(string[] args)
int[] lengths = { 2, 3 };
int[] lowerBounds = { 1, 10 };
Array racers = Array.CreateInstance(typeof(Person), lengths, lowerBounds);
racers.SetValue(new Person(&a&, &b&), 1, 10);
racers.SetValue(new Person(&c&, &d&), 1, 11);
racers.SetValue(new Person(&e&, &f&), 1, 12);
racers.SetValue(new Person(&g&, &h&), 2, 10);
racers.SetValue(new Person(&i&, &j&), 2, 11);
racers.SetValue(new Person(&k&, &l&), 2, 12);
Person[,] racers1 = (Person[,])
Person first = racers1[1, 10];
public class Person
public Person()
public Person(string firstName, string lastName)
this.FirstName = firstN
LastName = lastN
public string FirstName
public string LastName
public override string ToString()
return String.Format(&{0} {1}&, FirstName, LastName);
3. 复制数组1) 如果数组的元素是值类型,就会复制所有的值
int[] intArray1 = { 1, 2 };
// 如果删掉 “(int[])” 会有 Error “Cannot implicitly convert type ‘object’ to 'int[]'”
int[] intArray2 = (int[]) intArray1.Clone
2) 如果数组包含引用类型,则不复制元素,而只复制引用如果修改 beatlesClone 中的一个元素的属性,就会改变 beatles 中的对应对象。
Person[] beatles = { new Person(&John&, &Lennon&), new Person(&Paul&, &McCartney&) };
Person[] beatlesClone = (Person[])beatles.Clone();
来自:分享到:上一篇:下一篇:java定义数组的三种类型
三种定义数组的格式如下:
int[] arr1=new int[10];
int[] arr2={1,2,3,6};
int[] arr3=new int[]{1,2,3,4,5,6,7,22};
注意:数组的length是一个属性,而字符串的length()是一个方法了!!!虽然都是求的他们各自的长度
package 第四天;
public class 数组 {
public void showArray(int[] arr)
for(int i=0;i&arr.i++)
System.out.print(arr[i]+"\t");
System.out.println();
public static void main(String[] args) {
int[] arr1=new int[10];
int[] arr2={1,2,3,6};
System.out.println(arr2[0]);
int[] arr3=new int[]{1,2,3,4,5,6,7,22};
shuzu=new 数组();
shuzu.showArray(arr1);
shuzu.showArray(arr2);
shuzu.showArray(arr3);
shuzu.showArray(new int[]{1,3,2,33});
java使用数组实现Map集合
JAVA中方法(函数)的定义与使用
JAVA 数组类型
java中数组的讨论:是不是类?
java基本类型和数组以及二维数组
day04_java基础++函数+数组
java中数组的定义及使用
java基础篇之函数与数组
java 11:数组作为函数参数,数组做为函数返回值
js和java中数组的区别和定义方式
没有更多推荐了,java中数组的三种定义方式
java中,数组是一种很常用的工具,今天我们来说说数组怎么定义
* 数组的三种定义方法
* 1.数组类型[] 数组名=new 数组类型[数组长度];
* 2.数组类型[] 数组名={数组0,数组1,数组2,数组3,....};
* 3.数组类型[] 数组名=new 数组类型[]{数组0,数组1,数组2,...};
public class WhatEver {
public static void main(String[] args) {
//第一种 例:
String[] test1 = new String[6];
test1[0] = "数组0";
test1[1] = "数组1";
//第二种 例:
String[] test2 = {"数组0","数组1","数组2","...."};
//第三种 例:
String[] test3 = new String[]{"数组0","数组1","数组2","...."};
希望能帮到大家
Java_数组定义及常用方法
数组定义的三种方式
java中如何定义数组
Java中数组的定义和使用
java 如何定义数组和初始化
Java 数组定义的常见方式
java定义数组的三种类型
java方法的定义以及数组的使用
Java的数组操作
java数组定义及使用
没有更多推荐了,

我要回帖

更多关于 根据数组声明的方式,可以可以分为 的文章

 

随机推荐