Java基础入门之自定义异常、形参个数可变的方法、水仙花数
后台回复“Java”即可获赠Java学习资料
今
日
鸡
汤
葡萄美酒夜光杯,欲饮琵琶马上催。前言大家好,我是Java进阶者。这篇文章我们主要介绍Java基础入门之自定义异常、形参个数可变的方法、水仙花数知识,一起来学习下吧!
一、自定义异常1.在JDK中定义了很多的异常类,虽然这些异常类可以说在编程时会出现大部分异常的状况,有些时候可能需要描述这个程序中会出现的异常情况。在java中可以让用户自定义异常,但自定义的异常类必须是继承自Exception或其子类。
2.自定义异常语句语法
class 自定义异常 extends 父异常类名{ 类体; }
3.自定义异常的归纳有以下几点:
① 自定义异常类必须是继承自Exception或其子类。
② 一个方法所声明抛出的异常是这个方法与外界交互的一部分而存在的。方法的调用者需要了解这些异常,然后怎样去正确处理它们。
③ 用异常表示错误,不能使用方法的返回的值。
4.自定义异常例子
//自定义一个DivException异常类继承Exceptionclass DivException extends Exception{public DivException(){super();//调用Exception无参数的构造方法}public DivException(String msg){super(msg);//调用Exception有参数的构造方法}}public class p36 {public static void main(String[] args) {// TODO Auto-generated method stub//定义try...catch语句用来捕获异常try{int result=div(20,-2);//调用div()方法System.out.println(result);}catch(DivException e){//捕获并处理异常System.out.println(e.getMessage());}}//此方法实现两个整数相除,使用throws关键字声明抛出自定义异常public static int div(int a,int b) throws DivException{//判断b的值是不是小于0if(b<0){//使用throw关键字声明抛出异常throw new DivException("被除数是一个负数");}int result=a/b;//定义一个int类型变量result,保存两个数相除结果return result;//结果返回值}}
运行的结果是:
从上面代码中,首先是自定义一个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 {// 定义了形参个数可变的方法public static void test(int a , String... books){// books被作为数组处理for (String tmp : books){System.out.println(tmp);}System.out.println(a);}public static void test(String[] books){for (String tmp : books){System.out.println(tmp);}}public static void main(String[] args) {// TODO Auto-generated method stubtest(3, "python应用实战" , "Java应用实战");//调用test()方法}}
输出的结果是:
4.形参个数可变的方法注意的问题:
1)一个方法中最多只能有一个个数可变的形参,并且需要放在所有参数的最后。
2)个数可变的形参它是一个数组类型的形参,当在调用包含个数可变形参的方法时,这个个数可变的形参可以传入多个参数,也可以传入一个数组。
三、水仙花数1.什么是水仙花数
一个三位数,其各位数字立方和等于该数本身。例如:153=111+555+333=1+125+27
2.求100至999之间的所有“水仙花数”
public class p38 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.print("100-999的水仙花有:");for (int i = 100;i <= 999 ;i++ ) {//获取100到999之间的数//个位数int a = i % 10;//123 % 10//十位数int b = i / 10 % 10;//12 % 10;//百位数int c = i / 10 / 10 % 10;//1 % 10if (a * a * a + b * b * b + c * c * c == i) {System.out.print(i+"、"); }}}}
运行的结果是:
从上面的代码中,获取每一个位数的值,个位、十位、百位,然后通过判断各个位上的立方是不是等于这个数,如果是就输出水仙花数,如果不是就不输出。
四、总结本文主要介绍了自定义异常、形参个数可变的方法、水仙花数。
用户自定义异常,但自定义的异常类必须是继承自Exception或其子类。介绍了自定义异常的语法格式,通过一个案例是如何使用自定义异常。
形参个数可变的方法是在定义方法时,在最后一个形参的类型后增加三点…,表示这个该形参接受多个参数值,多个参数值被当成数组传入。
水仙花数是一个三位数,其各位数字立方和等于该数本身。
希望大家通过本文的学习,对你们有所帮助!
-------------------End-------------------
往期精彩文章推荐:
一篇文章带你了解Java继承那些事儿一篇文章教会你使用Java中的super关键字基本用法一篇文章带你了解Java中的static关键字和静态变量、静态方法一篇文章带你了解Java类的设计和封装及类成员的访问控制欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Java学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...