JAVA面试题——简答题

来源:互联网 发布:c语言表达式的级别 编辑:程序博客网 时间:2024/05/16 10:25

1.&和&& 的区别
(1)&和&& 都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边表达式结果都为true时,整个运算结果才为true;否则,只要有一边表达式为false,则运算结果为false。
(2)&&具有短路功能,即如果第一个表达式结果为false,则不会计算第二个表达式,直接返回false;
(3)&可以用作位运算符,当&操作符两边表达式不是boolean类型时,&表示按位与操作。


2.switch语句能否作用在byte上,能否作用在long上,能否作用在String上
(1)低版本jdk中switch(expr1),expr1是一个整数表达式,因此传递给switch和case语句的参数可以是int,short,char或byte。而long和String都不能作用于switch上。
(2)在高版本的jdk中switch(expr1),String类型也可以用在switch中。


3.静态变量与实例变量的区别
静态变量又叫做类变量;实例变量又称为成员变量。
(1)在语法定以上:静态变量前要加static关键字,而实例变量前不需要加。
(2)存放位置:a.静态变量随类的加载在存在于方法区(共享区),为所有对象所共享;不需要创建任何实例对象,静态变量就会被分配内存空间,被使用。
b.实例变量随对象建立(new)而存在于堆内存中,是属于某个对象的属性;必须创建了对象后,实例变量才会被分配内存空间,才能使用这个变量。
(4)调用:静态变量可以通过类名.XX来调用;而实例变量必须创建(new)对象后通过这个对象来使用。

0 0
原创粉丝点击