1 java中的数字默认类型为int

**容易出现类型转换错误

long 定义的数字后面必须有 “l” “L”

float 定义的数字后面必须有 “f” “F”

  java中比int表述范围大的数,不会自动转出其他类型。所有必须要指定。

  如果数字比int表述范围小,会在赋值的时候自动转换。

2 boolean值不能为null

也不能用0或非0赋值boolean定义的变量,这和c语言不太一样。

3 类型转换

long型占8个字节,而float占4个字节,而long自动转float是可以的。大类型转小类型的特例。

byte转char是从小到大,但是要强制转换。

4 “+”号的重载

“+”号遇到字符串会重载为连接符。如   “5+5=”+5+5 -------> 5+5=55

                  5+5+"=5+5"  -------> 10=5+5

                  'a'+5+5     ----------> 107           char实际上还是int,所以不存在运算符重载。

5 模运算的符号问题

模运算的符号只取决于被模数的符号。和模数的符号没有关系。

6 位运算中需要注意的点

byte b= 127;

byte b2= (byte)(b+1);-------->结果为-128。如果直接把128赋值给b2,就会报错!

需要注意的是。位运算之后,结果为int值。强转之后可能会造成截断错误。

例如:        byte b1 =-9;
           byte b2 = (byte) (b1>>>3);
           System.out.println(b2);

(b1>>>3)-->结果是int,所移的也是int  ,强转之后,把移位所补的0截取丢掉了。剩下的值为-2.

总结:

  符号位扩展和移位操作总是发生在32位,计算机会默认将小值自动转换成int,所以对第7位为0的byte值进行无符号操作是没有意义的,在实际运算时,是对扩展后的32位int进行操作的。

7 +=的特点

保持类型不变。如上面的代码 byte b2= (int)(b+1) 等号右边加1后会转为int型。而如果使用+=就跳过了数值运算结束默认转int的机制。

8 i++ 与 (i++)是一样的。

不要被括号迷惑!!!

9 三元运算符

  1.?后面的语句必须有返回值。

  2.?后面两个语句返回值类型必须相同。如果不同,那么会无法判断三元运算符的返回值!

最新文章

  1. shader forge卡通渲染!
  2. [FFmpeg] ffmpeg 常用命令
  3. 当前界面最上面添加视图(UIWimdow)
  4. Web框架们
  5. ajax 异步交互
  6. Beta分布和Dirichlet分布
  7. 注意!你的Thread.Abort方法真的让线程停止了吗?
  8. UVa11210 中国麻将 Chinese Mahjong-搜索
  9. 【Android Studio使用教程3】Android Studio的一些设置 体验更好了
  10. JSP实现数据库(MySQL)查询——Java Web练习(二)
  11. poj2787 算24
  12. document.body 和 document.documentElement 的区别
  13. Java课程设计—学生成绩管理系统(54号童欢)
  14. python写一个信息收集四大件的脚本
  15. Android使用SimpleAdapter
  16. Mysql 8.0 导入txt文件操作(课程实验)
  17. webservice的两种方式SOAP和REST的通俗理解
  18. Nginx使用教程(七):使用Nginx缓存之proxy cache
  19. jenkins+mail邮件配置
  20. 3D打印开源软件Cura分析(1) 【转】

热门文章

  1. JVM垃圾回收机制四
  2. 【装载】删除Oracle11G
  3. IT届常用单词读法纠正
  4. Caused by: java.lang.IllegalStateException: javax.websocket.server.ServerContainer not available
  5. Logback文档(1)
  6. LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
  7. UVA 12898 - And Or 与和或 (思路题)
  8. cityspace
  9. 报bug
  10. 关于bc中小数点length,scale,(())以及进制转换