方法初识
package method;
public class Demo01 {
public static void main(String[] args) {
// 实际参数:实际用来调用的参数
// int sum=add(3,4);
// System.out.println(sum);
test();
}
//加法
//形式参数,用来定义作用的
public static int add(int a,int b){
return a+b;
}
public static void test(){
//练习2:0-1000间能被5整除的,每三个换行
for (int i = 1; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if (i%(3*5)==0){
System.out.println();
}
}
}
}
package method;
public class Demo02 {
public static void main(String[] args) {
int max=max(9,9);
System.out.println(max);
// 值传递和引用传递
}
//比大小的方法,选出大的
public static int max(int a,int b){
int result=1;
if (a==b){
System.out.println("两个值相等");
return 0;//终止方法
}
if (a>b){
result=a;
}
else {
result=b;
}
//一般return在最外面最后面
return result;
}
}
值传递和引用传递
参考了这位老师的资料
方法重载
package method;
public class Demo03 {
public static void main(String[] args) {
int sum1=add(20,30);
int sum2=add(20,30,50);
double sum3=add(20.0,30.0);
System.out.println("两数相加 "+sum1);
System.out.println("三数相加 "+sum2);
System.out.println("两浮点数数相加 "+sum3);
}
//对加法方法 实现方法重载
public static int add(int a,int b){
return a+b;
}
public static int add(int a,int b,int c){
return a+b+c;
}
public static double add(double a, double b){
return a+b;
}
}
可变参数
package method;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 = new Demo04();//对象调用方法
demo04.test(3.14,1,2,3,4);
}
public void test( double i,int... j){
System.out.println(i);
System.out.println(j[0]);
System.out.println(j[1]);
System.out.println(j[2]);
}
}
递归
package method;
public class Demo05 {
//计算5!
public static void main(String[] args) {
Demo05 test = new Demo05();
System.out.println(test.f(5));
}
public int f(int n){
if(n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
作业
写一个计算器实现加减乘除,并且能够循环接收新的数据,通过用户交换实现,后续有机会把计算器界面实现
package method;
import java.util.Scanner;
public class cal {
//计算器
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum=0;
int num1=0;
int num2=0;
int m=1;
String str="";
//输入第一个操作数
System.out.println("输入操作数: ");
if (scanner.hasNextInt()){
num1= scanner.nextInt();
}
//用while实现计算器的循环
while (true){
System.out.println("输入 + - * /选择计算器功能,输入 # 结束");
if (scanner.hasNext()) {
str = scanner.next();
}
if (str.equals("#")){
System.out.println("结束");
System.out.println("计算结果:"+num1);
break;
}
//第二个操作数
System.out.println("输入操作数");
if (scanner.hasNextInt()){
num2= scanner.nextInt();
}
//switch结构选择计算功能
switch (str){
case "+":
//相加后的和充当第一个数和后面的书相加
num1=add(num1,num2);
break;
case "-":
num1=minus(num1,num2);
break;
case "*":
num1=mul(num1,num2);
break;
case "/":
num1=div(num1,num2);
break;
}
System.out.println("计算结果:"+num1);
}
scanner.close();
}
public static int add(int a,int b){
a+=b;
return a;
}
public static int minus(int a,int b){
a-=b;
return a;
}
public static int mul(int a,int b){
a*=b;
return a;
}
public static int div(int a,int b){
a/=b;
return a;
}
}