1、访问修饰符public,private,protected,以及不写(默认)时的区别
答:区别如下:作用域当前类同包子类其他public√√√√protected√√√×default√√××private√×××类的成员不写访问修饰时默认为default
默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)
受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有
2、floatf=3
4;是否正确
4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换floatf=(float)3
4;或者写成floatf=3
3、Java有没有goto
答:goto是Java中的保留字,在目前版本的Java中没有使用
其中有goto和const,但是这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉C语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字)4、&和&&的区别
答:&运算符有两种用法:(1)按位与;(2)逻辑与
&&运算符是短路与运算
逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true
&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算
很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串,应当写为:username
=null&&
username
equals(“”),二者的顺序不能交换,更不能用&运算符,因为第一个条