package com.Hellscythe.Method;
public class Demo01 {
public static void main(String[] args) {
int add = add(1, 2);
System.out.println(add);
met01();
}
public static int add(int i,int j){
return i+j;
}
public static void met01(){
for (int i = 0; i <= 9; i++) {
for (int j = 9; j >= i; j--) {
System.out.print(" ");
}
for (int k = 0; k <= i; k++){
System.out.print("*");
}
for (int l = 1; l <= i; l++) {
System.out.print("*");
}
System.out.println("");
}
}
}
方法包含一个方法头和一个方法体,方法组成:
public static int add (int a ,int b){ ........ return}
修饰符 修饰符 返回值类型 方法名 参数类型 参数名 方法体 返回值
package com.Hellscythe.Method;
public class Demo02 {
public static void main(String[] args) {
int max = max(1, 2);
System.out.println(max);
}
public static int max(int a , int b){
int result = 0;
if(a>b){
result = a;
}else if (a==b){
result = 0;
}else{
result = b;
}
return result;
}//return可以作为方法终止符
}
方法的重载
package com.Hellscythe.Method;
public class Demo03 {
public static void main(String[] args) {
double met01 = met01(1, 2);//改变输出类型(double/int)可以改变调用的方法
System.out.println(met01);
}
public static int met01(int a, int b) {
int result = 0;
if (a>1 && b>1){
result = 1;
}else{
result = 0;
}
return result;
}
public static double met01(double a,double b){
int result = 0;
if (a>1 && b>1){
result = 1;
}else{
result = 0;
}
return result;
}
}
命令行传递参数
package com.Hellscythe.Method;
public class Demo04 {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
//args.length数组长度
System.out.println("arg["+i+"]:"+args[i]);
}
}
}
①cmd打开包目录,使用javac将java编成class
②使用cd ../返回上一级目录,退到src目录
③使用java打开Demo04 ,使用它包的路径打开(java com.Hellscythe.Method.Demo04 Are you sure?)
④结果:arg[0]:Are
arg[1]:you
arg[2]:sure?
注:将Demo04改为Demo04.class就失效了,原因不明
可变参数
package com.Hellscythe.Method;
public class Demo05 {
public static void main(String[] args) {
Demo05 demo05 = new Demo05();
demo05.test01(4,2,3,4);//int...可输入多个数据,但int只有一个;int...后的所有数字类型必须为int输入3.0后会报错
}
public void test01(int j ,int... i){
System.out.println(i[0]);//输出第0个数字
}
}
package com.Hellscythe.Method;
public class Demo06 {
public static void main(String[] args) {
Demo06 demo06 = new Demo06();
demo06.printmax(1,2,421,435,6435);
}
public static void printmax(double...numbers){
if (numbers.length == 0){//先检测有没有输入数字,number.length指的是数字长度,这里即数字个数。numbe.length = 5
System.out.println("你在干嘛");
return;
}
double result = numbers[0];
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] > result){
result = numbers[i];
}
}
System.out.println("最大的是:"+result);
}
}
递归
package com.Hellscythe.Method;
public class Demo07 {
public static void main(String[] args) {
int A =f(3);//递归指的是在A里面调用A
System.out.println(A);
}
public static int f(int a){
if (a == 1){
return 1;
}else{
return a*f(a = a - 1);
}
}
}
递归的组成:
package com.Hellscythe.Method;
public class Practice01 {
public static void main(String[] args) {
double result = count(3,4);//在此处输入需要计算的两个数字
}
public static double count(double a , double b){
char 符号 = ‘*‘;//在此处输入运算符号(+-*/)
switch (符号){
case ‘+‘:
System.out.println(a+"?"+b+"="+(a+b));
break;
case ‘-‘:
System.out.println(a+"?"+b+"="+(a-b));
break;
case ‘*‘:
System.out.println(a+"?"+b+"="+(a*b));
break;
case ‘/‘:
System.out.println(a+"?"+b+"="+(a/b));
break;
}
return 符号;
}
}
原文:https://www.cnblogs.com/TheCasually/p/15107091.html