Android面试

Android笔试总结二

2016-11-08  本文已影响20人  程序员学园

1.位运算
16右移1位
结果为:15>>1 = 7
15的二进制为1111

1得到0111即4+2+1=7

拓展
右移一位相当于该数➗2,左移一位相当于该数乘以2,左移2位相当于该数乘以2^2=4。

举个例子15<< 2=60,即乘了4。但此结论只适用于该数左移时被溢出舍弃的高位中不包含1的情况。
例如,假设以一个字节(8位)存一个整数,若a为无符号整型变量,则a=64,即二进制数01000000时,左移一位时溢出的是0。而左移2位时,溢出的高位中包含1,则不符合上述结论。

2.iso七层模型从下到上依次为

zhu'yi

注意网络层和传输层的顺序,是先网络层,再进行传输

3.字符串传值还是引用的问题

3.1比较
s1="abc"
if s1=="abc"
执行if
else
执行else

编译错误
编译通过,运行错误
输出else

答案是执行if

如下


Paste_Image.png

输出

Paste_Image.png

那么也就是说字符串如果字符串也是可以用==来进行比较的。

Paste_Image.png

但是

Paste_Image.png

3.2java中String s = new String("abc")创建了几个对象?

Paste_Image.png

3.2
s1="abc",s2="abc",会新建几个对象

Paste_Image.png

3.3总结字符串=和new的区别

![Uploading Paste_Image_588516.png . . .]

Paste_Image.png

=的话,只要内容相同==判断的时候就符合,因为=本身就是对象的引用,指向的同一个对象。
而new的话,因为new出来的内存地址不一样,所以比较结果也会不相等。

iterface不能用哪个修饰
pirate public protected static

java程序有哪几种表达
类,applect/application/servelet

上一篇下一篇

猜你喜欢

热点阅读