1. 程序结构
1.1 源码
| Java | C | C++ | |
|---|---|---|---|
| 源文件 | .java | .c .h | .cpp .h |
| 编译后 | .class 字节码文件 | .i .s .o .obj等中间产物 | .i .s .o .obj等中间产物 |
1.2 编译
1.3 Hello world
java
| |
C
| |
C++
| |
2. 数据类型
2.1 基本/数值数据类型
java数据类型所占的字节数是固定的,c/c++不同的系统可能不一样
java基本类型
| |
C基本类型
| 类型 | 存储大小 | 值范围 |
|---|---|---|
| char | 1字节 | -128 |
| unsigned char | 1字节 | 0~255 |
| signed char | 1字节 | -128~127 |
| int | 2或4字节 | -32768 |
| short | 2字节 | -32768~32767 |
| unsigned short | 2字节 | 0~65535 |
| long | 4字节 | -2,147,483,648~2,147,483,647 |
| unsigned long | 4字节 | 0到4,294,967,295 |
| float | 4字节 | 1.2E-38~3.4E+38 精度6位有效位 |
| double | 8字节 | 2.3E-308~1.7E+308 精度15位有效位 |
| long double | 16字节 | 3.4E-4932~1.1E+4932 精度19位有效位 |
注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。
为了得到某个类型或某个变量在特定平台上的准确大小,可以使用sizeof运算符。表达式sizeof(type)得到对象或类型的存储字节大小。
1printf("int 存储大小 : %lu \n",sizeof(int));
C++基本类型
| |
2.2 复合/引用数据类型
java
| |
2.3 类型转换
java
数据类型从低级到高级
byte,short,char—> int —> long—> float —> double
转换规则:
- 不能对boolean类型进行类型转换
- 不能把对象类型转换成不相关类的对象
- 在把容量大的类型转换位容量小的类型时必须使用强制类型转换
- 转换过程中可能导致溢出或损失精度。(容量长的转容量短的)
- 浮点数到整数的转换是通过舍弃小数得到
自动类型转换
必须满足转换前的数据类型位数要低于转换后的数据类型
强制类型转换
- 条件是转换的类型必须是兼容的
- 格式: (type)value type是要强制类型转换后的数据类型
3. 字符串
3.1 字符串的创建
java
| |
c
| |
3.2 字符串的操作
Java
| |
C
| |