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 

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Dumpbin

    Dumpbindumpbin.exe是微软二进制文件转储器。显示有关通用对象文件格式(COFF)的二进制文件的信息。可以使用DUMPBIN检查COFF对象文件、COFF对象、可执行文件和动态链接库(Dll)的标准库。用法:DUMPBIN[选项][文件]选项:/ALL;此选项显示除代码反汇编外的所有可用信息。使用/DI…

  • Error:Execution failed for task ‘:app:validateSigningDebug’. > Keystore file D:\Android_keystore\deb

    Error:Execution failed for task ‘:app:validateSigningDebug’. > Keystore file D:\Android_keystore\deb

  • 直线段检测法(LSD)

    直线段检测法(LSD)直线段检测法(LSD)1简介2算法介绍3.算法简述感谢观看:)本文仅用于个人学习/复习1简介LSD是一种线段检测算法,该方法号称是能在线性时间(linear-time)内得到亚像素级准确度的直线段检测算法。LSD的目标在于检测图像中局部的直的轮廓,这也是我们称之为直线分割的原因。2算法介绍LSD直线检测方法首先计算每个像素点的水平线(level-Line)角度,从而形成了一个水平线场,即单位矢量场,这里像素点的水平线角度就是该点梯度方向的垂直角度,如下图所示,而水平线场就是一个与图像中的点一一对应

  • NSIS教程(9): NSIS+duilib仿QQ安装包

    NSIS教程(9): NSIS+duilib仿QQ安装包本文在NSIS教程(8):基于第三方界面库的安装包界面基础上,分享如何使用NSIS结合duilib高仿QQ安装包的过程。先上效果图吧!完整NSIS脚本#======================自定义宏==============================!definePRODUCT_NAME”腾讯QQ”!defineE

    2022年10月22日
  • mp4 文件中的h264 avc1格式介绍

    mp4 文件中的h264 avc1格式介绍转自:http://www.mworkbox.com/wp/work/314.htmlMP4的视频H264封装有2种格式:h264和avc1,对于这个细节,很容易被忽略。笔者也是在改编LIVE555流媒体时,增加mp4文件类型支持时遇到了该问题。(一)首先,从原理上了解一下这2种格式的区别:AVC1描述:H.264bitstreamwithoutstartcode

    2022年10月17日
  • xiao zhang   jia you[通俗易懂]

    xiao zhang   jia you[通俗易懂]加油! 转载于:https://blog.51cto.com/755633522/542479

发表回复

您的电子邮箱地址不会被公开。

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