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