数组初识

1.数组的特点:

  • 数组所有元素初始化默认值,int默认值为0

  • 数组创建后大小不可改变

  • 数组索引从0开始

  • 数组是引用类型

  • 使用索引下标访问数组元素,索引超出范围会报错

2.数组的定义: 类型[] 数组名

int[] list1 = new int[5];    //如数组初始化new int[5],指定长度
int[] list2 = new int[]{1, 2, 3, 4, 5}
int[] list3 = {1, 2, 3, 4, 5}

3.示例

        //方法1
int[] ns = new int[5]; // ns指向的数组对象时[0,0,0,0,0]
ns[0] = 68 ;
ns[1] = 79;
ns[2] = 91;
ns[3] = 85;
ns[4] = 62;
//System.out.println(ns[5]);//数组越界,java.lang.ArrayIndexOutOfBoundsException
System.out.println(ns.length);//获取数组长度 //方法2:直接指定初始化的元素,由编译器自动推算数组大小
int[] scores = new int[]{68,79,91,85,62};
//方法2可以进一步简写为 int[] scoress = {68,79,91,85,62}
System.out.println(scores.length);
        //单步执行代码
int[] ns1 = new int[5];//从下图可以看到数组的初始值全是0
int[] ns2 = new int[]{1,3,5,7,9};
int[] ns3 = {2,4,6,8,10};
int[] ns4 = ns3;
System.out.println("ns1.length:"+ns1.length);
System.out.println("ns2.length:"+ns2.length);
System.out.println("ns3.length:"+ns3.length);
System.out.println("ns3[1]:"+ns3[1]);
ns3[1] = 999;
System.out.println("ns3[1]:"+ns3[1]);
System.out.println("ns4[1]:"+ns4[1]);

4.总结:

  • 数组是同一数据类型的集合
  • 数组是引用类型。为一个对象贴上了标签,一旦没有标签指向它,会被Java垃圾回收清理掉
  • 数组元素是值类型(如int[])或引用类型(如String[])
  • 数组一旦创建大小不可变
  • 可以通过索引访问数组元素
  • 索引超出范围将报错

廖雪峰Java1-2程序基础-9数组的更多相关文章

  1. 【python】廖雪峰python教程学习--基础

     No1: 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的 No2: 用r''表示''内部的字符串默认不转义 No3: 以'''开头,敲回车可以换行 No4: 布尔 ...

  2. 廖雪峰Java6IO编程-1IO基础-1IO简介

    1.IO简介 IO是指Input/Output,即输入和输出: Input指从外部读取数据到内存,例如从磁盘读取,从网络读取. * 为什么要把数据读到内存才能处理这些数据呢? * 因为代码是在内存中运 ...

  3. phython廖雪峰

    这是小白的Python新手教程,具有如下特点: 中文,免费,零起点,完整示例,基于最新的Python 3版本. Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学 ...

  4. 【js】【读书笔记】廖雪峰的js教程读书笔记

    最近在看廖雪峰的js教程,重温了下js基础,记下一些笔记,好记性不如烂笔头嘛 编写代码尽量使用严格模式 use strict JavaScript引擎是一个事件驱动的执行引擎,代码总是以单线程执行 执 ...

  5. python语言特性-------python2.7教程学习【廖雪峰版】(一)

    开始学习廖雪峰的py2.7教程: 2017年6月5日12:54:28 笔记: 廖雪峰python2.7教程1.用任何编程语言来开发程序,都是为了让计算机干活.  2.Python是一种相当高级的语言. ...

  6. 到头来还是逃不开Java - Java13程序基础

    java程序基础 没有特殊说明,我的所有学习笔记都是从廖老师那里摘抄过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来. ...

  7. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  8. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  9. 爬虫:把廖雪峰的教程转换成 PDF 电子书

    写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...

随机推荐

  1. UVA10341 Solve It

    题意 PDF 分析 在\(0\le x\le 1\)时,\(f(x)=pe^{-x}+q\sin x+r\cos x+s\tan x+tx^2+u\)是减函数,所以当\(f(0)\ge 0 \wedg ...

  2. day4 java消息中间件服务

    PS: 讲个故事,老王要给他的两个女儿讲故事,他要一个一个讲很费劲,后来他使用了微信公众号,让订阅微信公众号的人关注就减轻了负担. PS: 传统的如果一个用户进行登录,会调用分多的服务,如果没有消息中 ...

  3. C++问题汇总

    1.C++中类相互调用注意事项 (1)若A类中的方法需要调用B类中的函数,那么A类的源文件(或头文件)中需要包含B类的classs声明头文件.若使用了命名空间,还需要在B类的源文件(或头文件)中使用 ...

  4. openresty 一些可选的模板引擎

    以下为一些 openresty 可选的模板引擎,方便使用 lemplate (https://github.com/openresty/lemplate) lua-resty-tags (https: ...

  5. tailor+ skipper 实现micro-frontends 简单试用

    tailor 在Mosaic 框架中扮演fragment 模版layout的处理,后端fragment可以用任何服务编写 tailor 主要就是进行layout的处理.tailor的是类似facebo ...

  6. skipper 内置的常用filters

    skipper 的filter 功能很强大,可做好多方便的扩展 格式: all: * -> filter1 -> filter2 -> "http://127.0.0.1: ...

  7. MySQL ERROR 2005 (HY000)

    问题 使用 docker run -it --rm mysql mysql -h 192.168.18.133:3306 -uroot -p 连接远程mysql服务器时,ERROR 2005 (HY0 ...

  8. ML(附录2)——最小二乘法

    参见  :多变量微积分笔记2——最小二乘法

  9. CSS背景渐变支持transition过渡效果

    background-image 是不支持 CSS3 的transition过渡效果的,而CSS3 gradient 渐变作为背景图片存在的时候, 下面的CSS不会有过渡效果 <div clas ...

  10. jdk源码剖析三:锁Synchronized

    一.Synchronized作用 (1)确保线程互斥的访问同步代码 (2)保证共享变量的修改能够及时可见 (3)有效解决重排序问题.(Synchronized同步中的代码JVM不会轻易优化重排序) 二 ...