方法
1.方法定义的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称 ,...){
方法体;
return 返回值;
}
练习1.输出矩形
package cn.day1.demo02; public class Demo01Method { public static void main(String[] args) { printMethod(); } public static void printMethod() { for (int j = 0; j < 5; j++) { for(int i=1;i<=20;i++){ System.out.print("*"); } System.out.println(); } } }

【注意事项】:
1.方法定义的先后顺序无关;
2.方法定义必须是挨着的,不能在一个方法内部定义另一个方法;
3.方法定义之后,自己不会执行,如果希望执行,一定要进行方法调用。
方法的三种调用:
1.单独调用:方法名称(参数)【但返回值为void的,只能进行单独调用,不能赋值或打印调用】;
2.打印调用:System.out.println(方法名称(参数));
3.赋值调用:数据类型 变量名称 = 方法名称(参数);
package cn.day1.demo02; public class Demo01MethodDefine { public static void main(String[] args) { sum(10,20); //单独调用 System.out.println(sum(10,20)); //打印调用 int number=sum(10,20); //赋值调用 System.out.println(number); } public static int sum(int a , int b){ int result =a+b; System.out.println("方法执行啦!"); return result; } }
练习2 :求出1-100之间所有数字的和
package cn.day1.demo03; public class Demo2Sum { public static void main(String[] args) { System.out.println("1+2+...+100=:"+sum()); } public static int sum(){ int sum=0; for (int i = 0; i <= 100; i++) { sum+=i; } return sum; } }
练习3:打印指定次数的HelloWorld
package cn.day1.demo03; public class Demo3Print { public static void main(String[] args) { printCount(20); } public static void printCount(int num){ for (int i = 0; i < num; i++) { System.out.println("Hello World!"+(i+1)); } } }
【注意事项】
1.方法应该定义在类中,但不能在方法中再定义方法,不能嵌套;
2.方法定义的前后顺序无所谓;
3.方法定义之后不会执行,如果希望执行,一定要调用;单独调用,打印调用,赋值调用;
4.如果方法有返回值,那么必须写上“return 返回值” ,不能没有;
5.return后面的返回值数据,必须和方法的返回值类型对应起来;
6.对于一个void 没有返回值的方法,就不能写return后面的返回值,只能写return自己。
7.对于方法中最后一行的return可以省略不写;
8.一个方法中可以有多个return语句,但必须保证同时只有一个会被执行到
2.方法重载
多个方法的名称一样,但是参数列表不一样
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能
public class Demo01Overload { public static void main(String[] args) { System.out.println(sum(10,20)); System.out.println(sum(20,10,30)); System.out.println(sum(20,10,90,40)); } public static int sum(int a ,int b){ System.out.println("有2个参数的方法在执行!"); return a+b; } public static int sum(int a ,int b,int c){ System.out.println("有2个参数的方法在执行!"); return a+b+c; } public static int sum(int a ,int b,int c,int d){ System.out.println("有4个参数的方法在执行!"); return a+b+c+d; } }
方法重载与下列因素有关:
1.参数个数不同;
2.参数类型不同;
3.参数的多类型顺序不同。
方法重载与下列因素无关:
1.与参数名称无关;
2.与方法的返回值类型无关
练习1
比较两个数据是否相等,参数类型分别为两个byte,两个short,两个int,两个long类型,并在main方法中测试。
public class Demo02OverloadSame { public static void main(String[] args) { byte a = 10; byte b = 20; System.out.println(isSame(a,b)); System.out.println(isSame((short)10,(short)20)); System.out.println(isSame(20,11)); System.out.println(isSame(10L,10L)); } public static boolean isSame(byte a,byte b){ System.out.println("两个byte的方法执行"); boolean same; if(a==b){ same=true; } else{ same=false; } return same; } public static boolean isSame(short a,short b){ System.out.println("两个short的方法执行"); boolean same=a==b?true:false; return same; } public static boolean isSame(int a,int b){ System.out.println("两个int的方法执行"); return a==b; } public static boolean isSame(long a ,long b){ System.out.println("两个long的方法执行"); if (a==b){ return true; } else { return false; } } }
练习2
在调用输出语句的时候,println方法其实就是进行了多种数据类型的重载形式。
public class Demo04OverloadPrint { public static void main(String[] args) { myPrint(100); myPrint("Hello"); } public static void myPrint(byte num){ System.out.println(num); } public static void myPrint(short num){ System.out.println(num); } public static void myPrint(int num){ System.out.println(num); } public static void myPrint(long num){ System.out.println(num); } public static void myPrint(float num){ System.out.println(num); } public static void myPrint(double num){ System.out.println(num); } public static void myPrint(char num){ System.out.println(num); } public static void myPrint(boolean num){ System.out.println(num); } public static void myPrint(String str){ System.out.println(str); } }
 
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号