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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cpu不能直接读取和执行_pc机有几个微处理器

    cpu不能直接读取和执行_pc机有几个微处理器笔记本电脑最重要的硬件是CPU(中央处理器)。它的质量直接关系到计算机的性能。CPU不好,其他硬件也很好,计算机性能也不好。因此,购买笔记本电脑时,务必要考虑CPU性能。以下编辑器分享了笔记本计算机的CPU性能排名,让我们看一下。笔记本CPU性能排名清单排名模型CPU标记值[第一名]IntelXeonE5-2687W@3.10GHz[评分:14564][第二名]IntelXeon…

    2022年9月19日
    2
  • 自监督学习 | (1) Self-supervised Learning入门

    自监督学习 | (1) Self-supervised Learning入门原文地址本文通过整理自监督学习的一系列工作,把主流方法分成三大类,方便大家更全面的了解自监督学习的定义、方法、用途。学习的范式我们首先来回顾下机器学习中两种基本的学习范式,如图所示,一种是监督学习,一种是无监督学习(林轩田课程中把机器学习范式分为监督学习、半监督学习、无监督学习以及强化学习)。监督学习利用大量的标注数据来训练模型,模型的预测和数据的真实标签产生损失后进行反向传播(计算梯度…

    2022年5月18日
    40
  • win10安装ubuntu「建议收藏」

    win10上安装ubuntu为了能更好地学python,本来打算装个双系统,用Linux写python,不过发现双系统切换起来麻烦了点,然后就发现有虚拟机这东西。花费了一些时间,最后成功通过VMwareWorkstationPro14虚拟机安装了ubuntu,在此将安装教程整合一下,供需要者参考。 1.安装VMwareWorkstationPro14虚拟机要安装ubun…

    2022年4月13日
    50
  • drupal安装教程mysql_Drupal7安装完整教程

    drupal安装教程mysql_Drupal7安装完整教程Drupal7史前准备工作(安装AppServ)AppServ是PHP网页架站工具组合包,作者将一些网络上免费的架站资源重新包装成单一的安装程序,以方便初学者快速完成架站,AppServ所包含的软件有:Apache、ApacheMonitor、PHP、MySQL、phpMyAdmin等。1.下载appserv-win32-2.5.10.exe(http://www.a…

    2022年5月30日
    41
  • 服务器重启项目引发的nginx 502 Bad Gateway解决

    服务器重启项目引发的nginx 502 Bad Gateway解决一、问题起因:ssh登录远程服务器重启项目(第一次),未等tomcat启动完成,直接访问项目的对应后台管理系统网站,导致网页一直加载不出来,心急又去重复启动项目(第二次),再次访问网页报错:502BadGatewaynginx。二、解决思路:…这里饶了很多弯路。前面几步是没有解决的错误思路,想要看最终解决,直接跳过,去查看最后的总结…1.首先想到去查看nginx日志,…

    2022年6月24日
    96
  • 新学C#线程使用总结建议收藏

    这两天在项目上需要使用多线程技术,研究了半天,碰到了一些问题,现在简要总结下。线程的使用其实很简单,和JAVA里面差不多,但是还是有很多特别的地方,在C#中的线程,如果要对非线程创建的控件进行操作的话

    2021年12月20日
    46

发表回复

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

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