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. vue cli3如何引入全局less变量

    最近在项目中需要写一个全局的style.less,然后在各组件中可以直接调用: 1.在assets下创建一个less文件: 2.安装style-resources-loader (npm i styl ...

  2. webdriver入门之环境准备

    1.安装ruby 下载ruby的安装包,很简单,不解释.装好之后打开cmd输入以下命令验证是否安装成功 ruby -v 2.安装webdriver 确保机器联网,用gem命令安装是在有网络的情况下进行 ...

  3. python学习第八天

    解析库之bs4的基本使用方法 ''' pip install beautifulsoup4#安装bs4 pip install lxml#安装lxml ''' html_doc = "&qu ...

  4. [BUUOJ记录] [BJDCTF 2nd]文件探测

    感觉算是这次比赛里面综合性很强的一道题了,主要考察SSRF.PHP伪协议包含.挖掘逻辑漏洞和一个小tirck.委屈的是第一天晚上就做到了最后一步,想到了SESSION置空即可绕过,但是最后读Flag姿 ...

  5. 线上环境去除console

    npm i -D babel-plugin-transform-remove-console babel.config.js // 获取 VUE_APP_ENV 非 NODE_ENV,测试环境依然 c ...

  6. 简单说说TCP三次握手、四次挥手机制

    1.什么是TCP TCP全称Transmission Control Protocol(传输控制协议),是一种面向连接的.可靠的.基于字节流的传输层通信协议.是为了在不可靠的互联网络上提供可靠的端到端 ...

  7. 小程序开发-小程序tabBar不显示的原因分析

    在尝试小程序开发时,tabBar这个是个非常常见的组件,但是今天在进行开发时,设置了TabBarb并没有显示,被这个问题困扰了近半小时,现在将排查问题后所得到的经验记录下来. 首先 如果tabBar不 ...

  8. SpringBoot—整合log4j2入门和log4j2.xml配置详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...

  9. 不用写代码也能做表单 —— 加载meta即可

    做增删改查要写多少代码? 一个表单一套代码,十个表单十套代码吗? 我这么懒,怎么会写这么多代码? 我想做到:即使一百个表单也只需要一套代码(而且不需要复制粘贴).实现多个表单,只需要加载不同的meta ...

  10. 记一次线上OOM问题分析与解决

    一.问题情况 最近用户反映系统响应越来越慢,而且不是偶发性的慢.根据后台日志,可以看到系统已经有oom现象. 根据jdk自带的jconsole工具,可以监视到系统处于堵塞时期.cup占满,活动线程数持 ...