A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、++和--单独使用和在运算中使用有什么区别?++ 和 -- 在单独使用中表示自增和自减。
如果在复合使用中,++和--的位置不同,效果不同。 符号在前则表示 先自增/自减 然后再参与运算。在后则表示运算结束才自增或者自减。
其中可能会做为笔试题的有。 常量不能进行自增或者自减操作,及 1++,--1.是错误的。
其次 int num = 5;
boolean flag = num++ > 5 || num > 5;
中的flag为 true, 因为在 num++ > 5 判断之后其实 num就已经自增了。
2、什么是强转?什么是自动类型转换?
强转是表示数量级大的数据类型向数量级小的数据类型转换时,需要强制类型转换。自动类型转换则是表示数量级小的类型想要赋值给表示数量级大额数据类型的时候,jvm会自动帮我们进行转换。
其中, byte a = 20;
int b = a;
jvm 其实等于
int b = (int)a;
并不是 不同类型可以复制,只是jvm帮忙做了转换。
还有一个注意点的就是,类型转换的大小并不是看存储字节数的大小来判断哪个大哪个小,而是表示范围的大小之分。
例如 int a = 99999999999;
float num = a;
其中 float 只占4个字节,而int 占了8个字节。但是却可以直接复制。原因是因为float 和double 中的数据表示形式不一样。
以float 为例
float 占了4个字节,其中第一位是符号位。之后的第二为到第九位是指数位,剩下的则是小数域。所以并不是像整型一样直接转换位十进制。所以可以表示的内容比正整型大很多。
3、&&和||的区别?
&& 表示且。 必须全部都是真才是真。 || 表示或,必须全部假才是假。
有短路特性,则 如果&&左边的第一个等式已经为假了,则右边不会加载到内存进行运算。
同理如果||的左边已经为真,则右边也不会参与运算。
4、什么是方法?定义和调用的时候有什么要注意的地方?
方法是储存一段代码的区间,存储在jvm的方法区。方法名则是指向这个方法区的一个引用。在 js中 可以把该引用复制给一个新的变量,不知道java中有没有这种功能。
方法的定义需要注意的是不要在方法中定义方法。暂时也不知道能不能在类的外面定义方法。
方法的调用需要注意的是不要循环调用,例如两个方法相互调用,没有break 点。就会造成内存溢出
5、s+=1和s=s+1有什么区别?
s+=1的时候,jvm会进行强制类型转换。
而s=s+1则不会,
把s 定义成byte 和short 就可以看得出来效果
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马