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七层模型从下到上依次为
注意网络层和传输层的顺序,是先网络层,再进行传输
3.字符串传值还是引用的问题
3.1比较
s1="abc"
if s1=="abc"
执行if
else
执行else
编译错误
编译通过,运行错误
输出else
答案是执行if
如下
输出
那么也就是说字符串如果字符串也是可以用==来进行比较的。
但是
3.2java中String s = new String("abc")创建了几个对象?
3.2
s1="abc",s2="abc",会新建几个对象
3.3总结字符串=和new的区别
![Uploading Paste_Image_588516.png . . .]
=的话,只要内容相同==判断的时候就符合,因为=本身就是对象的引用,指向的同一个对象。
而new的话,因为new出来的内存地址不一样,所以比较结果也会不相等。
iterface不能用哪个修饰
pirate public protected static
java程序有哪几种表达
类,applect/application/servelet