Java基础入门之自定义异常、形参个数可变的方法、水仙花数
小职 2021-02-21 来源 :Java进阶学习交流 阅读 439 评论 0

摘要:本文主要向大家介绍了Java基础入门之自定义异常、形参个数可变的方法、水仙花数,通过具体的内容向大家展现,希望对大家对Java的学习有所帮助。


本文主要向大家介绍了Java基础入门之自定义异常、形参个数可变的方法、水仙花数,通过具体的内容向大家展现,希望对大家对Java的学习有所帮助。

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

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

 

一、自定义异常

 

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

 

2.自定义异常语句语法

 

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

{  

类体;  

}

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

 

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

 

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

 

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

 

4.自定义异常例子

 

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

class 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的值是不是小于0

        if(b<0){

            //使用throw关键字声明抛出异常

            throw new DivException("被除数是一个负数");

        }

        int result=a/b;//定义一个int类型变量result,保存两个数相除结果

        return result;//结果返回值

  }

}

运行的结果是:

 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 {

// 定义了形参个数可变的方法

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 stub

          test(3, "python应用实战" , "Java应用实战");//调用test()方法

  }

}

输出的结果是:

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

 

 

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 stub

    System.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 % 10

        if (a * a * a + b * b * b + c * c * c == i) {

          System.out.print(i+"、");  

        }

      }

    }

}

运行的结果是:

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

 

 

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

 

四、总结

 

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

 

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

 

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

 

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

 

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


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取最新技术干货教程资源

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

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程