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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 果蝇 中级黑马   /  2015-9-1 22:23  /  258 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


class HomeWorkDay5{
        public static void main(String[] args){
                //方法
                int m = 9;
                int n = 9;
                int sum = getSum(m,n);//
                        System.out.println("求两个数据之和\n"+"Sum="+sum);
                boolean equal = equal(m,n);
                        System.out.println("\n判断两个数据是否相等\n"+"equal::"+equal);
                int max = getMax(m,n);
                        System.out.println("\n获取两个数中较大的值\n"+"Max="+max);
                print$(m,n);//*矩形
                printNn(n);//n行n列乘法表
                printNn(m,n);//重载,m行n列乘法表
               
                //数组
                int[] arr = {12,34,56,78,90};
                System.out.println("\n数组遍历");
                printArr(arr);
                int arrMin = getArrMin(arr);
                System.out.println("\n数组获取最值\n"+"ArrMin="+arrMin);
                reverse(arr);//逆序

                int input = 1;//输入需要查找的星期数;
                String[] week = {"Monday","Tuesday","Wendesday","Thursday","Friday","Saturday","Sunday"};
                getWeek(input,week);

                //查找指定元素第一次在数组中出现的索引
                int[] arrIndex = {12,34,56,78,90,13,24,35,46,57,68,79,80};
                int index = getIndex(77,arrIndex);
                if (index<0){
                        System.out.println("\n指定元素第一次在数组中出现的索引\n"+"Nothing");
                }else{
                        System.out.println("\n指定元素第一次在数组中出现的索引\n"+"Index="+index);
                }
               
        }

        /*
        1:方法的概念?方法的格式?格式的解释说明。
        概念:
                方法就是完成特定功能的代码块。
        格式:
                修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){
                                方法体;
                                return 返回值;
                }
        说明:
                (1): 修饰符                         比较多,后面会详细介绍。目前使用  public static。
                (2): 返回值类型                 用于限定返回值的数据类型(就是功能计算后结果的数据类型)。
                (3): 方法名                                就是一个名称,它的存在是为了方便我们调用方法。
                (4): 参数类型                         限定调用方法时传入参数的数据类型。
                                                  方法在运算时有没有未知数,未知数就定义为参数。        
                (5): 参数名                         是一个变量,接收调用方法时传入的参数。
                                                                这个参数其实有一个专业的名词,被称之为形式参数,它的作用是用来接收实际参数的。
                (6): 方法体                         完成功能的代码。
                (7): return                         结束方法以及返回方法指定类型的值。
                (8): 返回值                         就是功能的结果,由return带回,带回给调用者。

       
        2:方法的调用
        A:明确返回值类型的方法调用。
                a:单独调用,一般来说没有意义,所以不推荐。
                b:赋值调用,推荐方案。
                c:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
        B:void类型的方法调用
                直接写方法名,传递相应的参数即可。
        */
       
        //3A:求两个数据之和
        public static int getSum(int m,int n){
                return m+n;
        }
       
       
       
        //3B:判断两个数据是否相等
        public static boolean equal(int m,int n){
                if (m==n){
                        return true;
                }else{
                        return false;
                }
        }
       
        //3C:获取两个数中较大的值
        public static int getMax(int m,int n){
                if (m>n){
                        return m;
                }else{
                        return n;
                }
        }
       
        //3D:打印m行n列的星形矩形
        public static void print$(int m,int n){
                System.out.println("\n打印m行n列的星形矩形");
                for (int x=1 ;x<=m ;x++ ){
                        for (int y=1 ;y<=n ;y++ ){
                                        System.out.print("*");
                        }
                                System.out.println();
                }
        }
       
        //3E:打印nn乘法表
        public static void printNn(int n){
                System.out.println("\n打印nn乘法表");
                for (int x=1;x<=n ;x++ ){
                        for (int y=1;y<=x ;y++ ){
                                        System.out.print(y+"*"+x+"="+x*y+"\t");
                        }
                        System.out.println();
                }
        }
/*
        4:方法重载 : 同一类中,方法名有相同的,但是参数列表是不一样的,与返回值类型无关。
        总结: (同一类中)方法名一样,列表不同,返回值类型无关。
        */
        public static void printNn(int m,int n){
                System.out.println("\n重载,打印n行m列乘法表");
                for (int x=1;x<=n ;x++ ){
                        for (int y=1;y<=x && y<=m ;y++ ){
                                System.out.print(y+"*"+x+"="+x*y+"\t");
                        }
                        System.out.println();
                }

        }
               
/*
5:数组的概念?有什么特点?
        数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
        数组既可以存储基本数据类型,也可以存储引用数据类型。


6:数组的定义格式:
        格式1:数据类型[] 数组名;
                int[] arr ;
        格式2:数据类型 数组名[];
                int arr[] ;

7:数组操作的两个小问题:
        数组索引越界
                ArrayIndexOutOfBoundsException
                访问到了数组中的不存在的索引时发生。
        空指针异常
                NullPointerException
                数组引用没有指向实体,却在操作实体中的元素时。
*/

        //遍历
        public static void printArr(int[] arr){
                System.out.print("[");
                for (int x = 0;x<arr.length ;x++ ){
                        if (x != arr.length-1){
                                System.out.print(arr[x]+",");
                        }else{
                                System.out.println(arr[x]+"]");
                        }
                }
        }
       
        //最值
        public static int getArrMin(int[] arr){
                int min = arr[0];
                for (int x=1 ;x<arr.length ;x++ ){
                        if (min>arr[x])
                                min=arr[x];
               
                        }
                return min;
        }

        //逆序
        public static void reverse(int[] arr){
                int start = 0;
                int end = arr.length -1;
                while (start<end){
                        int temp = arr[start];
                        arr[start] = arr[end];
                        arr[end] = temp;
                        start++;
                        end--;
                }
                System.out.println("\n逆序数组遍历");
                printArr(arr);
        }
       
        //键盘录入索引
        public static void getWeek(int input,String[] week){
                if (input<1 || input>7 ){
                        System.out.println("\n这一天对应的星期是\n"+"Nothing");
                }else{
                        System.out.println("\n这一天对应的星期是\n"+week[input-1]);
                }
        }
       
        //数组元素查找索引
        public static int getIndex(int num,int[] arrIndex){
                for (int index = 0;index < arrIndex.length ;index++ ){
                        if (arrIndex[index] == num)
                                return index;
                }
                return -1;
        }

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马