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. 洛谷P1080 国王游戏 python解法 - 高精 贪心 排序

    洛谷的题目实在是裹脚布 还编的像童话 这题要 "使得获得奖赏最多的大臣,所获奖赏尽可能的少." 看了半天都觉得不像人话 总算理解后 简单说题目的意思就是 根据既定的运算规则 如何排 ...

  2. Kafka Broker源码:网络层设计

    一.整体架构 1.1 核心逻辑 1个Acceptor线程+N个Processor线程(network.threads)+M个Request Handle线程(io threads) 多线程多React ...

  3. C#垃圾代码随机生成器

    直接上代码: using UnityEngine; using System.Collections.Generic; using UnityEditor; using System.IO; usin ...

  4. 下拉列表被flash覆盖的解决方法

    做鼎闻有一段时间了,有的banner轮播图的地方用flash替换的时候,就会导致上面的导航条下拉列表被flash覆盖,找了一段时间没有得到有效的解决方法,后来知道关键是flash的这一属性{ &quo ...

  5. Visual Studio编译Core程序部署到linux

    一.背景 随着微软拥抱开源,推出Net Core框架,目前已经支持跨平台,能部署到Linux.MacOS.Windows等系统上. 下面我们就来分享一下Visual Studio编译好的代码部署到Li ...

  6. Count(*) 与 count(field) 一样吗?

    有这么个表: 执行 select count(*) from hy_test select count(deptno) from hy_test 都得到 5 但执行 select count(name ...

  7. 10 张图聊聊线程的生命周期和常用 APIs

    上一篇文章我们聊了多线程的基础内容,比如为什么要使用多线程,线程和进程之间的不同,以及创建线程的 4 种方式.本文已收录至我的 Github: https://github.com/xiaoqi666 ...

  8. 为什么选择H5游戏开发定制?

    为什么选择H5游戏开发定制? 随着微信H5游戏推广带来的显著效果,越来越多的商家已经加入到游戏营销的队伍中来, 对H5小游戏有了解的商家都知道,[模板游戏]的价格往往低于[定制游戏]的价格,可是为什么 ...

  9. [LeetCode]494. 目标和、416. 分割等和子集(0-1背包,DP)

    题目一 494. 目标和 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S.现在你有两个符号 + 和 -.对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前 ...

  10. JDK15正式发布,划时代的ZGC同时宣布转正

    你发任你发,我用Java8.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...