056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用

本文知识点:数组的实际应用

程序开发中如何应用数组?

程序代码及其运行结果:

不同数据类型的数组的数组元素的默认值是?

int类型数组的数组元素默认值是:0

String类型数组的数组元素默认值是:null (表示空值元素,在后面的面向对象的学习中,我们会用到很多。其实可以给大家总结一点,即:所有对象数组【String类型的数组就是对象数组】在进行创建的时候,默认值都是null,就是空值)

float类型数组的数组元素默认值是:0.0

char类型数组的数组元素默认值是:空的?



public static void main(String[] args) {
//声明char类型数组ch
char [] ch ;
// 创建char数组ch
ch = new char[5];
// 初始化一个char数组b
char [] b = {'a','b','c','d','e'};
System.out.println("char类型数组ch的最后一个元素值是:" + ch[ch.length-1]);
}

因为数组元素是一系列连续的数据,所以我们经常用循环对数组元素进行赋值或者是进行输出及其他的一些处理。总之,数组和循环的关系非常密切,经常一起使用

循环为整型数组赋值——用for循环最合适

//使用循环为长度为5的整型数组intArray的数组元素赋值,值为1到5
for(int i = 0; i < 5;i++){
intArray[i] = i+1;
} //循环输出整型数组中的元素
System.out.println("整型数组intArray的元素为:");
for(int i = 0; i < 5; i++){
System.out.println(intArray[i] + " ")
}

程序代码及其运行结果:

程序中有一个隐含问题,就是数组下标问题,如果数组下标使用不当,就会引起数组下标越界

我们看一下,什么是数组下标越界。

数组下标越界的运行时异常

如果,我们明明知道,这个数组的数组长度是5,但是我们在for循环输出元素的过程中,在for循环的表达式2中,将i<5 不小心写成了 i<=5 (这是初学者经常犯的错误),会发生什么?

如下图,我们发现,数组元素正常打印输出了1 2 3 4 5。但是紧接着有个Exception,Exception在面向对象部分也会重点学习。其实之前我们遇到过Exception,就是要输入整型,但是输成字符串类型,就是非数值数据的时候,这个时候就会报错报异常,这个异常就是Exception



我们当前的这个Exception和之前输入非数字的Exception是一样的:它们都是在程序运行的过程中出现的,在编译过程中并没有出现问题。所以它们有一个共同的名字,叫做:运行时异常

解决异常步骤:

1、根据提示定位到出问题的代码行



2、发现代码问题(循环变量给的有问题,i的循环范围要修改)



3、修改代码之后,运行程序就没有异常报错了

056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用的更多相关文章

  1. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  2. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)

    094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  3. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  4. 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

    092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  5. 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)

    091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  6. 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包

    090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  7. 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包

    089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  8. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  9. 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点

    087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...

随机推荐

  1. 释放数据价值:DAYU数据运营新能力解读

    摘要:从比特到信息,这说的其实就是企业数字化转型,让数据的价值充分发挥出来,变成信息. 今天,企业对数据越来越重视,数据已经成为了企业新型的资产,甚至是核心资产,最近流传一句非常有意思的话:从比特到信 ...

  2. JS开发必须知道的41个技巧

    JS是前端的核心,但有些使用技巧你还不一定知道:本文梳理了JS的41个技巧,帮助大家提高JS的使用技巧: Array 1.数组交集 普通数组 const arr1 = [, , , , , ,],ar ...

  3. 使用easyexcel时遇到Could not initialize class net.sf.cglib.beans.BeanMap$Generator

    可以访问 这里 查看更多关于大数据平台建设的原创文章. 上一篇文章 Maven项目为什么会产生NoClassDefFoundError的jar包冲突 结合了大量的图解,详细介绍了Maven项目产生ja ...

  4. 转贴:修改springboot控制台输出的图案

    Post from:https://blog.csdn.net/WXN069/article/details/90667668 修改springboot控制台输出的图案1.在src\main\reso ...

  5. springcloudalibaba与nacos服务注册流程图

    springboot + springcloud + springcloudalibaba + nacos 服务注册流程图: springboot ①WebApplicationContext ②st ...

  6. whlie do-whlie

    switch语句  用于根据多个不同条件执行不同动作.   while 循环         while循环基本语法:    条件初始化;   while(条件表达式){     //条件表达式就是判 ...

  7. loadrunner跑场景时报错Full MDB file. New error messages will be ignored

    这个原因是在controller跑场景时,controller的日志文件占用内存太大 解决办法:先找到controller的日志文件Results——Results Setting——找到日志的路径, ...

  8. 学习go的一些笔记

    反射 reflect type CfgSt struct{ Match *int64 `ini:"match"` Desc string `ini:"desc" ...

  9. css3 压缩及验证工具

    1.css w3c统一验证工具 网址:http://www.csstats.com/ 如果你想要更全面的,这个神奇,你值得拥有: w3c统一验证工具:http://validator.w3.org/u ...

  10. 分别用canvas和css3的transform做出钟表的效果

    两种方式实际上在js上的原理都是一样的.都是获取时间对象,再获取时间对象的时分秒,时分秒乘以其旋转一刻度(一秒.一分.一小时)对应的角度.css3中要赋值于transform:rotate(角度),c ...