方法1

作者: 特_e52a | 来源:发表于2017-03-27 22:09 被阅读0次

    ackage com.itheima_01;

    /*

    * 方法:其实就是完成特定功能的代码块

    *

    * 定义格式:

    * 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {

    * 方法体;

    * return 返回值;

    * }

    * 格式解释:

    * A:修饰符 目前记住public static

    * B:返回值类型 用于限定返回值的数据类型

    * C:方法名 为了方便我们调用方法的名字

    * D:参数类型 用于限定调用方法时传入的数据的类型

    * E:参数名 用于接收调用方法时传入的数据的变量

    * F:方法体 完成功能的代码

    * G:return 结束方法,并且把返回值带给调用者

    *

    * 写一个方法有两个明确:

    * A:返回值类型 明确功能结果的数据类型

    * B:参数列表 明确有几个参数,以及参数的数据类型

    *

    * 案例:

    * 写一个方法用于求和。

    */

    public class MethodDemo {

    public static void main(String[] args) {

    }

    /*

    * 两个明确:

    * 返回值类型:int

    * 参数列表:int a,int b

    */

    public static int sum(int a,int b) {

    int c = a + b;

    return c;

    }

    }

    package com.itheima_01;

    /*

    * 方法的调用:(有明确返回值的方法调用)

    * A:单独调用,没有意义

    * B:输出调用,有意义,但是不够好,因为我可能需要拿结果进行进一步的操作

    * C:赋值调用,推荐方式

    */

    public class MethodDemo2 {

    public static void main(String[] args) {

    //单独调用

    //sum(10,20);

    //输出调用

    //System.out.println(sum(10,20));

    //赋值调用

    int result = sum(10,20);

    //可以对result进行操作

    //result += 10;

    System.out.println(result);

    }

    /*

    * 求和方法

    *

    * 两个明确:

    * 返回值类型:int

    * 参数列表:int a,int b

    */

    public static int sum(int a,int b) {

    int c = a + b;

    return c;

    }

    }

    package com.itheima_01;

    import java.util.Scanner;

    /*

    * 键盘录入两个数据,返回两个数中的较大值

    */

    public class MethodTest {

    public static void main(String[] args) {

    //创建键盘录入对象

    Scanner sc = new Scanner(System.in);

    //接收数据

    System.out.println("请输入第一个数据:");

    int a = sc.nextInt();

    System.out.println("请输入第二个数据:");

    int b = sc.nextInt();

    //调用方法

    int max = getMax(a,b);

    //输出结果

    System.out.println("max:"+max);

    }

    /*

    * 返回两个数中的较大值

    *

    * 两个明确:

    * 返回值类型:int

    * 参数列表:int a,int b

    */

    public static int getMax(int a,int b) {

    if(a > b) {

    return a;

    }else {

    return b;

    }

    }

    }

    ackage com.itheima_01;

    import java.util.Scanner;

    /*

    * 键盘录入两个数据,比较两个数是否相等

    */

    public class MethodTest2 {

    public static void main(String[] args) {

    //创建键盘录入对象

    Scanner sc = new Scanner(System.in);

    //接收数据

    System.out.println("请输入第一个数据:");

    int x = sc.nextInt();

    System.out.println("请输入第二个数据:");

    int y = sc.nextInt();

    //调用方法

    boolean b = compare(x,y);

    //输出结果

    System.out.println("b:"+b);

    }

    /*

    * 比较两个数是否相等

    *

    * 两个明确:

    * 返回值类型:boolean

    * 参数列表:int a,int b

    */

    public static boolean compare(int a,int b) {

    if(a == b){

    return true;

    }else {

    return false;

    }

    }

    }

    ackage com.itheima_01;

    import java.util.Scanner;

    /*

    * 键盘录入三个数据,返回三个数中的最大值

    */

    public class MethodTest3 {

    public static void main(String[] args) {

    //创建键盘录入对象

    Scanner sc = new Scanner(System.in);

    //接收数据

    System.out.println("请输入第一个数据:");

    int a = sc.nextInt();

    System.out.println("请输入第二个数据:");

    int b = sc.nextInt();

    System.out.println("请输入第三个数据:");

    int c = sc.nextInt();

    //调用方法

    int max = getMax(a,b,c);

    //输出结果

    System.out.println("max:"+max);

    }

    /*

    * 返回三个数中的最大值

    *

    * 两个明确:

    * 返回值类型:int

    * 参数列表:int a,int b,int c

    */

    public static int getMax(int a,int b,int c) {

    if(a > b) {

    if(a > c) {

    return a;

    }else {

    return c;

    }

    }else {

    if(b > c) {

    return b;

    }else {

    return c;

    }

    }

    }

    }

    ackage com.itheima_02;

    /*

    * 需求:写一个方法,在控制台输出10次HelloWorld案例

    *

    * 两个明确:

    * 返回值类型:void

    * 参数列表:没有参数

    *

    * 如果一个方法没有明确的返回值类型,也不能把返回值类型的地方空出来,应该写void表示该方法无返回值类型。

    *

    * 方法调用:(void修饰的方法的调用)

    * 只能单独调用

    *

    */

    public class MethodDemo {

    public static void main(String[] args) {

    //单独调用

    printHelloWorld();

    //输出调用

    //System.out.println(printHelloWorld());

    //赋值调用

    //void v = printHelloWorld();

    }

    /*

    * 在控制台输出10次HelloWorld案例

    *

    * 两个明确:

    * 返回值类型:void

    * 参数列表:

    */

    public static void printHelloWorld() {

    // for(int x=1; x<=10; x++) {

    // System.out.println("HelloWorld");

    // }

    for(int x=0; x<10; x++) {

    System.out.println("HelloWorld");

    }

    }

    package com.itheima_02;

    /*

    * 写一个方法,传递一个整数(大于1),在控制台打印1到该数据的值

    */

    public class MethodTest {

    public static void main(String[] args) {

    //调用方法

    printNumber(3);

    System.out.println("------------");

    printNumber(10);

    }

    /*

    * 写一个方法,传递一个整数(大于1),在控制台打印1到该数据的值

    *

    * 两个明确:

    * 返回值类型:void

    * 参数列表:int n

    */

    public static void printNumber(int n) {

    for(int x=1; x<=n; x++) {

    System.out.println(x);

    }

    }

    package com.itheima_02;

    /*

    * 写一个方法,把所有的水仙花数打印在控制台

    */

    public class MethodTest2 {

    public static void main(String[] args) {

    //调用方法

    printFlower();

    }

    /*

    * 写一个方法,把所有的水仙花数打印在控制台

    *

    * 两个明确:

    * 返回值类型:void

    * 参数列表:无参数

    */

    public static void printFlower() {

    for(int x=100; x<1000; x++) {

    int ge = x%10;

    int shi = x/10%10;

    int bai = x/10/10%10;

    if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {

    System.out.println(x);

    }

    }

    }

    }

    package com.itheima_03;

    /*

    * 方法重载:在同一个类中,出现了方法名相同的情况。

    * 方法重载的特点:

    * 方法名相同,参数列表不同。与返回值无关。

    * 参数列表不同:

    * 参数的个数不同

    * 参数对应的数据类型不同

    *

    * 注意:

    * 在调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法。

    */

    public class MethodDemo {

    public static void main(String[] args) {

    //定义变量

    int a = 10;

    int b = 20;

    //求和方法

    int result = sum(a,b);

    System.out.println("result:"+result);

    //定义变量

    int c = 30;

    //求和方法

    //int result2 = sum2(a,b,c);

    int result2 = sum(a,b,c);

    System.out.println("result2:"+result2);

    }

    //不能出现方法名相同,并且参数列表也相同的情况

    // public static int sum(int x,int y) {

    // return x + y;

    // }

    public static float sum(float a,float b) {

    return a + b;

    }

    //求三个数据的和

    /*

    public static int sum2(int a,int b,int c) {

    return a + b + c;

    }

    */

    public static int sum(int a,int b,int c) {

    return a + b + c;

    }

    //求两个数据的和方法

    public static int sum(int a,int b) {

    //int c = a + b;

    //return c;

    return a + b;

    }

    }

    package com.itheima_03;

    /*

    * 比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,并在main方法中进行测试

    */

    public class MethodTest {

    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));

    }

    //byte

    public static boolean compare(byte a,byte b) {

    System.out.println("byte");

    return a == b;

    }

    //short

    public static boolean compare(short a,short b) {

    System.out.println("short");

    return a == b;

    }

    //int

    public static boolean compare(int a,int b) {

    System.out.println("int");

    return a == b;

    }

    //long

    public static boolean compare(long a,long b) {

    System.out.println("long");

    return a == b;

    }

    }

    package com.itheima_04;

    /*

    * 方法的参数如果是基本数据类型:形式参数的改变不影响实际参数。

    *

    * 形式参数:用于接收实际参数的变量

    * 实际参数:实际参与运算的变量

    */

    public class ArgsDemo {

    public static void main(String[] args) {

    int a = 10;

    int b = 20;

    System.out.println("a:"+a+",b:"+b);//a:10,b:20

    change(a,b);

    System.out.println("a:"+a+",b:"+b);//??? a:10,b:20

    }

    public static void change(int a,int b) {//a=10,b=20

    System.out.println("a:"+a+",b:"+b);//a:10,b:20

    a = b;//a=20

    b = a + b;//b=40

    System.out.println("a:"+a+",b:"+b);//a:20,b:40

    }

    }

    相关文章

      网友评论

          本文标题:方法1

          本文链接:https://www.haomeiwen.com/subject/fxrdottx.html