2018-03-12

数组是一个固定长度的,包含了相同类型数据的容器

一、声明数组:

int[] a; 声明了一个数组变量。
[]表示该变量是一个数组
int 表示数组里的每一个元素都是一个整数
a 是变量名
但是,仅仅是这一句声明,不会创建数组
有时候也会写成int a[]; 没有任何区别,就是你看哪种顺眼的问题:

public class HelloWorld {public static void main(String[] args) {// 声明一个数组int[] a;}
}

二、创建数组:

创建数组的时候,要指明数组的长度。new int[5] 
引用概念: 
如果变量代表一个数组,比如a,我们把a叫做引用;与基本类型不同:int c = 5; 这叫给c赋值为5 
声明一个引用 int[] a; 
a = new int[5]; 
让a这个引用,指向数组。

public class HelloWorld {public static void main(String[] args) {//声明一个引用int[] a;//创建一个长度是5的数组,并且使用引用a指向该数组a = new int[5];int[] b = new int[5]; //声明的同时,指向一个数组
         }
}

三、访问数组:

public class HelloWorld {public static void main(String[] args) {int[] a;a = new int[5];    a[0]= 1;  //下标0,代表数组里的第一个数a[1]= 2;a[2]= 3;a[3]= 4;a[4]= 5;}
} 

四、数组长度:

.length属性用于访问一个数组的长度
数组访问下标范围是0到长度-1
一旦超过这个范围,就会产生数组下标越界异常

public class HelloWorld {public static void main(String[] args) {int[] a;a = new int[5];        System.out.println(a.length); //打印数组的长度         a[4]=100; //下标4,实质上是“第5个”,既最后一个a[5]=101; //下标5,实质上是“第6个”,超出范围 ,产生数组下标越界异常       }
}

五、初始化数组:

1、分配空间与赋值分步进行:

public class HelloWorld {public static void main(String[] args) {int[] a = new int[5]; //分配了长度是5的数组,但是没有赋值       //没有赋值,那么就会使用默认值//作为int类型的数组,默认值是0System.out.println(a[0]);    //进行赋值   a[0] = 100;a[1] = 101;a[2] = 103;a[3] = 120;a[4] = 140;}
}

2、分配空间,同时赋值:

public class HelloWorld {public static void main(String[] args) {//写法一: 分配空间同时赋值int[] a = new int[]{100,102,444,836,3236};//写法二: 省略了new int[],效果一样int[] b = {100,102,444,836,3236};//写法三:同时分配空间,和指定内容//在这个例子里,长度是3,内容是5个,产生矛盾了//所以如果指定了数组的内容,就不能同时设置数组的长度int[] c = new int[3]{100,102,444,836,3236};         }
}

转载于:https://www.cnblogs.com/Parker-YuPeng/p/8551000.html

JAVA 基础 / 第十九课: 数组 / JAVA 如何创建一个数组相关推荐

  1. JAVA 基础 / 第二十九课:接口与继承 / JAVA中的对象转型

    2018-03-19 一.明确引用类型与对象类型的概念 引用类型与对象类型的概念 在这个例子里,有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是ADHero 引用也是 ...

  2. 重学java基础第十九课:helloWorld详解

  3. JAVA 基础 / 第二十九课:接口与继承 / JAVA 重写方法和多态

    2018-03-19 子类可以继承父类的对象方法.在继承后,重复提供该方法,就叫做方法的重写:又叫覆盖 override 1.父类Item 父类Item有一个方法,叫做effect package p ...

  4. java基础总结(十九)--JDK各个版本的区别

    来自:https://blog.csdn.net/papima/article/details/78219001 jdk1.5的新特性: 1. 泛型    ArrayList list=new Arr ...

  5. 夯实Java基础(十九)——集合

    1.前言 集合在Java中的地位想必大家都知道,不用多BB了.无论是在我们现在的学习中还是在今后的工作中,集合这样一个大家族都无处不在,无处不用.在前面讲到的数组也是一个小的容器,但是数组不是面向对象 ...

  6. java 实现类转接口_JAVA 基础 / 第二十九课:接口与继承 / JAVA中的对象转型

    2018-03-19 一.明确引用类型与对象类型的概念 引用类型与对象类型的概念 在这个例子里,有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是ADHero 引用也是 ...

  7. java基础第十九篇之Xml

    1:xml的概述 1.1 xml是什么 标记语言:语言中出现了<a></a>的标签 a:HTML 超文本标记语言 (语法非常严格,不能随意的定义标签) b:XML 可扩展的标记 ...

  8. 重学java基础第二十五课:数据类型

  9. 重学java基础第二十四课:标识符合关键字

最新文章

  1. 今日头条CEO朱文佳:新一代搜索引擎已经来了
  2. 安装RRDtool 1.4.5
  3. 由c#的值类型与引用类型说开去
  4. mysql排插问题_手把手教你分析 MySQL 死锁问题
  5. 科立捷默认频率_科立捷电子产品技术参数.doc
  6. JS-获取当前URL的参数
  7. vue路由守卫、vue-ajax请求
  8. Python制作微信小助手
  9. Docker attach和Docker exec的区别
  10. 月饼事件技术还原 - 用js+Chorme来做抢电商的东西吧
  11. Qt for WinRT
  12. 64位windows系统的PatchGuard
  13. Redis学习笔记(数据结构篇)String
  14. Halide教程Part01:build、语法、调度、流水线
  15. 公司、分公司、子公司、有限公司、企业、个体户的区别!
  16. 第二届全国技能大赛(世赛项目)福建省选拔赛 网络安全项目任务书
  17. Java实现的经典坦克大战小游戏
  18. 7.21高峰奖励政策--滴滴快车
  19. 从磁盘中读入一个文件并写入另一个文件
  20. VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态——解决方法

热门文章

  1. cntopic库:支持中英文LDA话题分析
  2. unittest安装教程_Unittest单元测试框架
  3. C# Combox设置只读
  4. 强化学习Q-learning入门
  5. 系统架构师—软件架构设计(一)概述、构建、视图、基本架构风格
  6. java y z x_表示关系 X=Y=Z 的 JAVA 语言表达式为_机械工程材料及热处理答案_学小易找答案...
  7. 齿轮箱数据集_齿轮箱的类型-精选资料
  8. NC开发软件的错误以及改正
  9. MD5密码破解(高额悬赏1000大洋)
  10. kafka consumer 停止消费topic