黑马程序员技术交流社区

标题: JavaEE8期基础班day03 [打印本页]

作者: Zengpenh    时间: 2018-1-15 17:29
标题: JavaEE8期基础班day03
本帖最后由 Zengpenh 于 2018-1-17 01:05 编辑

学习经历:
今天自习,看了一些视频内容!!
一、final关键字的使用:
       特点:1、用于修饰类
                  2、用于修饰方法
                  3、用于修饰变量
        final修饰变量的初始化时机
二、多态:
         多态的前提:
                1、要有继承关系
                2、要有方法覆写
                3、要有父类引用指向子类对象
         多态中的成员访问特点:
                 1、构造方法:访问子类时先访问父类中的构造方法
                 2、成员变量:编译看左边、运行看左边
                 3、成员函数:编译看左边、运行看右边
              当父类引用指向子类对象时,只访问子类中的成员方法
                 4、静态方法:编译看左边、运行看左边


接下来是一大堆作业:
/**
* 分析以下需求,并用代码实现(每个小需求都需要封装成方法) 1.求两个数据之和(整数和小数) 2.判断两个数据是否相等(整数和小数)
* 3.获取两个数中较大的值(整数和小数) 4.获取两个数中较小的值(整数和小数)
*
*/
public class Day5Test11 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int num1 = 2;
                int num2 = 8;
                double num3 = 0.343;
                double num4 = 3.5643;
                sumInt(num1, num2);
                sumDouble(num3, num4);
                System.out.println("------------");
                intEquals(num1, num2);
                DoubleEquals(num3, num4);
                System.out.println("------------");
                intMax(num1, num2);
                doubleMax(num3, num4);
                System.out.println("------------");
                intMin(num1, num2);
                doubleMin(num3, num4);
        }

        /*
         * 1.求两个数据之和(整数和小数) (1)参数类型:int或者double (2)返回值类型:int或者double
         * 所以需要定义两个重载的方法,一个为求两个int数据的和,一个为求两个double数据的和
         */
        public static int sumInt(int num1, int num2) {
                int sum = num1 + num2;
                System.out.println(num1 + "+" + num2 + "=" + sum);
                return sum;
        }

        public static double sumDouble(double num3, double num4) {
                double sum = num3 + num4;
                System.out.println(num3 + "+" + num4 + "=" + sum);
                return sum;
        }

        /*
         * 2.判断两个数据是否相等(整数和小数) (1)参数类型:int或者double (2)返回值类型:boolean
         * 所以需要定义两个重载的方法,一个为判断两个int数据是否相等,一个为判断两个double数据是否相等
         */
        public static boolean intEquals(int num1, int num2) {
                boolean equals = (num1 == num2) ? true : false;
                if (equals == true) {
                        System.out.println(num1 + "和" + num2 + "相等");
                } else {
                        System.out.println(num1 + "和" + num2 + "不相等");
                }
                return equals;
        }

        public static boolean DoubleEquals(double num3, double num4) {
                boolean equals = (num3 == num4) ? true : false;
                if (equals == true) {
                        System.out.println(num3 + "和" + num4 + "相等");
                } else {
                        System.out.println(num3 + "和" + num4 + "不相等");
                }
                return equals;
        }

        /*
         * 3.获取两个数中较大的值(整数和小数) (1)参数类型:int或者double (2)返回值类型:int或者double
         * 所以需要定义两个重载的方法,一个为求两个int数据的最大值,一个为求两个double数据的最大值
         */
        public static int intMax(int num1, int num2) {
                int max = (num1 > num2) ? num1 : num2;
                System.out.println(num1 + "和" + num2 + "\t" + max + "较大");
                return max;
        }

        public static double doubleMax(double num3, double num4) {
                double max = (num3 > num4) ? num3 : num4;
                System.out.println(num3 + "和" + num4 + "\t" + max + "较大");
                return max;
        }

        /*
         * 4.获取两个数中较小的值(整数和小数) (1)参数类型:int或者double (2)返回值类型:int或者double
         * 所以需要定义两个重载的方法,一个为求两个int数据的最校值,一个为求两个double数据的最小值
         */
        public static int intMin(int num1, int num2) {
                int min = (num1 < num2) ? num1 : num2;
                System.out.println(num1 + "和" + num2 + "\t" + min + "较小");
                return min;
        }

        public static double doubleMin(double num3, double num4) {
                double min = (num3 < num4) ? num3 : num4;
                System.out.println(num3 + "和" + num4 + "\t" + min + "较小");
                return min;
        }
}



