Java day04 小结:求用户输入数据的位数,符号位不占位

本文介绍了Java程序中如何使用Scanner获取用户输入的整数,通过方法重载计算数字位数,以及展示了方法重载、重写的概念和在代码中的应用,包括break、continue和System.exit()的使用示例。
摘要由CSDN通过智能技术生成

求用户输入数据的位数,符号位不占位:

import java.util.Scanner;
public class Test08 {
    public static void main(String[] args) {
       
        String str1="0";
        String str="-1234";
        System.out.println(str.length());//5
        System.out.println(str1.length());//1
​
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int number=sc.nextInt();
​
        System.out.println(number+"的位数为:"+muchOfNumber(number));
        System.out.println(number+"的位数为:"+getOfNumber(number));
​
    }
    
    /*
    *   目的:判断用户输入的数字有几位,符号位不算
    *   方法重载:方法名相同,形参列表不同
    */
    
    public static int muchOfNumber(int number){
        //通过计数实现
​
        int count=0;
        if(number==0){
            return 1;
        }
        while(number!=0){
            count++;
            number/=10;
        }
        return count;
    }
​
   public static int getOfNumber(int number){
        //使用将数字转换为字符串来求长度
​
        if(number>=0){
            return String.valueOf(number).length();
        }else{
            return String.valueOf(number).length()-1;
        }
​
    }
​
​
}

方法重载、重写=覆盖:

1、重载

(1)同一个类中

(2)方法名相同、形参列表不同(形参个数、对应类型不同)

2、重写=覆盖(两小一大)

(1)不同类中,父子类

(2)方法名相同,形参列表相同

(3)返回值类型范围<=父类

(4)抛出异常范围<=父类

(5)访问权限范围>=父类

(6)私有成员方法不能重写

3、报错

同一类中,方法名,形参列表相同时

跳转关键字:return、break、continue、System.exit()

1、return(方法)

在无返回值的方法中使用,跳出并立即结束当前方法的执行

2、break(循环)

结束当前所在循环(block{}) or switch分支

3、continue(循环)

结束本次循环,继续执行下一次循环

4、System.exit()(java)

功能:终止当前运行

参数:0表示正常终止、非0表示异常终止

/*方法重载:
* 同一个类中的方法名相同,形参列表不同:参数个数、对象的参数类型
* max就是方法重载,调用的时候要根据不同方法的形参列表调用
* */
public class Test07 {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        System.out.println(max(arr[0],arr[4]));
        //求两个整数之间的最大值
        System.out.println(max(arr));
        //求数组中的最大值
        System.out.println(max(arr[1],arr[3],arr[4]));
        //求三个整数之间的最大值
​
        show();
        System.out.println("方法结束!");
    }
​
    public static void show(){
        for (int i = 1; i <=10 ; i++) {
            System.out.println(i);
            if(i==5){
                //break;//结束当前循环:1,2,3,4,5 循环结束 方法结束
                //return;//结束当前方法:1,2,3,4,5 方法结束
                System.exit(0);//正常终止当前运行:1,2,3,4,5
            }
        }
        System.out.println("循环结束!");
    }
​
    public static int max(int a,int b){
        //求两个整数之间的最大数
        int max;
        if(a>b){
            max=a;
        }else{
            max=b;
        }
        return max;
    }
​
    public static int max(int[] arr){
        //求一个数组中的最大值
        int max=arr[0];
        for (int i = 1; i < arr.length; i++) {
            //从第二个元素开始对比
            if(max<arr[i]){
                max=arr[i];
            }
        }
        return max;
    }
​
    public static int max(int a,int b,int c){
        //求三个整数之间的最大值
​
        int max=0;
        if(a>b && a>c){
            max=a;
        }else if(b>a && b>c){
            max=b;
        }else if(c>a && c>b){
            max=c;
        }
        return max;
    }
}
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值