Java的数据类型和c语言数据类型的区别

本文探讨了Java与C语言在数据类型上的不同,如Java的Unicode字符集、无符号char、整数类型的全面性、布尔类型、类型转换规则和字面值类型。重点介绍了Java特有的字符类型和自动类型转换机制。

**1.**前言:相信很多同志在疑惑,c语言和Java为什么都要学习数据类型,明明看起来没啥区别,但实际上Java的则更要繁琐。

**2.**首先,Java中的char是俩个字节,这是由于Java使用的是Unicode字符集,它能表示的字符量远远大于ASCII字符集,并且包括了许多语言,比如中文,拉丁文等等。因此按c语言的char容量(255),是远远不够存放。因此java的char容量也来到了2字节,由于我们都知道的,char无符号,则容量则有65535。
因此,Java的字符类型也可以表示许多c语言无法表示的字符,比如
int a=‘中’;可见,Java语言的全面。

**3.**其次,Java语言的整数型没有所谓的有符号和无符号,Java的整数型即可正数,又可表示负数。

**4.**再然后,Java中引入了c语言中没有的boolea类型(布尔类型),用于表示真假,其中布尔类型true为真,false为假。值得注意的是:这也导致c语言中0为假,不为0为真的说法在Java中是不成立的。

**5.**再再然后,Java中有许多的规定,这些规定在c语言中并不明显,因此是需要牢牢掌握的。
(1)Java支持小容量转大容量(自动类型转换机制),但不支持大容量转小容量(int相对long就是小容量),因此只能使用强制类型转换(但可能损失精度值),但short,byte,char比较特别,只要不超出它们本身的范围,不需要强转,如:byte a=15;。然后相对上的小容量还是大容量的排序如下:
byte<short<int<long<float<double
<char
注:浮点型无论如何都要大于整型。
(2)八种数据类型之间都可以互相转换,除了布尔类型。
(3)多种数据类型混合运算时,先转化为容量最大的那种类型再运算。
(4)byte,short,char三种特别点的混合运算,需要将其先化为int型再去运算。
(5)

**6.**还有就是,Java中的字面值都有默认的类型,比如整数1,默认类型为int型,如果要写一个long类型的变量,只能写出long a=100l(其中l可以是大小写),浮点型也有相似的规定,小数都默认为double类型,因此要写一个float类型的变量,则只能写float b=0.5f(f可以是大小写)。

**7.**Java中还有一个类型为字符类型,这也是c语言中没有的。

第1章 基本概念 1.1 概观:系统生命周期 1.2 指针动态存储分配 1.3 算法形式规范 1.4 数据抽象 1.5 性能分析 1.6 性能度量 1.7 参考文献选读材料 第2章 数组结构 2.1 数组 2.2 数组的动态存储分配 2.3 结构体联合体 2.4 多项式 2.5 稀松矩阵 2.6 多维数组的表示 2.7 字符串 2.8 参考文献选读材料 2.9 补充习题 第3章 栈与队列 3.1 栈 .3.2 动态栈 3.3 队列 3.4 动态循环队列 3.5 迷宫问题 3.6 表达式求值 3.7 多重栈与多重队列 3.8 补充习题 第4章 链表 4.1 单向链表 4.2 用C语言表示单向链表 4.3 链式栈与链式队列 4.4 多项式 4.5 其它链表操作 4.6 等价类 4.7 稀疏矩阵 4.8 双向链表 第5章 树 5.1 引论 5.2 二叉树 5.3 遍历二叉树 5.4 其它二叉树操作 5.5 线索二叉树 5.6 堆 5.7 二叉查找树 5.8 选拔树 5.9 森林 5.10 不相交集合的表示 5.11 二叉树的计数 5.12 参考文献选读材料 第6章 图 6.1 图的抽象数据类型 6.2 图的基本操作 6.3 最小代价生成树 6.4 最短路径迁移闭包 6.5 活动网络 6.6 参考文献选读材料 6.7 补充习题 第7章 排序 7.1 动机 7.2 插入排序 7.3 快速排序 7.4 排序最快有多快 7.5 归并排序 7.6 堆排序 7.7 多关键字排序 7.8 链表排序索引表排序 7.9 内部排序小结 7.10 外部排序 7.11 参考文献选读材料 第8章 Hash法 8.1 引言 8.2 静态Hash法 8.3 动态Hash法 8.4 Bloom滤波器 8.5 参考文献选读材料 第9章 优先队列 9.1 单端优先队列双端优先队列 9.2 左倾树 9.3 二项式堆 9.4 Fibonacci堆 9.5 配偶堆 9.6 对称最小-最大堆 9.7 区间堆 9.8 参考文献选读材料 第10章 高效二叉查找树 10.1 最优二叉查找树 10.2 AVL树 10.3 红-黑树 10.4 Splay树 10.5 参考文献选读材料 第11章 多路查找树 11.1 m-路查找树 11.2 B-树 11.3 B+树 11.4 参考文献选读材料 第12章 数字查找结构 12.1 数字查找树 12. 2 二路Trie树Patricia树 12.3 多路Trie树 12.4 后缀树 12.5 Trie树互联网的包转发 12.6 参考文献选读材料
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值