A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 易大帅 高级黑马   /  2017-3-11 10:50  /  1606 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

早安北京。今天就给大家分享的是java基础11天的第五天。。希望对刚入行的没有基础童鞋一点点帮助。到了今天帅气的易哥就要说了没有基础的小童鞋,没用用功的小朋友们,估计要卡一下壳了,今天讲的东西很少,但是如果不会绕还是会被坑。。所以就要多理解多练了,废话不多说老规矩上码!!

                                                  第五天
                                 千里之行始于爪,没错就是爪!!!!!!!!!!!
今天内容介绍:
            方法的概述及基本使用
            方法的练习及注意事项
            方法的重载及参数传递
            方法的操作数组的练习            
            
    一.方法的概述及基本使用
        1.概述  :    简单的说:方法就是完成特定功能的代码块  在很多语言里面都有函数的定义 , 函数在Java中被称为方法
        2.格式  :   修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
                                    函数体;
                                return 返回值;
        3.方法格式解释:        
                                修饰符 目前记住 public static
                                          返回值类型 用于限定返回值的数据类型
                                方法名 一个名字,为了方便我们调用方法       参数类型 用于接收调用方法时传入的数据的类型
                                参数名  用于接收调用方法时传入的数据的变量
                                        方法体 完成功能的代码
                                return 结束方法,把返回值带给调用者
                                
        注意:童鞋们注意了每次我们写方法的时候一定不要忘了二个明确       1.:返回值类型 明确功能结果的数据类型          2.参数列表 明确有几个参数,以及参数的类型

        
    二.方法的练习及注意事项
        举一例子
        ackage com.itheima_01;

            import java.util.Scanner;

            /*
             * 需求:键盘录入两个数据,返回两个数中的较大值
             *
             * 两个明确:
             *         返回值类型:int
             *         参数列表:int a,int b
             */
            public class MethodTest {
                // 返回两个数中的较大值
                public static int getMax(int a, int b) {
                    if (a > b) {
                        return a;
                    } else {
                        return b;
                    }
                }
               
                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();
                    
                    //调用方法
                    int max = getMax(x,y);
                    System.out.println("max:"+max);
                }
            }
                                            
            }
            1void修饰的方法的调用和上面是有区别的,, 写一个方法,在控制台输出10次HelloWorld案例。
                没有明确返回值的函数调用:其实就是void类型方法的调用  只能单独调用
               
            举例水仙花
            package com.itheima_02;
                /*
                 * 写一个方法,把所有的水仙花数打印在控制台
                 *
                 * 两个明确:
                 *         返回值类型:void
                 *         参数列表:无参数
                 */
                public class MethodTest2 {
                    //把所有的水仙花数打印在控制台
                    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);
                            }
                        }
                    }
                    
                    public static void main(String[] args) {
                        printFlower();
                    }
                }
            三:方法的重载及参数传递
                    1。方法重载的概述和基本使用
                                在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
                    方法重载特点
                                与返回值类型无关,只看方法名和参数列表
                                在调用时,虚拟机通过参数列表的不同来区分同名方法
                                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);
                                //System.out.println("result2:"+result2);
                                result = sum(a,b,c);
                                System.out.println("result:"+result);
                            }
                           
                           
                            //两个float类型的数据求和
                            public static float sum(float a,float b) {
                                return a + b;
                            }

                            // 三个整数的求和
                            public static int sum(int a,int b,int c) {
                                return a + b + c;
                            }
                           
                            /*
                            public static int sum2(int a, int b, int c) {
                                return a + b + c;
                            }
                            */

                            // 两个整数的求和
                            public static int sum(int a, int b) {
                                return a + b;
                            }
                        }
                    3.方法的形式参数为基本数据类型
                                方法的参数是基本类型的时候:       形式参数的改变不影响实际参数。
                                形式参数:用于接收实际数据的变量   实际参数:实际参与运算的变量。
                                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
                            }

                        }

            四章:方法的操作数组的练习
                    ackage com.itheima_05;

                    /*
                     * 需求:写一个方法,用于对数组进行求和,并调用方法。
                     */
                    public class MethodTest3 {
                        public static void main(String[] args) {
                            // 定义数组
                            int[] arr = { 1, 2, 3, 4, 5 };
                           
                            // //定义求和变量
                            // int sum = 0;
                            // //获取数组中的每一个元素
                            // for(int x=0; x<arr.length; x++) {
                            // sum += arr[x];
                            // }
                           
                            //用方法改进
                            int sum = sum(arr);
                           
                            System.out.println("sum:"+sum);
                        }
                        
                        /*
                         * 两个明确:
                         *         返回值类型:int
                         *         参数列表:int[] arr
                         */
                        public static int sum(int[] arr) {
                            int sum = 0;
                           
                            for(int x=0; x<arr.length; x++) {
                                sum += arr[x];
                            }
                           
                            return sum;
                        }
                    }
               
               
               

NbFive.png (21.11 KB, 下载次数: 14)

NbFive.png

4 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
还做思维导图了呢{:8_474:}
回复 使用道具 举报
yangxiaosa 发表于 2017-3-12 12:06
还做思维导图了呢

一般般
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马