zoukankan      html  css  js  c++  java
  • javase(四舍五入、switch、length、构造器、重载与重写)

    1、四舍五入

    public static void  main(String args[]){
          System.out.println(Math.round(11.5));
          System.out.println(Math.round(-11.5));
        }

    Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11,四舍五入的原理是在参数上加0.5然后进行下取整。

    2、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上

    (1)jdk版本的发展与switch的更改:

    早期的JDK中,switch(expr)中,expr可以是byte、short、char、int

    1.5版开始,Java中引入了枚举类型(enum),expr也可以是枚举

    从JDK 1.7版开始,还可以是字符串(String),长整型(long)是不可以的

    (2)测试jdk1.8版本的switch:

    字符串:

    public static void main(String args[]) {
            {
                String string;
                Scanner reader = new Scanner(System.in);
                System.out.println("输入字符串");
                string= reader.next();
                switch (string) {
                    case "monday":
                        System.out.println("星期一");
                        break;
                    case "tuesday":
                        System.out.println("星期二");
                        break;
                    case "wednesday":
                        System.out.println("星期三");
                        break;
                    case "thursday":
                        System.out.println("星期四");
                        break;
                }
            }
        }
    输入字符串
    monday
    星期一

    长整型:

    当把switch中改为long型的数据时,报错:

     3、数组与字符串得length

        public static void main(String args[]) {
            int[] arr=new int[50];
            String string="123456";
            System.out.println(arr.length);
            System.out.println(string.length());
        }

    数组中的length为数组的属性,字符串中的length为length()方法,然而,JavaScript中,获得字符串的长度是通过length属性得到的,这一点容易和Java混淆。

     

    4、构造器是否可以被重写?

    public class Test {
        private String name;
        private String age;
    
        public Test(String name, String age) {
            this.name = name;
            this.age = age;
        }
    
        public Test(String name) {
            this.name = name;
        }
        public Test(){
    
        }
    }

    (1)构造器可以被重载,但是不能被重写,子类调用父类的

     

    (2)子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法。在子类的构造方法中可使用语句 super(参数列表) 调用父类的构造方法。一个构造方法调用本类的其它构造方法用this关键字。

    5、重载和重写

    (1)重载和重写的区别:

    联系:方法的重载和重写都是实现多态的方式,

    区别:

    重载实现的是编译时的多态性,而重写实现的是运行时的多态性

    重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载

    重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求。

    public static void main(String args[]) {
    int[] arr=new int[50];
    String string="123456";
    System.out.println(arr.length);
    System.out.println(string.length());
    }
  • 相关阅读:
    常用sql经典语句
    sql创建 自定义函数返回当前日期所在月的第一天最后一天
    洗洗睡了吧啊,何必在意……费口舌不热么
    asp.net Treeview控件
    MSSQL 触发器
    Mssql 通配符
    C#实现所有经典排序算法
    asp.net Treeview
    Asp.net+json 操作类
    Queue 和Stack 的区别
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12522343.html
Copyright © 2011-2022 走看看