方法示例
输出较大值
public class crj { public static void main(String[] args) { getMax(); } public static void getMax(){ int a =10; int b=20; if(a>=b){ System.out.println("较大的数是"+a); }else{ System.out.println("较大的数是"+b); } } }
带参数的方法调用
public class crj { public static void main(String[] args) { //字面量调用 isEvenNumber(3); isEvenNumber(6); //变量的调用 int number = 11; isEvenNumber(number); number = 12; isEvenNumber(number); } public static void isEvenNumber(int number) { if (number % 2 == 0) { System.out.println(true); } else { System.out.println(false); } } }
输出较大值 数据来自方法参数
public class crj { public static void main(String[] args) { getMex(10,20); int x=20; int y=30; getMex(x,y); } public static void getMex(int a,int b){ if(a>=b){ System.out.println("较大的数是"+a); }else{ System.out.println("较大的数是"+b); } } }
判读是否为偶数 返回布尔值
public class crj { public static void main(String[] args) { //返回值需用变量接收 boolean flag=isEvenNumber(10); System.out.println(flag); if(flag){ System.out.println("是偶数"); } } public static boolean isEvenNumber(int number){ if(number%2==0){ return true; } else { return false; } } }
输出较大值—— 数据来自于参数
public class crj { public static void main(String[] args) { // int max = getMax(10,20); // System.out.println(max); int max = getMax(10, 20);//.val 自动输出左边内容 System.out.println(max);//max.sout将max变量放到输出语句 System.out.println(getMax(10, 20)); } public static int getMax(int a, int b) { if (a >= b) { return a; } else { return b; } } }
方法的定义与调用
1.求和 1~n之间的数据和
public class crj { public static void main(String[] args) { int result = sum(5); System.out.println("1-5的和是"+result); result=sum(100); System.out.println("1-100的和是"+result); } public static int sum(int n) { int sum = 0; for (int i = 1; i <= n; i++) { sum += i; } return sum; } }
2.比较相等 比较两个整数是否相等
public class crj { public static void main(String[] args) { boolean flag = comple(10, 20); System.out.println("10和20相等吗 " + flag); flag = comple(10, 10); System.out.println("10和10相等吗 " + flag); } public static boolean comple(int a, int b) { return a == b;//优化3 } }
3 获取三个整数的较大值
public class crj { public static void main(String[] args) { int max = getMax(10, 20, 30); System.out.println("10,20,30中的较大值"+max); } public static int getMax(int a,int b,int c){ int temMax=a>b?a:b; int max=temMax>c?temMax:c; return max; } }
4 水仙花数
public class crj { public static void main(String[] args) { for(int i =100;i<1000;i++){ if(isFlour(i)){ //优化 System.out.println(i); } } } public static boolean isFlour(int number) { int ge = number % 10; int shi = number / 10 % 10; int bai = number / 100; if (ge * ge * ge + shi * shi * shi + bai * bai * bai == number) { return true; } else { return false; } } }
方法重载
在Java中,方法的重载(Overload)是指在同一个类中定义了多个具有相同名 称但参数列表不同的方法。这意味着可以使用相同的方法名,但根据不同的参 数类型、参数个数或参数顺序来调用不同的方法。
重载的目的
为了提高代码的可读性和灵活性,通过给方法提供多个参数组合的选项,以适 应不同的使用场景。
方法重载的几个特点和规则:
方法重载必须在同一个类中进行。 方法名必须相同,但在同一类中,方法的参数列表必须不同(参数类型、参数个 数或参数顺序)。 返回类型不会影响方法的重载。即使返回类型不同,只要参数列表不同,仍然被 认为是重载。 方法重载与方法的修饰符、返回值无关。 方法重载可以被继承。 调用重载方法时,编译器会根据实参的具体类型匹配合适的重载方法。
重载方法的示例:
public class OverloadExample { public void showMessage(String message) { System.out.println("Message: " + message); } public void showMessage(int number) { System.out.println("Number: " + number); } public void showMessage(String message, int number) { System.out.println("Message: " + message + ", Number: " + number); } }
在上面的示例中,OverloadExample 类中定义了三个名为 showMessage 的方 法,它们具有不同的参数列表。第一个方法接收一个 String 类型的参数,第 二个方法接收一个 int 类型的参数,第三个方法接收一个 String 类型和一 个 int 类型的参数。
代码示例1
public class crj { public static void main(String[] args) { int result = sum(10, 20); System.out.println(result); double result2 = sum(10.0, 20.); System.out.println(result2); int result3=sum(10,20,30); System.out.println(result3); } public static int sum(int a,int b){ return a+b; } public static double sum(double a,double b){ return a+b; } public static int sum(int a,int b,int c){ return a+b+c; } }
代码示例2----比较相等
public class crj { public static void main(String[] args) { System.out.println(compare(10,20)); System.out.println(compare((byte) 10,(byte)20)); System.out.println(compare((short) 10,(short) 20)); System.out.println(compare( 10l,20l)); } public static boolean compare(int a,int b){ System.out.println("int"); return a==b; } public static boolean compare(byte a,byte b){ System.out.println("byte"); return a==b; } public static boolean compare(short a,short b){ System.out.println("short"); return a==b; } public static boolean compare(long a,long b){ System.out.println("long"); return a==b; } }