求用户输入数据的位数,符号位不占位:
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; } }