java中数组用来存储固定大小的同类型元素

一维数组:

1.数组的声明:

    //声明一维数组,推荐用第一种
int[] a;
int b[];

2.数据的初始化:有三种初始化方式

(1).静态初始化

   //静态初始化
int[] a = {1,2,3}

(2).用new声明,之后分别初始化数组中的每个元素,声明时需指定数组大小

 int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;

(3).用new声明的同时初始化,这种方式不能指定数组的大小,数组大小由初始化列表中数据个数决定

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

3.数组的遍历:有两种方式

(1). for遍历

        System.out.println("for循环遍历数组");
for (int i=0; i<a.length; i++) {
System.out.println(a[i]);
}

(2).foreach遍历

  System.out.println("foreach循环遍历数组");
for (int i:a) { //冒号前面的i表示数组的类型,后面的a表示数组
System.out.println(i);
}

注:所有已知的类型都可以定义为数组,除了基本数据类型外,还可以声明引用类型(主要是类的对象)的数组。

//以下声明一个Person类对象的数组,并初始化
Person[] p = new Person[3];
p[0] = new Person();
p[1] = new Person();
p[2] = new Person(); //用foreach循环遍历数组
for (Person person:p) {
System.out.println(person);
}

二维数组:

1.数组的声明:

        //声明二维数组,推荐用第一种
int[][] a;
int b[][];

2.数据的初始化:有四种初始化方式

(1).静态初始化

int[][] a = {{1,2},{3,4,5,6},{7,8,9}};

(2).用new声明,之后分别初始化数组中的每个元素,声明时指定数组的行数和列数,此种方式声明的数组列数是不可变的

        //声明一个3行2列的数组
int[][] a = new int[3][2];
//分别给每个元素赋值
a[0][0] = 1;
a[0][1] = 2;
a[1][0] = 3;
a[1][1] = 4;
a[2][0] = 5;
a[2][1] = 6;

(3).用new声明,之后分别初始化数组中的每个元素,声明时只指定数组的行数不指定列数,此种方式声明的数组列数是可变的,但不可只设置列数不设置行数

        String[][] s = new String[2][];
s[0]=new String[2]; //为第一行设置两列
s[1]=new String[3]; //为第二行设置三列
s[0][0] = "张三";
s[0][1] = "李四";
s[1][0] = "王五";
s[1][1] = "赵六";
s[1][2] = "秦七";

(4).用new声明的同时初始化,这种方式不能指定数组的大小,数组大小由初始化列表中数据个数决定

        int[][] a = new int[][]{{1,2},{3,4,5,6},{7,8,9}};
String[][] str = new String[][]{{"张三","李四","王五"},{"李白","刘备","张飞"}};

3.数组的遍历:有两种方式

(1). for循环

        for (int i=0; i<s.length; i++) {
for (int j=0; j<s[i].length; j++) {
System.out.println(s[i][j]);
}
}

(2). foreach循环

        for (String[] i:s) {
for (String j:i) {
System.out.println(j);
}
}

【汇总】java中数组的声明、初始化及遍历的更多相关文章

  1. c语言中数组的定义和java中数组定义的一些区别

    感谢原文:https://blog.csdn.net/gzwdz778/article/details/79799408 一维情况下: c中,数组的声明需要给出数组的维数,比如: int arr[5] ...

  2. Java中数组的初始化方式

    Java中数组的初始化方式    初始化方式有两种: 1.静态初始化:初始化时由程序猿显式指定每一个数组元素的初始值,由系统指定数组长度 2.动态初始化:初始化时由程序猿仅仅指定数组长度,由系统为数组 ...

  3. Java中数组

    数组的定义格式: 1: 数据类型[] 数组名 2: 数据类型 数组名 动态初始化: 初始化的时候 系统会默认给数组赋值 数据类型[] 变量名 = new 数据类型[数组长度] int[] arr = ...

  4. 在java 中,数组与 List<T> 类型的相互转换

    在java中,数组与List<T> 之前进行互相转换,转换方法可总结为以下几种: 一. 将 数组转换成List<T> 1. 使用 Collections 的addAll 方法 ...

  5. Java 中数组的内存分配

    Java 中数组的内存分配 1.Java 程序在运行时,需要在内存中分配空间.为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据和内存管理方式. 2.数组基本概念 数组是 ...

  6. 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

    方法一:使用Arrays.asList()方法   1 2 String[] asset = {"equity", "stocks", "gold&q ...

  7. java中数组以及集合

    java中数组: 数组在Java里是一种特殊类型,有别于普通的“类的实例”的对象.但实际数组也是一种对象类型,int[]a = new int[5]  a是在java栈中分配的引用变量,类型是int[ ...

  8. java中数组有没有length()方法?string没有lenght()方法?

    java中数组有没有length()方法,求数组的长度可以使用数组的length属性. int[] arr={1,2,3,4,5}; int length=arr.length;//求数组的长度 -- ...

  9. Java中数组在内存中的存放原理?

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yangyong0717/article/details/79165685Java中数组被实现为对象, ...

随机推荐

  1. [ZJOI 2007] 矩阵游戏

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1059 [算法] 二分图最大匹配 时间复杂度 : O(N^3) [代码] #inclu ...

  2. luogu3941入阵曲

    https://www.zybuluo.com/ysner/note/1301562 题面 统计在给出的\(n*m\)矩阵中,有多少个不同的子矩形中的数字之和是\(k\)的倍数? 解析 切不掉这道题是 ...

  3. 深入理解JMM(Java内存模型) --(三)顺序一致性

    数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.Java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码 ...

  4. bzoj 1801: [Ahoi2009]chess 中国象棋【dp】

    注意到一行只能放012个炮,我们只需要知道列的状态,不用状压行 所以设f[i][j][k]表示前i行有j列有1个炮,有k列有2个炮的方案数 然后分情况讨论转移就行了 #include<cstdi ...

  5. ionic2.1.0 --beta3版本新建页面做弹框时遇到的问题

    新建的页面需要在app.module.ts文件中定义.不然制作页面弹出效果是会报错.

  6. SQL Server触发器创建、删除、修改、查看示例步骤

    一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发 ...

  7. http2及server push

      本文主要研究下java9+springboot2+undertow2启用http2及server push maven <parent> <groupId>org.spri ...

  8. Traceback (most recent call last): File "setup.py", line 22, in <module> execfile(join(CURDIR, 'src', 'SSHLibrary', 'version.py')) NameError: name 'execfile' is not defined

    在python3环境下安装robotframework-SSHLibraray报错: Traceback (most recent call last): File "setup.py&qu ...

  9. EditText(4)常用属性详解

    常用的属性: 显示密码 通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码. editText.setTransformationMethod( ...

  10. PHP定义字符串时单引号和双引号的区别

    一般用单引号或双引号标识一个字符串.单引号串与双引号串,在PHP中的处理是不同的.双引号中的内容可以被解释并被替换,单引号串中的内容则被作为普通字符处理. 例如: $str=6; echo " ...