java的8种基本数据类型
来源:互联网 发布:java简历项目经验案例 编辑:程序博客网 时间:2024/06/09 15:39
熟悉c++的话,对java的数据类型不会陌生,很相似。java是一种强类型的语言,也就是任何变量都需要声明类型,并且还要考虑数据类型的范围和转化问题。
java一共有8种基本的数据类型;4类整型,2类浮点型,布尔型,和表示unicode编码的字符单元的字符类型char型。和c++不一样!java的类型范围和机器或者平台无关,永远不变。并且java没有无符号数,这点和c++有很大不同,注意区分,java里是直接按照二进制的首位1代表负数,0代表正数来约束范围。
补充;
万:10的4次,千万是10的7次,百万是10的6次。
亿:代表的是10的八次方。
兆:代表的是10的十二次方。
京:代表的是10的十六次方。
再大的话基本我们大部分人在一般情况下就很少接触了。前面说了,java的整型范围和平台无关,这就保证了软件的移植良好。通常,int是我们常用的,但是当表示较大数,比如大数据的文件数时,就要用long,byte和short主要用在特定场合。并且注意long型的用法,后面加L(大小写不限),否则默认是int。
long longNumber = 9223372036854775806l;
接下来是2种浮点型类型;float(单精度)和double(双精度),注意!c语言中还有一种long double类型。
这样肯定不会错。float4有效位数为6-7位,用的不多
比如在需要快速处理单精度数据的时候,会用到,其他情况就double就哦了
科普下浮点数;因为有小数,这个小数点漂浮不定,就像大海中的漂流物浮起来位置不定一样,我们起了个名字—浮点数,也就是科学计数法,由阶码和尾码组成,也就是有效数字和指数组成, 类似这样 1.0x10^3,这样这个数就是一千,我们只用记录1和3这两个关键数就可以表示,所占空间小,否则是1000,这样你就需要记录1个1和3个0,占据空间大,这种数的小数点不是飘动的,所以不叫浮点数,浮点数节省空间,所以计算机里的小数,和位数比较高的数都用浮点数。不同的是计算机里是2进制浮点。
例如;
3.14=314e-2表示314×10的-2次,这是10进制的记法,用e代表指数。在jdk5.0,可用16进制表示浮点数,用p表示指数,比如;0x1.0p-3,但是尾数采用16进制,指数采用十进制。注意写法;float类型的数字后面带f(F),否则默认是double,double可带可不带。
float f = 3.14f;double doubleNumA= 3.14d;double doubleNumB = 3.141592653;所有的浮点数都遵循IEEE 754(电气和电子工程师协会Institute of Electrical and Electronics Engineers)规范。
另外java还有三类表示出错和溢出的浮点数值,但是不是很常用。即为;正无穷大POSITIVE_INFINITY,负无穷大NEGATIVE_INFINITY,不是一个数字NaN(not a number),不是很常用,作为了解即可。
double resNegative = Double.POSITIVE_INFINITY;double resPositive = Double.NEGATIVE_INFINITY;double resNaN = Double.NaN;System.out.println(resNaN);System.out.println(resNegative);System.out.println(resPositive);
结果;
NaNInfinity
-Infinity
注意;这三个数是常量!并且所有不是数值的值都认为是不同的,所以这样判断一个变量是非数值的方法是错误的,如下;
if(a == Double.NaN){System.out.println("ok");}else {System.out.println("error");}结果是error,应该使用Double的isNaN()方法;
if (!Double.isNaN(a)) {System.out.println("right");}结果是right。
下面看个例子,例;计算2-1.2的结果?再计算2-1.1的结果?
System.out.println(2.0 - 1.2);System.out.println(2.0 - 1.1);System.out.println(2.0 - 1.3);
结果;
0.8
0.8999999999999999(不是应该是0.9么?)
0.7
为什么结果是这样呢?
因为java的浮点数是不适合禁止舍入的金融计算的,且浮点数采用二进制表示,而二进制(1、0)无法表示十进制的十分之一。用java的BigDecimal类即可,(后续)。
继续走,该char类型了,首先必须弄明白unicode编码表。
char类型表示单个字符,对应着unicode编码的字符单元,使用\u来表示unicode代码单元的编码,范围从\u0000-\uffff。当然还有很多其他的转义字符,他们都可以出现在字符常量或者字符串的引号内,只有\u的转移字符可以出现在引号外。
System.out.println('\u2122');System.out.println("\u2122");打印;
™
™
为什么会有unicode编码呢?因为这之前,对字符编码美国的ASCII,欧洲的ISO 8859-1,中国的gb118030等等,使用起来标准不统一,麻烦重重,为了解决这个问题,上世纪80年代开始研究,到91年正式发布1.0版本。这些都是废话,谈起来涉及到大量编码的专业知识,和主要矛盾关系不大,嘿嘿。只需要记住,java中非常的不建议使用char类型,最好是用抽象数据类型来表示。(以后再研究)
最后一类;布尔类型boolean。他有两个值;true和false,判断逻辑条件,并且整型和布尔值不能转化。如下不要混淆。
if (x = 0) {System.out.println("ture");}这样的话编译都不能通过,编译错误,因为整型和布尔在java不能转化。但是类似的写法在c++里是可以的,非0为真,0为假。
-----------------------------------------------------------------------------------------------------------------------------------
以上为粗浅的学习和复习,旨在帮助后日若遗忘的时候可以查看和查漏补缺。未完待续……
- Java的8种基本数据类型
- java的8种基本数据类型
- Java的8种基本数据类型
- Java的8种基本数据类型
- java的8种基本数据类型总结
- java 8种基本数据类型
- java 8种基本数据类型
- Java 8种基本数据类型
- Java 8种基本数据类型
- java中8种基本数据类型、基本数据类型的转换与运算符
- Java的数据类型:基本数据类型、引用数据类型
- Java基础--->03.Java的8种基本数据类型。
- java的基本数据类型
- Java的基本数据类型
- java的基本数据类型
- java的基本数据类型
- java 的基本数据类型
- Java的基本数据类型
- javamail 发送超链接
- poj-3468-A Simple Problem with Integers-splay树
- ListView嵌套GridView使用详解
- 实验10:编写子程序之显示字符串
- shell中用$来引用变量的值,但对变量赋值的时候无需使用$符号
- java的8种基本数据类型
- 虚拟机上网设置
- 不是技术牛人,如何拿到国内IT巨头的Offer
- android 使用keystore 签名apk
- 不是技术牛人,如何拿到国内IT巨头的Offer
- 深入理解计算机系统 家庭作业 2.78
- sql2008-window验证改身份验证
- Trapping Rain Water
- AJAX的刷新和前进后退问题解决