Java创建数组的方法

Java创建数组的方法最近在学Java,一点小心得,希望和大家分享一下,第一次写文章,写的不好希望大家谅解,当然我也会尽力写好这篇文章!本章介绍的创建数组的各种方法,并对它们进行了对比和剖析,最后还扩展了一些知识。

大家好,又见面了,我是你们的朋友全栈君。

最近学Java,一点小心得,希望和大家分享一下,第一次写文章,写的不好希望大家谅解,当然我也会尽力写好这篇文章!

Java创建数组的方法大致有三种

说明:这里以int为数据类型,以arr为数组名来演示

一、声明并赋值

int[] arr = {1,2,4, …};
注意这里的花括号不是语句块,而且而且花括号后的分号也不能省,…不是元素意思是可以指定多个元素

二、声明数组名开辟空间并且赋值

int[] arr;
arr = new int[]{1,2,3, …};

三、声明数组时指定元素个数然后赋值

int[] arr1= new int[3];
注意:最大元素下标为2,并且所有的元素值均为0
赋值一般用for循环

四、在以上的基础上创建多维数组

  1. int[][] arr = {
    {1,2,3},{4,5,6},{7,8,9}};
    //每个子数组元素个数不要求均相同
  2. int[][] arr = new int[m][n]; //其中n可以省略,在创建的时候可以指定
  3. int[][][] arr = new int[m][n][q]; //同样其中n、q可以省略

总结

  • 无论那种方法声明必须有 :数据类型 [ ] , 如:int[ ]
  • 创建多维数组时,new后面的第一个方括号中的元素数量总不能省略
  • “new 数据类型[]{}”创建数组时,其中花括号可以省去,但要在“[ ]”中填写数组的个数

各个创建数组的方法使用演示如下

方法一:

int[] arr2 = { 
   10,20,30};
  for(int element:arr2) { 
   
   System.out.print(element+"\n");//其中 "\n" 是换行
  }

输出结果:

10
20
30

方法二:

char[] arr4 ;  //char型输入时要用单引号(')引着!
  arr4 = new char[] { 
   'a','b','c'};
  for(char element:arr4) { 
   
   System.out.print(element + " ");
  }

输出结果:

a   b   c 

方法三:

  int[] arr = new int[10];
     //换成i<10 或i<=9 因为 arr[10]不存在 强行调用会出错(溢出)!
  for(int i = 0;i<=9;i++) { 
   
   arr[i]=i;
   System.out.print(arr[i]+" ");
  }

输出结果:

0 1 2 3 4 5 6 7 8 9 

方法四

1.
int[][] arr = { 
   { 
   1,2,3},{ 
   4,5,6},{ 
   7,8,9}};
矩阵形式输出为:
1 2 3
4 5 6
7 8 9
1.
int[][] arr = new int[m][n];
在赋值时使用for循环
for(int i=0;i<m;i++){ 
   
	for(int j=0;j<n;j++){ 
   
		arr[i][j] = int;	
	}
}
若声明时省略n,赋值时须在内层循环中生成新一维数组
for(int i=0;i<m;i++){ 
   
	arr[i] = new int[数量];
}

二维以上的数组使用的不多,又因为使用方法同二维基本相同,所以在这里就不再演示了。

内容扩展

1. for each语句(增强性for循环)

用于对数组或实现Iterator接口的列表(ArrayList、LinkedList)集合(Set)等容器对象进行遍历。

格式:

for (数据类型 : emelent){ 
   
 	System.out.println(emelent);
}

应用代码:

int[] arr2 = { 
   10,20,30};
  for(int element:arr2) { 
   
   System.out.print(element+"\n");
  }

运行结果:

10
20
30

2.length属性 与 length()方法

二者区别:

  • length属性是针对Java中的数组来说的,要求数组的长度可以用其length属性
  • length()方法是针对字符串来说的,要求一个字符串的长度就要用Java的length()方法
  • Java中的size()方法是针对泛型集合(Set)或列表(List)说的,如果想看这个泛型容器中有多少元素,就调用此方法

应用代码:

for(int i=0;i<arr5.length;i++) { 
   
   arr5[i]=i;
}

3.Arrays的toString方法

作用: 将数组的元素生成字符串,数组的各个元素使用方括号括着 [ ]
格式: Arrays.toString(数组名称)
注意: 此方法不能用于直接获得二维数组
应用代码:

int[] arr = { 
   111,222,333};
System.out.println(Arrays.toString(arr));

运行结果:

[111, 222, 333]

希望以上对大家有帮助!


想了解作者更多,请移步我的个人网站,欢迎交流、留言~
极客技术空间:https://elltor.com/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133703.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 制作百度音乐标签页面html,百度音乐标签.html[通俗易懂]

    制作百度音乐标签页面html,百度音乐标签.html[通俗易懂]无标题文档全部歌手AAFineFrenzyAirSupplyAlnSpink安其拉安在旭安室奈美惠BBabyfaceBackstsktrrt..BandariBarbraStreisandBeeGss北京天使合唱团宝儿包包的音乐花园巴哈尔古丽巴桑布仁巴雅尔CChrisGarneauCheistinaAguileraChristina…

    2022年7月25日
    14
  • js Map对象的用法[通俗易懂]

    js Map对象的用法[通俗易懂]第一篇:Map:Map是一组键值对的结构,具有极快的查找速度。举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array:varnames=[‘Michael’,’Bob’,’Tracy’];varscores=[95,75,85];给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应…

    2022年9月5日
    4
  • laravel 获取目录下的所有目录Storage::directories

    laravel 获取目录下的所有目录Storage::directories

    2022年2月14日
    198
  • gamma校正 matlab,Gamma校正 ——图像灰度变化 OpenCV (十)

    gamma校正 matlab,Gamma校正 ——图像灰度变化 OpenCV (十)Gamma校正(C++、OpenCV实现)1.作用:Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系:伽玛校正由以下幂律表达式定义:2.函数原型voidcalcHist(constMat*images,intnimages,constint*channels,InputArraymask,OutputArrayhist,int…

    2022年9月22日
    0
  • 从几何角度理解反函数的导数[通俗易懂]

    从几何角度理解反函数的导数[通俗易懂]从几何角度理解反函数的导数在同一个函数图像中,反函数和函数表达式是对同一个函数的不同表示tan⁡(π2−α)=tan⁡β cot⁡α=tan⁡β 1tan⁡α=tan⁡β 1f′(x)=φ′(y)\tan(\frac{\pi}{2}-\alpha)=\tan\beta\\~\\\cot\alpha=\tan\beta\\~\\\frac{1}{\tan\alpha}=\tan\beta\\~\\\frac{1}{f'(x)}=\varphi'(y)tan

    2025年6月28日
    0
  • 国产 Linux 发行版再添新成员,CutefishOS 系统简单体验

    国产 Linux 发行版再添新成员,CutefishOS 系统简单体验本文转载自IT之家随着众多开发者的加入,现代化且功能强大的Linux发行版不断涌现。现在国产Linux发行版再多一员大将,其名为CutefishOS,它在Ubuntu上提供了桌面环境,在国外Linux开源社区相当受欢迎。CuteFishOS的目标是“做更好的桌面操作系统”。为此,开发者使用KDE框架、Qt和KDEPlasma5构建一个新的桌面环境(’CuteFishDE’),似乎还借鉴了深度操作系统(DDE)、MATE和JingOS。据官网介绍,这是一款简

    2022年5月16日
    110

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号