Java基础入门之自定义异常、形参个数可变的方法、水仙花数

Wesley13
• 阅读 653

点击上方“ Java进阶学习交流 ”,进行关注

后台回复“Java”即可获赠Java学习资料

葡萄美酒夜光杯,欲饮琵琶马上催。

前言

大家好,我是Java进阶者。这篇文章我们主要介绍Java基础入门之自定义异常、形参个数可变的方法、水仙花数知识,一起来学习下吧!

一、自定义异常

1.在JDK中定义了很多的异常类,虽然这些异常类可以说在编程时会出现大部分异常的状况,有些时候可能需要描述这个程序中会出现的异常情况。在java中可以让用户自定义异常,但自定义的异常类必须是继承自Exception或其子类。

2.自定义异常语句语法

class 自定义异常  extends 父异常类名

3.自定义异常的归纳有以下几点:

① 自定义异常类必须是继承自Exception或其子类。

② 一个方法所声明抛出的异常是这个方法与外界交互的一部分而存在的。方法的调用者需要了解这些异常,然后怎样去正确处理它们。

③ 用异常表示错误,不能使用方法的返回的值。

4.自定义异常例子

//自定义一个DivException异常类继承Exception

运行的结果是:

Java基础入门之自定义异常、形参个数可变的方法、水仙花数

从上面代码中,首先是自定义一个DivException异常类继承Exception,使用try...catch语句,try代码块主要是可能发生异常的代码块,大括号里面调用div()方法传入a=20,b=-2,catch代码块主要是捕获异常并处理。

再定义个div()方法实现两个整数相除,使用throws关键字声明抛出自定义异常,判断这个b的值是不是小于0,,如果是throw关键字抛出异常。

使用try...catch语句捕获div()方法抛出的异常,在调用div()方法传入的被除数不能是小于0的,则会抛出一个自定义DivException,该异常给catch代码块捕获并处理,输出被除数是一个负数。

二、形参个数可变的方法

1.在定义方法时,在最后一个形参的类型后增加三点…,表示这个该形参接受多个参数值,多个参数值被当成数组传入。

2.形参个数可变的方法应用:

public class p37 {

输出的结果是:

Java基础入门之自定义异常、形参个数可变的方法、水仙花数

4.形参个数可变的方法注意的问题:

1)一个方法中最多只能有一个个数可变的形参,并且需要放在所有参数的最后。

2)个数可变的形参它是一个数组类型的形参,当在调用包含个数可变形参的方法时,这个个数可变的形参可以传入多个参数,也可以传入一个数组。

三、水仙花数

1.什么是水仙花数

一个三位数,其各位数字立方和等于该数本身。例如:153=1_1_1+5_5_5+3_3_3=1+125+27

2.求100至999之间的所有“水仙花数”

public class p38 {

运行的结果是:

Java基础入门之自定义异常、形参个数可变的方法、水仙花数

从上面的代码中,获取每一个位数的值,个位、十位、百位,然后通过判断各个位上的立方是不是等于这个数,如果是就输出水仙花数,如果不是就不输出。

四、总结

本文主要介绍了自定义异常、形参个数可变的方法、水仙花数。

用户自定义异常,但自定义的异常类必须是继承自Exception或其子类。介绍了自定义异常的语法格式,通过一个案例是如何使用自定义异常。

形参个数可变的方法是在定义方法时,在最后一个形参的类型后增加三点…,表示这个该形参接受多个参数值,多个参数值被当成数组传入。

水仙花数是一个三位数,其各位数字立方和等于该数本身。

希望大家通过本文的学习,对你们有所帮助!

**********---**--****-------------- End **********---**--****--------------

往期精彩文章推荐:

Java基础入门之自定义异常、形参个数可变的方法、水仙花数

欢迎大家点赞,留言,转发,转载,****感谢大家的相伴与支持

想加入Java学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

本文分享自微信公众号 - Java进阶学习交流(java_xianghong)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
Java基础入门之Object类、匿名内部类、构造方法的继承解析
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤古调虽自爱,今人多不弹。前言大家好,我是Java进阶者。这篇文章我们主要介绍Java基础中的Object类、匿名内部类、构造方法的继承知识,一起来学习下吧!一、Object类
Wesley13 Wesley13
3年前
Java基础入门之多态和对象类型转换
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤人随沙岸向江村,余亦乘舟归鹿门。前面几篇文章用Java带大家一起了解Java的部分基础知识,感兴趣的小伙伴们可以去学习下了,一篇文章带你了解Java类的设计和封装及类成员的访问控制(https://www.osc
Wesley13 Wesley13
3年前
Java基础入门篇——for循环
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤秋风吹不尽,总是玉关情。前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)(https://www.oschina.net/ac
Wesley13 Wesley13
3年前
Java基础入门篇——方法和重载
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤何日平胡虏,良人罢远征。前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)(https://www.oschina.net/ac
Wesley13 Wesley13
3年前
Java基础入门篇——面向对象和类的定义
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤十三学得琵琶成,名属教坊第一部。前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)(https://www.oschina.ne
Wesley13 Wesley13
3年前
Java基础入门篇(五)——Java变量类型的转换和运算符
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤一枝红艳露凝香,云雨巫山枉断肠。前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)(https://www.oschina.net
Wesley13 Wesley13
3年前
Java基础入门篇——While循环
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤长安一片月,万户捣衣声。前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)(https://www.oschina.net/a
Wesley13 Wesley13
3年前
Java基础入门之异常的那些事儿
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤莫买沃洲山,时人已知处。前言大家好,我是Java进阶者。这篇文章我们主要介绍Java基础入门之try...catch、finally、throws关键字和抛出异常知识,一起来学习下吧!一、try.
Wesley13 Wesley13
3年前
Java基础入门篇(四)——Java变量数据类型和基本数据类型
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤一枝红艳露凝香,云雨巫山枉断肠。前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)(https://www.oschina.net