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]
    }
  }
}

最后输出结果为:

转载于:https://www.cnblogs.com/tongye/p/6604698.html

JAVA学习笔记--数组初始化相关推荐

  1. Java 学习笔记 - 数组类型互转

    Java 学习笔记 - 数组类型互转 数组类型转换 字符串数组 to (Integer.Long.Double)列表 传统方式 Java8 Stream方式 数组 to 数组 字符串数组 to (in ...

  2. Java学习笔记#数组的初始化方式

    数组的初始化方式一共有三种:静态初始化,动态初始化,默认初始化. 1 package cn.sxz.arrays; 2 /** 3 * 测试数组的三种初始化方式 4 * @author xingzhu ...

  3. JAVA学习笔记(九)- 初始化块与静态代码块

    初始化块 /** 初始化块* 初始化变量方式:声明时.构造函数.代码块* 使用static关键字修饰的代码块,称为静态代码块* * 执行顺序:静态代码块>代码块>构造方法* * 静态代码块 ...

  4. java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组

    java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 文章目录 java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 一.运算符和表达式 1.数学函数与 ...

  5. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

  6. java学习笔记12--异常处理

    java学习笔记系列: java学习笔记11--集合总结 java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 j ...

  7. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  8. java学习笔记15--多线程编程基础2

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...

  9. java学习笔记14--多线程编程基础1

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...

最新文章

  1. VC++从txt文本中读取字符和数字
  2. 借助Spring站点开始一个spring项目
  3. 手把手教你发布一个Python包
  4. Linux下Kill函数用法
  5. list元素求和_LeetCode刷题实战82:删除排序链表中的重复元素 II
  6. html引vue怎么实现国际化,Vue项目中Vue-i18n和element-ui国际化开发实现过程_唇印_前端开发者...
  7. JAVA classpath jar问题[zz]
  8. vue入门学习(基础篇)
  9. [2005.04.24 20:47:26] 实践与思考之窥索[原创]
  10. redis集群环境搭建入门
  11. Node:中间件——express简单的写日志中间件
  12. 文言文亦能编程,该项目在GitHub摘得5500星!
  13. 华为机试题python版本
  14. 华为云 云学院 白嫖
  15. IOS------网易新闻滚动标题
  16. requirement
  17. ssis trainning
  18. 为什么量子计算机比经典计算机更强大,最新从实验层面证明:量子计算,确实比经典计算更具优势!...
  19. 【总结】明星产品slogan
  20. 《Imperfect C++中文版》——1.2 编译期契约:约束

热门文章

  1. Linux中Iptable防火墙规则的应用
  2. 关于Heritrix学习的问题记录
  3. WPF and Silverlight 学习笔记(十):WPF控件模型
  4. 银行柜台基金买卖现长龙 业内支招宜用新方式
  5. linux c语言工具,Linux下C语言编程环境的工具.doc
  6. java链式编程_Java 中的链式编程
  7. bootstrap table传回的数据后端怎么获取_Flasksqlalchemy让你的数据库和网页执手偕老吧...
  8. 使用 Gitlab 进行嵌入式软件开发技巧
  9. c语言进位程序,c语言中如何做带进位位移
  10. mysql 多线程_数据库选型之MySQL(多线程并发)