听不懂【再过一遍的时候看】
何为方法
package method;
import java.util.Scanner;
public class Demon01 {
//main方法
public static void main(String[] args) {
//int sum = add(1, 2);
//System.out.println(sum);
test(); //调用方法
}
//加法
public static int add(int a, int b) {
return a + b;
}
public static void test() {
for (int i = 1; i <= 1000; i++) {
if (i % 5 == 0) {
System.out.print(i + "\t"); //print输出完不会换行, /t是自动对齐
}
if (i % (5 * 3) == 0) { //每行println输出完会换行,是指三个一行输出
System.out.println();
}
}
}
}
方法的定义和调用
package method;
public class Demon02 {
public static void main(String[] args) {
int max = max(10, 20);
System.out.println(max);
}
//比大小
public static int max(int num1,int num2){
int result = 0;
if (num1==num2){
System.out.println("");
return 0; //终止方法
}
if (num1>num2){
result=num1;
}
if (num2>num1){
result=num2;
}
return result;
}
}
方法的重载(懵)
命令行传参
可变参数
package method;
public class Demon04 {
public static void main(String[] args) {
//调用可变参数的方法
printMax(34,3,3,2,56.5);
printMax(new double[]{1,2,3});
}
public static void printMax(double...numbers) {
if (numbers.length == 0){
System.out.println("No argument passed");
return;
}
double result = numbers[0];
//排序
for (int i = 1; i <numbers.length ; i++) {
if (numbers[i] > result){
result = numbers[i];
}
System.out.println("the max value is"+result);
}
}
}
递归
package method;
public class Demon06 {
public static void main(String[] args) {
System.out.println(f(5));
}
//3!=3*f(2) f(2)=2*1
public static int f(int n) {
if (n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
作业
import java.util.Scanner;
/*
写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。思路推荐:
1. 写4个方法:加减乘除 2. 利用循环+switch进行用户交互 3. 传递需要操作的两个数 4. 输出结果
*/
public class Calc {
public static void main(String[] args) {
while (true) {
System.out.println("请输入运算类型之一,运算类型包括(+,-,*,/),输完以后按回车键结束");
Scanner scanner = new Scanner(System.in);
String operator = scanner.next();
if (operator.equals("quit")) {
System.out.println("退出当前计算机");
break;
} else {
System.out.println("请输入计算的两个数,输入一个数之后按回车键");
}
Scanner scanner1 = new Scanner(System.in);
double d1 = scanner1.nextDouble();
Scanner scanner2 = new Scanner(System.in);
double d2 = scanner2.nextDouble();
double result = 0;
switch (operator) {
case "+":
result = add(d1, d2);
break;
case "-":
result = sub(d1, d2);
break;
case "*":
result = mul(d1, d2);
break;
case "/":
result = div(d1, d2);
break;
default:
System.out.println("请重新输入");
}
System.out.println(d1 + operator + d2 + "=" + result);
}
}
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;
}
}