您现在的位置是:首页 > 文章详情

Java复习1-基本数据类型

日期:2018-07-05点击:458

数据类型

整形

type 存储 取值范围
int 4字节 -2 147 483 648 ~ 2 147 483 647 (超过20亿)
short 2字节 -32 768 ~ 32 7677
long 8字节 -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807
byte 1字节 -128 ~ 127

关于范围的计算,1字节=8位。 1byte 即8个1和0的组合范围。

需要记住int是4个字节,32位。

浮点类型

type 存储 范围
float 4字节 -2^128 ~ +2^127 有效位6~7位
double 8字节 -2^1024 ~ +2^1023 有效位 15位

double数值精度是float的两倍,绝大部分都应该采用double而不是float。

字符char

char用来表示单个字符,Java中采用16位来表示,即2个字节。但现在unicode字符长度已经超过了65536,一个char并不能完全覆盖所有的字符。所以,通常不要用char,而是string,否则会有乱码产生。

boolean

只有true或false。唯一需要注意的是Java中基本类型和包装类的关系。对于一个class的字段,可以是boolean类型的,也可以是Boolean类型的。二者是不一样的!boolean类型的字段在初始化的时候,如果没有指定则默认位false。而Boolean默认是null。所以,在class里的成员变量的布尔类型都应该采用Boolean。

String

Java对字符处理通常用的是String,但在概念上,String不是数据类型,而一个class。String由char的值序列组成。但前面已经提到char只有两个字节16位,不能够表示所有的unicode编码,有时候需要两个unicode才可表示。那么,String的length方法就很有意思了。

@Test public void testCodePoint() { String a = "\uD835\uDD46㋛Hello"; System.out.println(a); System.out.println(a.length()); a.codePoints().forEach(value -> System.out.println((char) value)); }

结果

𝕆㋛Hello 8 핆 ㋛ H e l l o

a字符串的第一个字符是一个变形的O,𝕆. 这个字符的unicode是U+1D546, 在java中表示为\uD835\uDD46。所以length是8,但字符一共7个。

/** * Returns the length of this string. * The length is equal to the number of <a href="Character.html#unicode">Unicode * code units</a> in the string. * * @return the length of the sequence of characters represented by this * object. */ public int length() { return value.length; }

    关注我的公众号

img_acfe50023e4718b33064273d65e4cd67.jpe
唯有不断学习方能改变! -- Ryan Miao
原文链接:https://yq.aliyun.com/articles/610711
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章