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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© blensmile 中级黑马   /  2015-10-12 11:28  /  492 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.强制类型转换,
    java中, byte型的变量相加默认类型提升为int, 这时再把所得到的值赋给byte就要出错, C中就没有这个问题, char 和 一个整数相加了赋给char完全没问题, 不过有可能结果和想的不一样.
2. 类型
    java中有byte, short, char, int, long,每个类型对应相应的长度, 而C中, char是8bit,c har < short <= int <= long,不同编译器中int和long长度可能不一样, 比如我喜欢玩单片机, keil中的 int 就是16bit, visual studio中, int和long一样是32bit,  C中的类型还对应着unsigned无符号类型,C的类型要多得多

3.判断
    java中, if(表达式)中的表达式值只能是faulse或者true, 不接受其他, 而C中, 就没这个限制, 表达式的值为0就判断为faulse, 不为0就是true, 所以 if( i = 0 )在java中不合法, 在C中, 嗯, 你开心就好~java这样限制, 对码农来说少了一个坑了, 毕竟有时候想写==错写成了=.然后程序就飞了~

4.三目运算符
    java的三目运算符必须要对运算结果进行赋值或者使用, 不能只写一个表达式在那里,比如 a>b ? a:b; 这样子是不行的, 但是C中完全没问题, 这方面, C比java更自由~

3 个回复

正序浏览
C++和java比较像 多高点C++的技术
回复 使用道具 举报
还有时间研究C  表示JAVA还没学完 已哭晕~~
回复 使用道具 举报
挺不错的,挺全的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马