java--有参有返回值方法以及方法重载
案例:模拟计算器
package learnday4;
import java.util.Scanner;
public class Demo08 {
public static void main(String[] args) {
Scanner intput = new Scanner(System.in);
System.out.println("请输入第一个数字:");
double num1 = intput.nextDouble();
System.out.println("请输入第二个数字:");
double num2 = intput.nextDouble();
System.out.println("请输入操作符:(+ - * / %任意一个)");
String operartor = intput.next();
System.out.println(calResult(num1, num2, operartor));
intput.close();
}
/**
* 模拟计算器 + - * / %
* @param num1
* @param num2
* @param operator
* @return
*/
public static double calResult(double num1,double num2,String operator) {
if (operator == " ") {
System.out.println("参数不合法,程序结束");
System.exit(-1);
}
if(operator =="/"||operator=="%"&&num2 ==0){
System.out.println("o不能做被除数,程序结束");
System.exit(-1);
}
double result = 0;
switch (operator){
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
case "%":
result = num1 % num2;
break;
default:
System.out.println("参数不合法");
System.exit(-1);
}
return result;
}
}
2.可变参数
底层封装同意方法。a(数据类型...变量名称)
public class Demo05 {
public static void main(String[] args) {
//传入>=0个实际参数
userRegister("admin","1234","jia");
}
//模拟用户注册:页面数据都是String
//一个方法里面只有一个可变参数,在最后一个位置
public static void userRegister(String... data){
//data:数组 维护多个相同类型的数据
System.out.println(data);
System.out.println(Arrays.toString(data));
}
3.无参有返回值
只要方法是有返回值的方法,在方法体里面必然会有return 数据;
返回相同或相似数据类型
对于有返回值的数据类型方法,如果返回的是String类型,要判断是否为null
public class Demo06 {
public static void main(String[] args) {
System.out.println(demo());
}
public static String demo(){
System.out.println("demo-------------");
Scanner input = new Scanner(System.in);
System.out.println("输入一个数字");
int num = input.nextInt();
if(num>10000||num<1000){
return "不是四位数";
}
return "hello";
}
}
4.方法重载
在一个类里面有很多重载的方法,这个类一帮作为工具类存在
方法重载:方法名相同,方法形参列表(顺序)必须不同,与修饰符和返回值无关
分类:
SMLearn_JAVASE学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!