JAVA面试笔记(6)

1。class AA {
 public char c;
 public AA(char i){
  c = i;
 }
 
 public static void main(String[] args) {
  AA c1 = new AA('1');
  AA c2 = new AA('1');
  AA c3 = c2;
  char a = '1';
  int b = 1;  
 }
}

A. a==b;
B. a==c1;
C. c2==c3;
D. c1==c2;

分析:

考查的知识点是比较基本类型与对象类型的不同之处,基本类型是比较值,而对象类型进行的是地址比较,就是对指向他们内存地址的指针进行比较。

A选项a中存储的是‘1’而b中存储的是1,所以返回FALSE

B选项是基本数据类型和对象类型相比较,类型不一致不能进行比较,因此在语法上就有错误,返回FALSE

C选项是将c2的内存地址赋给了c3,使c3指向了相同的内存单元,所以返回true

D选项是对象类型与对象类型相比较,但是c1,c2是两个不同的对象,都指向自己的内存空间,所以返回FALSE

 

2。char型变量中能不能存一个汉字?

char型变量能够存储一个中文。因为Java采用的是Unicode编码,一个char占16个位,而一个中文汉字只有两个字节,所以放一个汉字是没问题的。

 

 

Unicode
采用双字节编码统一地表示世界上的主要文字
3。

 在java中,布尔类型是不能转换成int型的,c语言中的布尔型可以代表0和1

java中的boolean不同于c或c++中的,java中boolean值就是boolean值,不能将其他类型的值当做boolean型处理

 

int s=0;

if(++s){

}

在java中式错误的

 

4。基本数据类型与String之间的转换
表达式10.4+"4.2"的结果是什么?

A 返回double类型14.6

B 返回String类型14.6

C 返回long类型14

D 返回String类型“10.44.2”

分析:当+运算符两侧的操作数的类型不一致时,需要统一类型,这时就会发生类型转换。当一个操作数为原始数据类型,另一个为字符串时,则基本类型的操作数要转换为等价的字符串,这时“+”不再是加运算符而是连接符。

 

5。final的参数传递

在下面程序标明的位置处插入哪条语句会导致编译错误?

public class FinalUse {

 public static void main(String[] args) {
  int x = 0;
  final int y = 1;
  int[] z = {2};
  final int[] n = {3};
  Use(x, y, z, n);

 }
 static void Use(final int x, int y, final int[] z, int[] n){
  //INSERT CONTENT
 }
}
A.x++
B.y++
C.y=x
D.z[0]++
E.n[0]++
F.z=n

分析,声明形参时可以在方法调用的参数调用之前加上关键字final。final参数也可以叫做空白最终变量,也可以当做常量。即在对其赋值之前(如方法调用之前),该变量为空(为初始化),赋值之后,在该变量的生存周期内用再也不能改变变量的值。final变量只可以赋值一次。在方法调用时,final形参被赋予实参的值。在方法内部,不能对final参数进行重新赋值或者修改。AF

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值