Java方法
System.out.println()
方法是语句的集合
原则:一个方法只完成一个功能,利于我门后期的拓展
定义
类似于其他语言的函数,用来完成特定功能的代码片段
package com.yang.Method;
public class Demo0
{
//main方法
public static void main(String[] args) {
//实参就是实际传递的参数
double add = add(1.0, 2.0);
int add1 = add(1, 3);
System.out.println(add);
}
//加法
//形参用来定义作用
public static int add(int a,int b){
return a+b;
}
public static double add(double a,double b){
return a+b;
}
}
重载
在一个类中,相同的函数名称,形参不同的函数。
规则
方法名称必须相同
参数列表必须不同(个数或者类型,参数排列顺序不同等)
返回类型可以相同也可以不同。
package com.yang.Method;
public class Demo02 {
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("num1 == num2");
return 0;//终止方法
}
if (num1 > num2){
result = num1;
}else {
result = num2;
}
return result;
//拓展了解 值传递和引用传递
}
}
命令行传参
希望运行一个程序时候再给他传递消息,给main()函数实现
package com.yang.Method;
public class Demo03 {
public static void main(String[] args) {
//args.length 数组长度
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "]"+args[i]);
}
}
}
在终端中打开 要退到src包文件中执行
可变参数
不定项参数
方法声明中,在制定参数类型后加一个省略号。
一个方法中只能指定一个可变参数,必须是方法等最后一个参数,任何参数必须在他之前声明。
package com.yang.Method;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1,2);
}
public void test(int... i){
System.out.println(i[1]);
}
}
递归
A方法调用A方法,自己调用自己
递归结构包括2部分
- 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
- 递归体:什么时候需要调用自身方法。
能不用递归就不用递归
package com.yang.Method;
public class Demo05 {
public static void main(String[] args) {
Demo05 test = new Demo05();
test.test();
}
public void test(){
test();
}
}
package com.yang.Method;
public class Demo06 {
//5! 5*4*3*2*1
//递归思想
public static void main(String[] args) {
System.out.println(f(3));
}
public static int f(int n){
if (n==1){
return 1;
}else {
return n*f(n-1);
}
}
}
测试
写一个计算器,实现加减乘除,并且能够循环接收新的数据,通过用户交互实现。
package com.yang.Method;
import java.util.Scanner;
public class test {
//写一个计算器,实现加减乘除,并且能够循环接收新的数据,通过用户交互实现。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入的第一个数:");
Double num1 = scanner.nextDouble();
System.out.print("运算符为:");
String operator = scanner.next();
System.out.print("请输入第二个数:");
Double num2 = scanner.nextDouble();
double result = 0;
switch (operator){
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
//如果被除数为0
if(num2 != 0){
System.out.println(num1/num2);
}else {
System.out.println("输入异常");
}
return;
default:
System.out.println("输入为异常");
return;
}
System.out.printf("%.1f %s %.1f = %.1f%n",num1,operator,num2,result);
scanner.close();
}
}
标签:java,num2,int,System,static,方法,public,out
From: https://www.cnblogs.com/yoyy3/p/18361910