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)


相关推荐

  • WPF布局之WrapPanel与StackPanel

    WPF布局之WrapPanel与StackPanel转载:https://www.cnblogs.com/Im-Victor/p/10565030.html三.WrapPanelWrapPanel布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够是就会自动调整进行换行,后续排序按照从上至下或从右至左的顺序进行。Orientation——根据内容自动换行。当Horizontal选项看上去类似于Windows资源管理器的缩略图视图:元素是从左向右排列的,然后自上至下自动换行。Vertical选项看上去类似于Windows资源..

  • matlab求解不定方程组_matlab解参数方程组

    matlab求解不定方程组_matlab解参数方程组最想说的一句话:要查matlab用法,一定要到官网去查,一些用法matlab官方是在不断更新的,现存的一些办法已经无法解决问题使用的是solve这个函数它拥有解决优化问题,解方程的功能,下面我将举一些常用的例子文章目录一、解单变量方程二、解多变量方程三、解带参数方程四、解不等式知识点总结一、解单变量方程题目:求解方程2x+1=0 2x+1=02x+1=0symsx…

  • 存储和计算技术的选择

    存储和计算技术的选择

  • 二级导航菜单[通俗易懂]

    二级导航菜单[通俗易懂]本文用html5+css实现了二级导航菜单,二级导航菜单在网站建设中使用的越来越广泛。效果图如下:当鼠标悬停在一级菜单上时,出现二级下拉菜单二级下拉菜单可以被选中,当鼠标悬停上去时,变色。html代码&lt;!DOCTYPEhtml&gt;&lt;html&gt;&lt;head&gt;&lt;metacharset="UTF-…

  • 在 IT 外包公司工作有哪些优势和弊端?

    在 IT 外包公司工作有哪些优势和弊端?看外包公司的性质,有的是外包人力,有的是承接外包项目在自己公司做,有的是承接项目在外包公司做,也有的公司上面这几项同时做,同时也可能开发自己的产品。对用人单位来讲,短期看我喜欢外包人力,因为能解决公司人力紧缺的问题,同时外包人员和项目组成员配合更紧密,对项目出活有好处。我自己的亲身体会是,外包公司派过来的人一般要比自己的员工更努力,不挑活,他们希望通过好好表现,将来可以留在外派公司里。长期来看,我…

  • phpstrom2019.3.3激活码破解方法

    phpstrom2019.3.3激活码破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

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

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