《Java和C++在细节上的差异》.pdf
文本预览下载声明
Stephen Liu
深入浅出、事半功倍
博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 posts - 62, comments - 101, trackbacks - 0, articles
日历 Java和C++在细节上的差异(一)
Posted on 2011-07-27 17:37 Stephen_Liu 阅读(738) 评论(3) 编辑 收藏
2011年7月
一 二 三 四 五 六
26 27 28 29 30 1 2 一、基本程序设计结构:
3 4 5 6 7 8 9
Java的基本程序结构、关键字、操作符都和C/C++非常相似,以下为主要的几点区别:
10 11 12 13 14 15 16
1. Java的原始数值型数据类型中不包含无符号类型,如c中的unsigned int。
17 18 19 20 21 22 23
2. 在进行移位运算时,当向左边移动时,如1 35, 对于int类型,由于其占有4个bytes(32bits), 因此在Java中,大于32的移位将对32取模,即1 35
24 25 26 27 28 29 30
果等于1 3,以此类推,long将会对64取模。对于int类型而言,如果确实需要获取32位以上的移位,需要将返回值的类型提升到long即可。
31 1 2 3 4 5 6
3. 在c语言中,可以通过判断一个数值是否为0来代替布尔中的false,其他的数值均表示为true。该写法可应用于if和while等子句中,如 if (i) {}, 当
0时,该条件可为真,或者是在判断指针对象是否为NULL时,也可作为if和while的条件,因此很容易出现将if (i == 9) {...}写成if (i = 9) {...}的低级错 ,
公告 禁止了该类转换,既if和while中条件必须是布尔类型,如果在Java中写成 if (i = 9) {...}将会直接导致编译错 ,从而更好的避免了该类问题的发生。
4. Java中去除了goto字句,但是仍然视为保留字。然而Java中的break字句,新增了带标签的break [label],可以使break语句直接跳出指定的循环,
昵称:Stephen_Liu
是缺省的最内层循环。注:标签必须放在希望跳出的最外层循环之前,并且紧跟一个冒
显示全部