java与c的易混淆区别

Posted 诸葛借剑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java与c的易混淆区别相关的知识,希望对你有一定的参考价值。

switch 支持的数据类型

C:

short int long char (unsigned,signed)

switch(expression)
    case 1 : statement1;break;
    case 2 : statement2;break;
    case 3 : statement3;break;
    default: statement4;break;

expression结果必须是整型值(包括char),case标签必须是整数类型(包括char)的常量或整形常量表达式,不能用变量来用做case的标签。

java:

byte short int char 枚举 String

其中String(jdk1.7)以后才支持
expression本质上是支持int类型, byte short char 都默认转换成int,String根据哈希值,归跟到底还是int型。

expression与case是String或者不是String要一致。

数据类型的精确性

C语言的数据类型比较

printf("%f",0.01 + 0.09);

输出结果为:0.100000

Java的基本数据类型不是很精确:

System.out.println(0.01 + 0.09);

输出结果为:0.09999999999999999

要想在java中也使用精确的数据,可以使用BigDecimal类。


以上是关于java与c的易混淆区别的主要内容,如果未能解决你的问题,请参考以下文章

append() 在这个代码片段中是如何工作的?与特定变量混淆[重复]

谁给推荐个c++代码混淆工具

混淆前后的区别

[笔试题]sizeof系列面试题中的易错之处

C和OC的基础语法(易混淆的概念知识)

webpack 中,hashchunkhashcontenthash 的区别是什么?