zoukankan      html  css  js  c++  java
  • Java基础语法(下)-函数与方法

    01.方法定义格式及格式解释

    package com.bird_01;
    /*
     * 方法:其实就是完成特定功能的代码块
     * 
     * 定义格式:
     *         修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){
     *                 方法体;
     *                 return 返回值
     *             }
     * 格式解释:
     *         A:修饰符         目前记住public static
     *         B:返回值类型        用于限定返回值的数据类型
     *         C:方法名        为了方便我们调用方法的名字
     *         D:参数类型        用于限定调用方法时传入的数据的类型
     *         E:参数名        用于接收调用方法时传入的数据的变量
     *         F:方法体        完成功能的代码
     *         G:return    结束方法,并且把返回值带给调用者
     *             
     */
    public class MethodDemo {
        
    }

    02.求和方法的编写

    package com.bird_01;
    /*
    * 写一个方法有两个明确:
     *         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;
        }
    }

    03.求和方法的调用

    package com.bird_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;
        }
    }

     04.求和方法调用图解

    05.方法练习之获取两个数据中较大值

    package com.bird_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 c = getMax(a, b);
            System.out.println("最大的数是:" + c);
        }
    
        /*
         * 返回两个数中的较大值
         * 
         * 两个明确: 返回值类型:int 参数列表:int a,int b
         */
        public static int getMax(int a, int b) {
            if (a > b) {
                return a;
            } else {
                return b;
            }
        }
    }

    06.方法练习之比较两个数是否相等

    package com.bird_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;
            }
        }
    }

     07.方法练习之比较三个数的最大值

    package com.bird_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);
        }
    
        /*
         * 返回三个数的最大值
         * 
         * 两个明确: 返回值类型:int 参数列表:int a, int b,int c
         */
        public static int getMax(int a, int b, int c) {
            int max = a;
            if (b > max) {
                max = b;
            }
            if (c > max) {
                max = c;
            }
            return max;
        }
    }

     08.void修饰符方法的调用

    package com.bird_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 i=0;i<10;i++){
                System.out.println("HelloWorld");
            }
        }
    }

     09.方法练习之打印1~n之间的数

    package com.bird_02;
    /*
     * 写一个方法,传递一个整数(大于1),在控制台打印1到该数据的值
     */
    public class MethodTest {
        public static void main(String[] args) {
            //调用方法
            printNumber(10);
        }
        /*
         * 写一个方法,传递一个整数(大于1),在控制台打印1到该数据的值
         * 
         * 两个明确:
         *         返回值类型:void
         *         参数列表:int n
         */
        public static void printNumber(int n){
            for(int i=1;i<=n;i++){
                System.out.print(i+"  ");
            }
        }
    }

     10.方法练习之打印所有的水仙花数

    package com.bird_02;
    /*
     * 写一个方法,使用打印所有水仙花数在控制台
     */
    public class MethodTest1 {
        public static void main(String[] args) {
            //调用
            printFlower();
        }
        /*
         * 写一个方法,使用打印所有水仙花数在控制台
         * 
         * 两个明确:
         *         返回值类型:void
         *         参数列表:没有参数
         */
        public static void printFlower(){
            for(int i=100;i<1000;i++){
                int ge = i%10;
                int shi = i/10%10;
                int bai = i/100%10;
                if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==i){
                    System.out.println(i);
                }
            }
        }
    }

    11.方法重载的概述和基本使用

    package com.bird_03;
    
    /*
     * 方法重载:在同一个类中,出现了方法名相同的情况
     * 方法重载特点:
     *             方法名相同,参数列表不同。与返回值无关
     *             参数列表不同:
     *                     参数的个数不同
     *                     参数对应的类型不同
     * 
     * 注意:
     *         在调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法
     */
    public class MethodDemo {
        public static void main(String[] args) {
            // 定义变量
            int a = 10;
            int b = 20;
            // 求和方法
            int ruselt = sum(a, b);
            System.out.println("ruselt:" + ruselt);
    
            // 定义变量
            int x = 10;
            int y = 20;
            int z = 30;
            // 求和方法
            int ruselt2 = sum(x, y, z);
            System.out.println("ruselt2:" + ruselt2);
        }
    
        // 不能出现方法名相同,参数类型相同的情况
        // public static int sum(int x,int y){
        //
        // }
    
        // 求三个数据的和
        public static int sum(int a, int b, int c) {
            return a + b + c;
        }
    
        // 求两个数据的和
        public static int sum(int a, int b) {
            return a + b;
        }
    }

     12.方法重载练习之比较两个数据是否相等

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

     13.方法的形式参数是基本类型

    package com.bird_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
        }
    
    }

     14.方法的形式参数是基本类型图解

     15.方法的形式参数是引用类型

    package com.bird_04;
    /*
     * 如果参数是引用数据类型:
     *         形式参数的改变直接影响实际参数
     */
    public class ArgsDemo2 {
        public static void main(String[] args) {
            int[] arr = {1,2,3,4,5};
            for(int x=0; x<arr.length; x++) {
                System.out.println(arr[x]);
            }
            change(arr);
            for(int x=0; x<arr.length; x++) {
                System.out.println(arr[x]);
            }
        }
        
    
        public static void change(int[] arr) {
            for(int x=0; x<arr.length; x++)
            {
                if(arr[x]%2==0)
                {
                    arr[x]*=2;
                }
            }
        }
    
    }

    16.方法的形式参数是引用类型图解

     17.方法练习之数组遍历

    package com.bird_05;
    
    /*
     * 把遍历数组改进为方法实现,并调用方法
     */
    public class MethodTest {
        public static void main(String[] args) {
            // 声明数组
            int[] arr = { 11, 22, 33, 44, 55 };
    
            // 调用方法
            printArray(arr);
        }
    
        /*
         * 两个明确: 返回值类型:void 参数列表:int[] arr
         */
        public static void printArray(int[] arr) {
            System.out.print("[");
            for (int i = 0; i < arr.length; i++) {
                if (i == arr.length - 1) {
                    System.out.print(i + "]");
                } else {
                    System.out.print(i+",");
                }
            }
        }
    }

    18.方法练习之获取数组最值

    package com.bird_05;
    /*
     * 把获取数组最值用方法实现,并调用
     */
    public class MethodTest2 {
        public static void main(String[] args) {
            //定义数组
            int[] arr = {22,88,61,72,10};
            //调用方法
            int max = getMax(arr);
            System.out.println("数组最大数max="+max);        
        }
        
        /*
         * 两个明确:
         *         返回值类型:int
         *         参数列表:int[] arr
         */
        public static int getMax(int[] arr){
            //定义参照数
            int max = arr[0];
            //循环比较
            for(int i=1;i<arr.length;i++){
                if(arr[i]>max){
                    max = arr[i];
                }
            }
            return max;
        }
    }

     19.方法练习之数组元素求和

    package com.bird_05;
    /*
     * 写一个方法,用于对数组进行求和,并调用方法。
     */
    public class MethodTest3 {
        public static void main(String[] args) {
            //定义数组
            int[] arr = {1,2,3,4,5};
            
            //调用方法
            int sum = sum(arr);
            System.out.println("数组的总和是"+sum);
        }
        
        /*
         * 两个明确:
         *         返回值类型:int
         *         参数列表:int[] arr
         */
        public static int sum(int[] arr){
            //定义求和参数
            int sum = 0;
            for (int i = 0; i < arr.length; i++) {
                sum+=arr[i];
            }
            return sum;
        }
    }
  • 相关阅读:
    MS CRM 2011 RC中的新特性(4)——活动方面之批量编辑、自定义活动
    最近的一些有关MS CRM 2011的更新
    MS CRM 2011 RC中的新特性(6)——连接
    MS CRM 2011 RC中的新特性(7)—仪表板
    参加MS CRM2011深度培训课程——第一天
    MS CRM 2011插件调试工具
    MS CRM2011实体介绍(四)——目标管理方面的实体
    MS CRM 2011 RC中的新特性(3)——客户服务管理方面
    MS CRM 2011 RC中的新特性(8)—数据管理
    ExtAspNet 登陆
  • 原文地址:https://www.cnblogs.com/birdGe/p/13382075.html
Copyright © 2011-2022 走看看