**1.键盘录入一个整数(正数或者负数都可以,但是符号位不算有效的数字位)
        2.定义一个方法,该方法的功能是计算该数字是几位数字,并将位数返回
        3.在main方法中打印该数字是几位数
        4.演示格式如下:
                (1)演示一:
                        请输入一个整数:1234
                        控制台输出:1234是4位数字
                (2)演示二:
                        请输入一个整数:-34567
                        控制台输出:-34567是5位数字

* */
public class Day5Test10 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Scanner scanner = new Scanner(System.in);
                System.out.print("请输入一个整数:");
                int num = scanner.nextInt();
                System.out.println(num+"是"+number(num)+"位数字");
        }

        public static int number(int num) {
                String string = String.valueOf(num);// 将数字转换成字符串
                if (num < 0) {
                        String string2 = string.substring(1);//如果num<0就从字符串的第一位开始截取字符串
                        int length = string2.length();//然后再获取字符串的长度
                        return length;
                } else {
                        int length = string.length();
                        return length;
                }

        }
}
**
* 分析以下需求,并用代码实现 1.定义一个方法equals(int[] arr1,int[]
* arr2),功能:比较两个数组是否相等(长度和内容均相等则认为两个数组是相同的) 2.定义一个方法fill(int[] arr,int
* value),功能:将数组arr中的所有元素的值改为value 3.定义一个方法fill(int[] arr,int fromIndex,int
* toIndex,int value),功能:
* 将数组arr中的元素从索引fromIndex开始到toIndex(不包含toIndex)对应的值改为value
*
*/
public class Day5Test08 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int[] arr1 = { 3, 4, 5, 6, 7 };
                int[] arr2 = { 3, 3, 44, 5, 6, 7 };
                boolean equal = equals(arr1, arr2);
                System.out.println(equal);
                System.out.println("-----------------");
                int[] arr = { 1, 2, 34, 7, 33, 23, 11 };
                fill(arr, 7);
                System.out.println(Arrays.toString(arr));
                System.out.println("-----------------");
                fill(arr, 2, 6, 9);
                System.out.println(Arrays.toString(arr));
        }

        // 比较两个数组是否相等
        public static boolean equals(int[] arr1, int[] arr2) {
                boolean equal = true;
                if (arr1.length == arr2.length) {
                        for (int a = 0; a < arr1.length; a++) {
                                if (arr1[a] != arr2[a]) {
                                        equal = false;
                                        break;
                                } else
                                        equal = true;
                        }
                } else
                        equal = false;
                return equal;
        }

        // 定义一个方法fill(int[] arr,int value),功能:将数组arr中的所有元素的值改为value
        public static void fill(int[] arr, int value) {
                for (int x = 0; x < arr.length; x++) {
                        arr[x] = value;
                }
        }

        // 3.定义一个方法fill(int[] arr,int fromIndex,int toIndex,int value),功能:
        // 将数组arr中的元素从索引fromIndex开始到toIndex(不包含toIndex)对应的值改为value
        public static void fill(int[] arr, int fromIndex, int toIndex, int value) {
                for (int x = 0; x < arr.length; x++) {
                        if (x >= fromIndex && x < toIndex) {
                                arr[x] = value;
                        }
                }
        }
}


/**分析以下需求,并用代码实现
1.键盘录入长方形的长和宽
        定义方法计算该长方形的周长,并在main方法中打印周长  (长+宽)*2
2.键盘录入长方形的长和宽
        定义方法计算该长方形的面积,并在main方法中打印面积    长乘宽
*/
public class Day5Test07 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Scanner scanner=new Scanner(System.in);
                System.out.println("请输入长方形的长:");
                int long1=scanner.nextInt();
                System.out.println("请输入长方形的宽:");
                int wide=scanner.nextInt();               
                int perimter=perimeter(long1, wide);
                System.out.println("长为"+long1+"宽为:"+wide+"的长方形的周长为:"+perimter);
                int area=area(long1, wide);
                System.out.println("长为"+long1+"宽为:"+wide+"的长方形的面积为:"+area);
        }
        public static int   perimeter(int long1,int wide){
                int perimeter=(long1+wide)*2;
                return perimeter;
        }
        public static int  area(int long1,int wide){
                int area=long1*wide;
                return area;
        }
}







作者: Port    时间: 2018-1-15 18:32


作者: 1414225997    时间: 2018-1-16 10:07
未完待续?
作者: 花开的季节    时间: 2018-1-16 10:31
感觉没写完呢
作者: 陈文老师    时间: 2018-1-16 15:35
大哥,这是什么节奏?
作者: xiongliu    时间: 2018-1-16 16:14
期待你未更完的内容······
作者: Zengpenh    时间: 2018-1-17 00:58
陈文老师 发表于 2018-1-16 15:35
大哥,这是什么节奏?

。。。饭吃了回来就没网啦
作者: 渝小妹    时间: 2018-1-21 17:00
期待你每天的进步   温故而知新




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2