JAVA学习笔记--数组初始化
JAVA中,数组只是相同类型的、用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。数组通过方括号下标操作符[]来定义和使用,要定义一个数组只需在类型名后面加上一个方括号即可,如:
int[] a; // 创建一个int型数组a
当然,也可以这样写:
int a[]; // 创建一个int型数组a
编译器不允许指定数组的大小,我们用上述方法创建的只是对数组的一个引用(你已经为该引用分配了足够的存储空间),而且也没有给数组分配存储空间。为了给数组分配相应的存储空间,需要进行数组初始化。数组初始化可以出现在代码任何地方,也可以在创建数组的同时进行初始化:
int[] a1 = {1,2,3,4} // 创建一个int型数组,并在创建的同时进行初始化
int[] a2; // 创建一个int型数组,这里只是创建了一个数组引用
a2 = new int[]; // 用new对数组进行初始化
可以将一个数组赋值给另一个数组:
a2 = a1; // 将数组a1赋值给a2,这里做的其实是复制一个引用
这时,a1、a2都是同一个数组的引用,是指向同一个数组的,因此a1改变的同时,a2也会改变。
下面这个程序简单演示了一下数组的初始化及赋值
import java.util.Random;
public class test {
public static void main(String[] args){
Random rand = new Random(47); // 以47为种子产生一个随机数
int[] a = new int[10]; // 定义一个int型数组并初始化
for(int i = 0;i < 10;i++){ // 为数组赋值
a[i] = rand.nextInt(20); // rand.nextInt(20)用于返回下一个伪随机数,它是此随机数生成器序列的在0(包括)-20(不包括)之间均匀分布的int值
}
for(int i = 0;i < 10;i++){
System.out.println(a[i] + " "); // 打印数组a[10]
}
}
}
最后输出结果为:
JAVA学习笔记--数组初始化的更多相关文章
- java学习笔记 --- 数组
一.Java的内存分配 A:栈内存: 存储局部变量,只要是在方法中定义的变量都是局部变量.一旦变量的生命周期结束该变量就被释放. B:堆内存: 存储所有new出来的,及实体(对象),每一个实体 ...
- JAVA学习笔记-数组的三种初始化方式
package Study; public class TestArray02 { public static void main(String[] args){//声明 int[] a; int ...
- Thinking in java学习笔记之初始化
1.基本数据类型:类的每个基本数据类型保证有一个初值(char为0输出则是空白) 2.构造器: 3.静态初始化顺序示例及总结 4.非静态初始化顺序 4.数组
- 0023 Java学习笔记-面向对象-初始化代码块
初始化代码块 在18篇-类的基本要素中说到,类的三大成员:成员变量.构造方法.方法,初始化代码块是类的第4个成员 初始化块用于对类或者对象的初始化, 一个类的初始化块可以有0-多个,按先后顺序执行 跟 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- java学习笔记之基础篇
java选择语句之switch //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...
- 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类
static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
随机推荐
- ASP.NET Core MVC中Controller的Action如何直接使用Response.Body的Stream流输出数据
在ASP.NET Core MVC中,我们有时候需要在Controller的Action中直接输出数据到Response.Body这个Stream流中,例如如果我们要输出一个很大的文件到客户端浏览器让 ...
- ES6中let与const命令详解
阮一峰ES6入门 let 作用域 let命令用来声明变量,但声明的变量只在let命令所在的代码块内有效. { let a = 10; var b = 1; } a // ReferenceError: ...
- python3爬虫-爬取B站排行榜信息
import requests, re, time, os category_dic = { "all": "全站榜", "origin": ...
- 【PTA 天梯赛】L1-046 整除光棍(除法模拟)
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1.11.111.1111等.传说任何一个光棍都能被一个不以5结尾的奇数整除.比如,111111就可以被13整除. 现在,你的程序 ...
- java 加载并读取Properties 文件
1 .系统自带的application.properties (以下代码仅供参考,不能粘贴复制) 假设application.properties文件有下面两个值: come.test.name = ...
- SVN(独立安装)-1.9.7 centos 6.5(64位)
说明: 运行方式: 基于Apache的http.https网页访问形式: 基于svnserve的独立服务器模式. 数据存储方式: 在Berkeley DB数据库中存储数据: 使用普通的文件FSFS存储 ...
- Parallel Pattern Library(PPL)学习笔记
关于PPL是什么,可以搜索关键字MSDN PPL了解详情.这里谈一下困扰自己好一阵子的一个地方--task chain中抛出异常的处理,一来可为其他码农同行参考,二来给自己做个记录,以免日后忘却. V ...
- MySQL - CentOS 下 MySQL 5.6 安装
1. 概述 最近没啥东西可写, 随便写点 mysql 5.6 的安装 去年写的 装上去过 三次以上 2. 准备 系统 CentOS 7.4 3. 安装 1. 直接安装 # mysql服务端: mysq ...
- Oracle入门第三天(下)——子查询
一.子查询 1.子查询语法 SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table) 示例: ...
- 20155232 2016-2017-2 《Java程序设计》第2周学习总结
20155232 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 类型 基本类型 整数(short.int.long) 字节(byte) -128~127 字 ...