Java方法
Java方法
emmm
把Java方法当做c语言的函数来理解。。?
差不多
那就水课吧!
注意
猜你想问:return到底怎么用啊!!教程里面报错是为什么啊!!!
你不问我也说:
在Java中,return语句的核心规则是:有返回值类型的方法,必须保证所有执行路径都有
return语句返回对应类型的值
方法的重载
在一个类中,可以出现多个名字相同,但是参数类型不同的方法,这就是方法的重载。
调用方法时,程序会根据你在main方法中调用方法所需参数类型来调用对应的方法
package com.flora.base.main;
public class Demo01 {
static void main(String[] args) {
int b=3;
int c=4;
int a=sum(b,c);
double d=sum(b,c);
System.out.println(a);//7
System.out.println(d);//7.0
}
static int sum(int a,int b){
return a+b;
}
static double sum(double a,double b){
return a+b;
}
}
//此时我们调用的方法名字都为sum
//但是整数类型的a变量返回的值是整数类型的7
//而浮点数类型的d变量返回的值是浮点数类型的7.0
算了,上图片!

命令行传参
先上代码
package com.flora.base.main;
public class Demo02 {
static void main(String[] args) {
for (int i=0;i<args.length;i++){
System.out.println("args[" +i+"]="+args[i]);
}
}
}
运行结果:

先在对应目录下对目标文件进行编译
随后返回src目录,在命令行中调用包
这里的包名:com.flora.base.main
在程序中,我们需要对args[]数组传参
所以在命令行中,调用包后输入参数
回车,程序输出
可变参数
Java支持传递同类型的可变参数给同一个方法
用法:在方法声明中,在指定参数类型后加一个省略号...
注意:
一个方法中只能指定一个可变参数,他必须是方法的最后一个参数,其他普通的参数必须在
他前面声明
package com.flora.base.main;
public class Demo03 {
static void main(String[] args) {
Demo03 demo03=new Demo03();
demo03.test(1,2,3);
}
static void test(int x,int... i){
System.out.println(x);
System.out.println(i[0]);
System.out.println(i[1]);
}
}
//输出:
//1
//2
//3
相信在这里聪明的不聪明的应该都发现啦!
可变参数就是把输入的所有参数保存在一个数组里,数组名就是可变参数的变量名
递归
(有种复习c语言的感觉。。。)
就是自己调用自己呗。。
这里也不说了吧。
练习:(我已经丧失一半编程能力了。。)
package com.flora.base.main;
//简单计算器
import java.util.Scanner;
public class CalculateMachine {
static void main(String[] args) {
CalculateMachine cm=new CalculateMachine();
Scanner scanner=new Scanner(System.in);
boolean flag=true;
while(flag) {
System.out.println("请输入第一个数");
double n1 = scanner.nextDouble();
System.out.println("请输入第二个数");
double n2 = scanner.nextDouble();
System.out.println("1:加法,2:减法,3:乘法,4:除法");
System.out.println("请选择方式:");
int n3 = scanner.nextInt();
switch (n3) {
case 1:
cm.add(n1, n2);
break;
case 2:
cm.jian(n1, n2);
break;
case 3:
cm.cheng(n1, n2);
break;
case 4:
cm.chu(n1, n2);
break;
default:
System.out.println("无法识别");
break;
}
System.out.println("继续计算:y,退出:其他字符");
char choice=scanner.next().charAt(0);
if(choice=='y'){
continue;
}
else{
flag=false;
System.out.println("已退出程序");
}
}
scanner.close();
}
static void add(double a,double b){
System.out.println(a+b);
}
static void jian(double a,double b){
System.out.println(a-b);
}
static void cheng(double a,double b){
System.out.println(a*b);
}
static void chu(double a,double b){
if(b==0){
System.out.println("error");
}
else{
System.out.println(a/b);
}
}
}
浙公网安备 33010602011771号