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;
	}
}
posted @ 2021-12-11 21:42  程序员预备役  阅读(26)  评论(0编辑  收藏  举报