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更自由~
|
|