Java基础——2021-12-11
Java基础——2021-12-11
方法的原子性
即一个方法只实现一个功能
方法前用static修饰表示可以不用对象直接在类中调用
方法的重载
重载就是在同一个类中方法名
相同,但是参数
不同
main方法传参
可以通过命令行给main方法传参
public class Demo01{
public static void main(String[] args){
for(int i=0;i<args.length;i++){
System.out.println("args["+i+"]:"+args[i]);
}
}
}
//命令行代码如下,首先在该java文件src目录下打开命令操作行
javac 包名.Demo01.java //将java文件编译成.class文件
java 包名.Demo01 this is canshu //执行class文件并传递三个字符串:"this"、"is"、"canshu"进入main函数
//输出结果如下
args[0]:this
args[1]:is
args[2]:canshu
可变参数
- 在方法声明中,在指定参数类型后加一个省略号(...)
- 一个方法只能指定一个可变参数
- 可变参数必须是方法的最后一个参数
public class Demo02{
public static void main(String[] args){
Demo02 demo02 = new Demo04();
demo02.test(1,2,3,4);
}
public void test(int... i){
for(int j=0;j<i.length;j++)
System.out.print(i[j]);
}
//输出结果为: 1
2
3
4
}
递归
递归包括两个部分
* 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
* 递归体:什么时候需要调用自身方法。
//经典阶乘
public int f(int n){
if(n==1||n==0)
return 1;
return n*f(n-1);
}
计算器
public class Calc{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
double a = scan.next();
char c = scan.next();
double b = scan.next();
double result;
switch(c){
case '+': result = add(a,b);break;
case '-': result = sub(a,b);break;
case '*': result = mul(a,b);break;
case '/': result =div(a,b);break;
}
System.out.println("结果为:"+result);
scan.close();
}
public static double add(double a,double b){
return a+b;
}
public static double sub(double a,double b){
return a-b;
}
public static double mul(double a,double b){
return a*b;
}
public static double div(double a,double b){
return a/b;
}
}