Java数组及二维数组初始化与赋值方法总结

Java数组及二维数组初始化与赋值方法总结1.定义数组直接赋值inta[]={1,2,3,4,5};2.用new在数组中创建元素inta[]=newint[]{1,2,3};注意:后面的[]不要忘了3.创建指定大小数组,但不赋值 intc[]=newint[3]; System.out.println(Arrays.toString(c));注意:基本类型会自动初始化为空值,int型则为0.输出结果为[0,0,0],Arrays.toString产生一维数组的可打印版本。4.先声明再赋值 intc[

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

一维数组初始化

1.定义数组直接赋值

int a[]= { 
   1,2,3,4,5};

2.用new在数组中创建元素

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

注意:后面的[]不要忘了

3.创建指定大小数组,但不赋值

		int c[]=new int[3];
		System.out.println(Arrays.toString(c));

注意:基本类型会自动初始化为空值,int型则为0.输出结果为[0, 0, 0],Arrays.toString产生一维数组的可打印版本。

4.先声明再赋值

		int c[]=new int[3];
		for(int i=0;i<3;i++) { 
   
			c[i]=i;
		}

注意:若声明后,直接用c={1,2,3}操作是错误的。

5.一个数组赋给另一个数组

		int a[]= { 
   1,2,3,4,5};
		int b[];
		b=a;

注意:这种方法真正做的只是复制了一个引用,简单的说就是a,b指针指向同一个内存空间,即对b操作相当于对a操作,当然Java没提指针这个概念。

6.动态设定数组大小

	Scanner a=new Scanner(System.in);
	int length;
	length=a.nextInt();
	int num[]=new int[length];
	while(a.hasNextInt()) { 
   
		num[i]=a.nextInt();
		i++;
	}

使用scanner类输入length大小,动态规定数组的大小。注意数组赋值的时候不要发生越界了。

7.创建非基本类型数组,则其创建了引用数组。注意与第三点基本类型数组区别
如下代码,即便new创建数组后,仍然还是引用数组,指导创建新的Integer对象,并将其赋给引用,初始化才完成。

		Integer d[]=new Integer[3];
		System.out.println(d[0]);//输出null
		for(int i=0;i<3;i++) { 
   
			d[i]=i;
			//直接用int赋值是因为装箱和拆箱原理,若不懂参考其他资料
		}

二维数组四种初始化

import java.util.ArrayList;

public class learn1 { 
   
public static void main(String args[]) { 
   
	int[][]a1= { 
   { 
   1,2},{ 
   3,4},{ 
   5,6,7}};
	for(int i=0;i<a1.length;i++) { 
   
		System.out.print(a1[i].length+" ");
		for(int j=0;j<a1[i].length;j++)
			System.out.print(a1[i][j]+" ");
		System.out.println();
	}
	
	System.out.println();
	int[][]a2=new int[2][3];
	for(int i=0;i<a2.length;i++) { 
   
		System.out.print(a2[i].length+" ");
		for(int j=0;j<a2[i].length;j++)
			System.out.print(a2[i][j]+" ");
		System.out.println();
	}
	
	System.out.println();
	int[][]a3=new int[2][];
	for(int i=0;i<a3.length;i++) { 
   
		a3[i]=new int[3];
		System.out.print(a3[i].length+" ");
		for(int j=0;j<a3[i].length;j++)
			System.out.print(a3[i][j]+" ");
		System.out.println();
	}
	
	System.out.println();
	ArrayList<Integer> a4[]=new ArrayList[3];
	for(int i=0;i<a4.length;i++) { 
   
		a4[i]=new ArrayList();
		a4[i].add(1);
		for(int j:a4[i])
			System.out.print(j+" ");
		System.out.println();
	}
}
}

输出:
2 1 2 
2 3 4 
3 5 6 7 

3 0 0 0 
3 0 0 0 

3 0 0 0 
3 0 0 0 

1 
1 
1 

最后,基本数组赋值与初始化就这么多,若我有写掉的后续我会补充。

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

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

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


相关推荐

  • Mysql经典练习题50题「建议收藏」

    Mysql经典练习题50题「建议收藏」网上关于这套练习题较多使用的是比较老的mysql版本,我使用的是Serverversion:8.0.15MySQL练习数据数据表–1.学生表Student(SId,Sname,Sage,Ssex)–SId学生编号,Sname学生姓名,Sage出生年月,Ssex学生性别–2.课程表Course(CId,Cname,TId)–CId–课程编号,Cna…

    2022年9月18日
    0
  • 常见的ARM集成开发环境

    常见的ARM集成开发环境1.ARMSDT:是ARM公司为方便用户在ARM芯片上进行应用软件开发而推出的一整套开发工具。到ARMSDT2.5.1,ARM宣布推出ARMADS1.0取代了ARMSDT,不再对ARMSDT进行维护。ARMSDT支持的ARM处理器最高到包括ARM9在内的所有ARM处理器。配合Angel驻留程序和JTAG仿真器,用户使用可方便的使用ARMSDT进行应用程序的开发。2.ARM

    2022年5月18日
    38
  • 使用libpng读写PNG图片

    使用libpng读写PNG图片libpng是一款C语言编写的比较底层的读写PNG文件的跨平台的库。借助它,你可以轻松读写PNG文件的每一行像素。因为PNG文件是经过压缩而且格式复杂的图形文件(有的PNG文件甚至像GIF文件一样带动画效果)而且PNG可以是带透明通道的真彩色图像、不带透明通道的真彩色图像、索引颜色、灰度颜色等各种格式,如果大家都自己写程序分析PNG文件就会显得很麻烦、很累。因此,通过使用libpng你就能直接…

    2022年10月22日
    0
  • python获取窗口句柄

    python获取窗口句柄importwin32guiclassHwnd():defget_hwnd_dic(self,hwnd,hwnd_title):if(win32gui.IsWindow(hwnd)andwin32gui.IsWindowEnabled(hwnd)andwin32gui.IsWindowVisible(hwnd)andwin32gui.GetWindowTe

    2022年7月21日
    22
  • Anaconda中将python 3.7版本退回python 3.6版本

    Anaconda中将python 3.7版本退回python 3.6版本最近在下载tensorflow的时候出现了如下图所示的情况:Couldnotfindaversionthatsatisfiestherequirementtensorflow经过一番查找资料,发现,原来在2019年,TensorFlow还不支持python3.7,所以,迫于无奈,我只能乖乖把python的版本退回到3.6版本,具体步骤也很简单。就是打开anacondap…

    2022年5月28日
    125
  • win10系统用激活码激活,用dos命令来激活,只能激活半年时间,暂时没找到永久的。

    win10系统用激活码激活,用dos命令来激活,只能激活半年时间,暂时没找到永久的。自己之前用激活工具激活的,激活时间好像是180天,即将到期了,于是在网上百度各种永久激活方法,参照别人的方法,发现把自己的激活状态由激活即将到期变为通知模式,瞬间一脸懵逼,于是找啊找,终于找到了这种方式,亲测可行。(1)首先查看自己系统的激活状态;快捷键win+r输入命令:slmgr.vbs-xpr; 随后弹出窗口显示2018/9/8过期。 (2)然后以管理员模式打开命令提示符窗…

    2022年5月30日
    112

发表回复

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

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