【汇总】java中数组的声明、初始化及遍历
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中数组的声明、初始化及遍历的更多相关文章
- c语言中数组的定义和java中数组定义的一些区别
感谢原文:https://blog.csdn.net/gzwdz778/article/details/79799408 一维情况下: c中,数组的声明需要给出数组的维数,比如: int arr[5] ...
- Java中数组的初始化方式
Java中数组的初始化方式 初始化方式有两种: 1.静态初始化:初始化时由程序猿显式指定每一个数组元素的初始值,由系统指定数组长度 2.动态初始化:初始化时由程序猿仅仅指定数组长度,由系统为数组 ...
- Java中数组
数组的定义格式: 1: 数据类型[] 数组名 2: 数据类型 数组名 动态初始化: 初始化的时候 系统会默认给数组赋值 数据类型[] 变量名 = new 数据类型[数组长度] int[] arr = ...
- 在java 中,数组与 List<T> 类型的相互转换
在java中,数组与List<T> 之前进行互相转换,转换方法可总结为以下几种: 一. 将 数组转换成List<T> 1. 使用 Collections 的addAll 方法 ...
- Java 中数组的内存分配
Java 中数组的内存分配 1.Java 程序在运行时,需要在内存中分配空间.为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据和内存管理方式. 2.数组基本概念 数组是 ...
- 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)
方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold&q ...
- java中数组以及集合
java中数组: 数组在Java里是一种特殊类型,有别于普通的“类的实例”的对象.但实际数组也是一种对象类型,int[]a = new int[5] a是在java栈中分配的引用变量,类型是int[ ...
- java中数组有没有length()方法?string没有lenght()方法?
java中数组有没有length()方法,求数组的长度可以使用数组的length属性. int[] arr={1,2,3,4,5}; int length=arr.length;//求数组的长度 -- ...
- Java中数组在内存中的存放原理?
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yangyong0717/article/details/79165685Java中数组被实现为对象, ...
随机推荐
- hdoj--1872--稳定排序(水题)
稳定排序 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- Connection: close和Connection: keep-alive有什么区别?
看到有人问Connection: close和Connection: keep-alive有什么区别?想起以前学习到的一篇文章,今天转载来,大家看看,我也再温故知新下.如果有问题补充的在下面可以扩充下 ...
- E20171123-sl
conform vi. 符合; 遵照; 适应环境; vi. 符合; 遵照; 适应环境; adj. 一致的; 顺从的; investigat ...
- bzoj 1655: [Usaco2006 Jan] Dollar Dayz 奶牛商店【高精度+完全背包】
居然要用高精度! 懒得operator了,转移是裸的完全背包 #include<iostream> #include<cstdio> using namespace std; ...
- 【杂文】5亿大质数表(5e8)
[杂文]\(5\) 亿大质数表(\(5e8\)) 在写哈希,刷数论题时曾一度想要查质数,\(F**k\) 百度文库数据又少,翻页蛋疼,还不给复制,真的是服了. 于是在我闲的蛋疼的时候就搞了个质数表出来 ...
- python自动化测试学习笔记-7面向对象编程,类,继承,实例变量,邮件
面向对象编程(OOP)术语: class TestClass(object): val1 = 100 def __init__(self): self.val2 = 200 ...
- JS 实现PDF文件打印
function PdfPrint() { bdhtml = window.document.body.innerHTML; sprnstr = "<!-- ...
- bash、dash(/bin/bash和/bin/sh)的区别
Linux中的shell有多种类型,其中最常用的几种是Bourne shell(sh).C shell(csh)和Korn shell(ksh).三种shell各有优缺点. Bourne ...
- 231 Power of Two 2的幂
给定一个整数,写一个函数来判断它是否是2的幂. 详见:https://leetcode.com/problems/power-of-two/description/ Java实现: class Sol ...
- RabbitMQ三:Rabbit的安装
本章文章,摘自 园友 章为忠 的文章,查找了很多资料,他总结的最细,最全面,我就直接拿过来了 他的原文 http://www.cnblogs.com/zhangweizhong/p/5689209.h ...