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. 力扣Leetcode 680. 验证回文字符串 Ⅱ

    验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca ...

  2. mysql表中时间timestamp设计

    Mysql数据库中CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP区别   如图所示,mysql数据库中,当字段类型为timestamp时,如果默认值取CUR ...

  3. MySQL 数据库 查 续

    MySQL 增删查改 必知必会 4.1.13 使用 like 关键字进行模糊查询 -- 说明:模糊查询,使用查询关键字like,like意思是类似于,像...的意思 -- 模糊查询,支持两种字符匹配符 ...

  4. 简单的特征值梯度剪枝,CPU和ARM上带来4-5倍的训练加速 | ECCV 2020

    论文通过DBTD方法计算过滤阈值,再结合随机剪枝算法对特征值梯度进行裁剪,稀疏化特征值梯度,能够降低回传阶段的计算量,在CPU和ARM上的训练分别有3.99倍和5.92倍的加速效果   来源:晓飞的算 ...

  5. Tooltip鼠标hover放上时文字提示

    使用content属性来决定hover时的提示信息. 由placement属性决定展示效果: placement属性值为:                 方向-对齐位置: 四个方向:top.left ...

  6. “未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决方案

    不论是连接Access数据库或是SQL Server数据库,"未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序."这个问题从Of ...

  7. Shader 001 - 函数造型能力

    0x00 从函数出发 Shader 中的很多效果都是由函数计算得出的,如何更好地理解二者的关系呢.不妨先看看函数是什么?函数的定义可以简单地描述为:给定一个集合 A,对于其中的元素施加法则 f,则可以 ...

  8. spring boot环境配置以及开发工具选择(Spring一)

    首先安装java jdk jdk的安装参考:https://blog.csdn.net/zhys0902/article/details/79499329配置效果如下: 接下来是maven的相关配置 ...

  9. JavaScript 异步编程

    博客地址:https://ainyi.com/96 众所周知,JavaScript 是单线程的,但异步在 js 中很常见,那么简单来介绍一下异步编程 同步编程和异步编程 同步编程,计算机一行一行按顺序 ...

  10. Java基础之HashMap原理分析(put、get、resize)

    在分析HashMap之前,先看下图,理解一下HashMap的结构 我手画了一个图,简单描述一下HashMap的结构,数组+链表构成一个HashMap,当我们调用put方法的时候增加一个新的 key-v ...