java方法
01 什么是方法
public class Demo01 {
// 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<=9;i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+ i * j+"\t\t");
}
System.out.println("\n");
}
}
}
02 方法的定义和调用
public class Demo02 {
public static void main(String[] args) {
int max=max(20,10);
System.out.println(max);
}
//比大小
public static int max(int num1,int num2){
int result =0;
if(num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result =num1
}else{
result =num2;
}
return result;
}
}
03 方法的重载
public class Demo02 {
public static void main(String[] args) {
double max=max(20,10);
System.out.println(max);
}
public static double max(double num1,double num2){//方法重载
double result =0;
if(num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result =num1;
}else{
result =num2;
}
return result;
}
//比大小
public static int max(int num1,int num2){
int result =0;
if(num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result =num1*num2;
}else{
result =num2*2;
}
return result;
}
}
//200.0
04:命令行传递参数
public class Demo03 {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("args["+i+"]:"+args[i]);
}
}
}
05 可变参数
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 =new Demo04();
demo04.test(1,2,3,4,5,6,7);
}
public void test(double a,int ...i){//可变参数
//一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它的之前声明
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
System.out.println(i[4]);
System.out.println(i[5]);
System.out.println(a);
}
}
/*结果
2
3
4
5
6
7
1.0*/
public class Demo05 {
public static void main(String[] args) {
//调用可变参数的方法
printMax(43,23,52,54,65);
printMax(new double[]{42,12,42,34,64});
}
public static void printMax(double ...numbers){
if(numbers.length==0){
System.out.println("No argument passed");
return;
}
double result =numbers[0];
//找出最大值
for (int i = 0; i < numbers.length; i++) {
if(numbers[i]>result)
{
result=numbers[i];
}
}
System.out.println("The max value is"+result);
}
}
/*结果
The max value is65.0
The max value is64.0*/
06 递归详解
public class Demo06 {
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if(n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
//120
import java.util.Scanner;
public class homework {
public static void main(String[] args) {
while(true){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入要执行的运算");
String varchar=scanner.next();
int a,b;
System.out.println("请输入两个操作数");
a=scanner.nextInt();
b=scanner.nextInt();
switch (varchar){
case "+":
double sum1=add(a,b);
System.out.println("两数相加和为:"+sum1);
break;
case "-":
double sum2=sub(a,b);
System.out.println("两数相减和为:"+sum2);
break;
case "*":
double sum3=Multi(a,b);
System.out.println("两数相乘为:"+sum3);
break;
case "/":
double sum4=divide(a,b);
System.out.println("两数相除为:"+sum4);
break;
default:
System.out.println("输入异常,请重新输入");
continue;
}
}
}
public static double add(int a,int b)
{
double result=a+b;
return result;
}
public static double sub(int c,int d)
{
double result=c-d;
return result;
}
public static double Multi(double e,double f)
{
double result=e*f;
return result;
}
public static double divide(double g,double h)
{
double result=g/h;
return result;
}
}