JAVA的基本数据类型
一、Java中的基本数据类型有四类八种:
1、整数类型:byte、short、int、long
2、浮点类型:float、double
3、字符类型:char
4、布尔类型:boolean
二、Java各整数类型有固定的表数范围和字段长度,不受具体操作系统的影响,保证了Java程序的可移植性,C语言程序编译后没有移植性,同一个变量在不同的系统中占空间不同。
什么是可移植性?
可移植性是针对于不同的操作系统而言的,程序在二进制级别是不可能移植的,在API层面上由于不同操作系统的API不同,也是不可能移植的。
C语言库相当于是一个API层之上的中间层,在这个中间层,封装了操作系统API在其内部的实现细节,C语言提供了代码级别的可移植性。
但是这个移植性不是完全的移植性,因为有些API没有封装,而Windows下和Linux下API是不一样的,所以就会出现不识别。
可以通过以下代码在一定程度上解决这个问题:
#ifdef _WINDOWS_
CreateThread(); //windows下线程的创建
#else
Pthread_create(); //Linux下线程的创建
#endif
而且C语言程序移植到另一个平台上之后一定要重新编译才行!
Java的可移植性就比C语言好得多,老师在课上讲了,Java编译后产生的代码当前的CPU不能直接运行,这些代码是针对JAVA虚拟机(JVM——JAVAVirtualMachine)的,只能被Java虚拟机运行。所以说任何机器上,只要安装了JAVA虚拟机,就能够/才能够运行编译好的Java程序(…….class)。Java的这种可移植性让它在Internet上具有广泛顶点应用前景。
C语言的程序编译完之后就是这台机器CPU的目标码,针对于这种CPU,放到另一种CPU上就不行了。
三、Java中没有无符号的数,没有C语言中的unsigned。
四、Java整数常量默认为int,实数常量默认为double。
JAVA中,float a=0.1是错的,Java会认为这是把一个双精度的值赋予一个单精度浮点数。这种情况下,java不会为我们自动转换,只会报错提醒。修改的方法有两个:
1. 明确指定0.1是个单精度浮点数,然后赋值给f1. 即 float f1= 0.1f ; //后加f
2. 手动强制转换 float f1 = (float) 0.1; //看着好笨!呵呵
但是byte b = 10;Java是可以的,只有在赋值时,常量不超过表数范围时这样行,如果
byte b = b1 + b2;就会出错。
C语言没有这么麻烦。
C语言的基本数据类型
1、有符号整数:int、short、short int、long、long int、long long、long longint
2、无符号整数:unsigned int(等价于unsigned)、unsignedlong、unsigned short
3、实浮点数:float、double、long double
4、字符型:char(C标准允许在关键字char前使用signed和unsigned)
5、C语言用1表示true,用0表示false,C99标准引入了_Bool类型,用于表示布尔型,_Bool只有一位。
C++语言的基本数据类型
C++新增了bool类型,可以bool a =true;
逻辑运算符区别
关于逻辑运算符,Java中有&&(短路与)、&(与)、|(或)、||(短路或),短路与、短路或只要一个不满足,就不会再计算第二个,但是这不会影响到最终的结果,就是说Java不保证逻辑运算符两边的式子都计算了。而&、|把运算符两边的式子都做了判断。
而C语言和C++中的逻辑运算符是&&、||,没有Java这么复杂。
Java与C、C++循环判断语句的比较
常用的语句像if、for、switch、while大家都相同,只是C语言必须先定义变量,把变量定义在外面才行,不会出现for (int i=0;i
JAVA、C、C++基本语法的比较
发表于:2017-08-08
作者:网络转载
来源:
 相关文章
前端到底是“技术深度”重要还是“技... 悟透一个小窍门,你就能举一反三掌握... 聊聊架构设计流程:设计备选方案 Java中的并发编程模型及其应对策略 掌握Java并发编程,避免无处不在的竞态条件 2024年,五个Java开发者应该关注的编程趋势- 周排行
- 月排行
-   缓存技术:加速应用,提高用户体验
-   六个好用的在线代码编辑器,你选哪个?
-   C++简单String类的实现
-   适合Java开发者学习的Python入门教程
-   在软件开发中实施AI与敏捷管理的九点建议
-   快速提升 UI 设计效果的 6 个小技巧
-   如何将SAST融入DevSecOps流程中?
-   微服务架构:构建高灵活性的分布式系统
-   这 14 个 VSCode 插件,让你写代码如同神一般
-   最全的C++资源大全,纯干货!
-   智能可穿戴设备的主要测试步骤
-   衡量软件产品质量的 14 个指标
-   自动化神器AutoIt,告别重复劳动
-   缓存技术:加速应用,提高用户体验