Java 代码学习之数组的初始化
我们都很熟悉Java中的数组,它具有查询快,增删慢的特点。但是通常我们自认为很了解它的用法,却容易忽略一些小细节。今天通过一段代码来简单了解数组初始化中的一些我们容易忽略的地方。
package dailytest; import org.junit.Test; public class ArrayTest { /**
* 数组的初始化方式:
* 动态初始化:int[] arr = new int[5]; 即指定数组长度,由系统给出初始值
* 长度必须指定在右侧
*
* 静态初始化:给定初始值,由系统判断长度,有两种形式:
* int[] arr2 = {1,2,3,4,5};
* int[] arr3 = new int[]{1,2,3,4,5};
*
* 两种形式不能混用,即长度与{}不能共存
*/
@Test
public void test01() {
int[] arr1 = new int[5];
int[] arr2 = {1,2,3,4,5};
int[] arr3 = new int[]{1,2,3,4,5}; //int[] arr4 = new int[5]{1,2,3,4,5};
//int[] arr5 = new int[5]{};
//int[5] arr6 = new int[][];
} /**
* 二维数组
* []的位置很灵活
*/
@Test
public void test02() {
int[][] arr1 = new int[5][6];
//System.out.println(arr1[0][0]); // int[] arr2[] = new int[5][6];
int [] arr3[] = new int[5][6];
int []arr4[] = new int[5][6];
int arr5[] [] = new int[5][6]; /**
* 对于二维数组,只指定一个长度,即一维数组的长度是可以的,它代表5个数组,每个数组里的值都是null
* 为什么是null而不是0
* 因为arr6[0]里面放的是数组,数组的初始化值是null
*/
int[][] arr6 = new int[5][];
for (int i = 0; i < arr6.length; i++) {
System.out.println(arr6[i]); //null
}
//System.out.println(arr6[0][0]); //NullPointException } }
Java 代码学习之数组的初始化的更多相关文章
- Java基础学习(二)—数组
一.数组的概念 定义: 数组是存储同一种数据类型的多个元素的集合. 数组既可以存储基本数据类型,也可以存储引用数据类型. 格式: 格式1: 数据类型[] 数组名; 格式2: 数据类型 数组名[]; 这 ...
- java基础学习总结——数组
一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的元素可以是任何数据类型,包括基 ...
- Java基础学习之数组基本属性和方法
数组对于每一门编程语言都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同.Java语言中提供的数组是用来存储固定大小的同类型元素.你可以声明一个数组变量,如 int[100] 来代替直接 ...
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- Java菜鸟学习笔记--数组篇(二):数组实例&args实例
基本类型实例 //1.定义一个一维数组,先声明,在分配空间 int []number;//生命,没有初始化,number=null number=new int[5];//初始化为默认值,int默认值 ...
- Java SE学习之数组——匿名数组和不规则数组
本文是学习网络上的文章时的总结以及自己的一点实践.感谢大家无私的分享. 近期偶然遇到了数组的问题,学习了匿名数组和不规则数组. 匿名数组适用于仅仅使用一次的情况:不规则数组适用是每行数据总数不确定的情 ...
- [改善Java代码]避免在构造函数中初始化其他类
建议35: 避免在构造函数中初始化其他类 构造函数是一个类初始化必须执行的代码,它决定着类的初始化效率,如果构造函数比较复杂,而且还关联了其他类,则可能产生意想不到的问题,我们来看如下代码: publ ...
- java基础入门之数组循环初始化
/* Name:数组循环化 Power by Stuart Date:2015-4-23 */public class ArrayTest02{ public static void main (St ...
- Java 代码学习之理解数据类型中的坑
package dailytest; import org.junit.Test; public class DataTypeTest { /** * 当有字符串第一次参与运算后,+成了连接符的作用 ...
随机推荐
- [板子]Floyd&Dijkstra
谨以此笔记记录jjw高三党四个月学习NOI的历程..如转载请标记出处 Floyd算法: 默认是业界最短路最简单的写法,并且只有五行.时间复杂度为O(N3),空间复杂度为O(N2). ;k<=n; ...
- awk巩固练习题
第1章 awk数组练习题 1.1 文件内容(仅第一行) [root@znix test]# head -1 secure-20161219 access.log ==> secure-20161 ...
- ⒁bootstrap组件 工具提示框 弹出框 警告框 基础案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jQuery_事件学习
一.click事件 click事件----鼠标单击事件 $('.bt').click(function() { alert("本身的事件");}) 当class为bt的div被但单 ...
- ArrayBuffer and Base64
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- 4. ZooKeeper 基本操作
ZooKeeper的数据模型及其API支持以下九个基本操作: 操作 描述 create 在ZooKeeper命名空间的指定路径中创建一个znode delete 从ZooKeeper命名空间的指定路径 ...
- linux下mysql启动出错
1.刚安装完就启动出错,是因为没有开msql服务,开启即可,service mysql start 2.MySQL: mysql is not running but lock exists rm / ...
- 文本域、bootstrap-table显示以及MySQL三者间的换行符问题
首先,今天在做项目的时候遇到的一个问题,如何实现文本输入换行以及在前台Bootstrap-table中显示也能够换行. 也许你马上就会想到说,用富文本编辑器,然而我们需要实现的只是文本输入以及换行功能 ...
- windows服务器下iis的性能优化 服务器
IIS性能优化 1.调整IIS高速缓存 HKEY_LOCAL_MACHINE SystemCurrentControlSetServicesInetInfoParametersMemoryCacheS ...
- eclipse使用jrebel
注:以下都是网上收集整理的,可能不全,仅限于学习和研究使用. JavaRebel是一个工具,主要是用于热加载,比如说在Tomcat之类的应用服务器中,更新了class或者某些资源文件,使用了JRebe ...