2.Java基础数据类型

文章目录

一些注意点

  1. int–范围大概在正负20亿,Java没有任何无符号形式的int,long,short,byte

  2. Java中整型的范围与运行Java的机器无关,而C和C++针对不同处理器选择高效整型,可能出错

  3. 长整型Long有一个后缀L或l,十六进制前缀0x或0X,八进制前缀0(容易混淆),二进制前缀0B或0b

  4. 从Java7开始,数字字面量可以加入下划线,不影响运行,Java编译器会自动去除

public class FirsrSample {
    public static void main(String args[]) {
        int a=100_0_00_000;
        System.out.println(a+2);
    }
}
//结果100000002
  1. 没有后缀F或者f的浮点数值,默认是double类型
  2. 判断"非数值时"应该使用Double.isNaN(x);
  3. 普通浮点数计算2.0-1.1!=0.9, 如果想要没有误差,可以使用BigDecimal;
  4. \r---->是指回车,即回到本行的开头,\n是指进入下一行
  5. 反斜杠在注释或者字符串中尽量不要使用,例如 // \u00A0 is a newline ,程序会把\u00A0当做一个换行符
  6. 关于Java中char与Unicode以及UTF-16

下面利用一些专用术语解释一下 Java语言解决这个问题的基本方法。从 Java SE 5.0 开 始。码点(code point) 是指与一个编码表中的某个字符对应的代码值。在 Unicode 标准中, 码点采用十六进制书写,并加上前缀 U+, 例如 U+0041 就是拉丁字母 A 的码点。Unicode 的 码点可以分成 17 个代码级别(codeplane)。第一个代码级别称为基本的多语言级别(basic multilingual plane), 码点从 U+0000 到 U+FFFF, 其中包括经典的 Unicode 代码;其余的 16 个级另丨 〗码点从 U+10000 到 U+10FFFF, 其中包括一些辅助字符(supplementary character)。 UTF-16 编码采用不同长度的编码表示所有 Unicode 码点。在基本的多语言级别中,每个 字符用 16 位表示,通常被称为代码单元(code unit); 而辅助字符采用一对连续的代码单元 进行编码。这样构成的编码值落人基本的多语言级别中空闲的 2048字节内, 通常被称为替 代区域(surrogate area) [ U+D800 ~ U+DBFF 用于第一个代码单兀,U+DC00 ~ U+DFFF 用 于第二个代码单元]。这样设计十分巧妙,我们可以从中迅速地知道一个代码单元是一个字 符的编码,还是一个辅助字符的第一或第二部分。例如,⑪是八元数集(http://math.ucr.edu/ home/baez/octonions) 的一个数学符号,码点为 U+1D546, 编码为两个代码单兀 U+D835 和 U+DD46。(关于编码算法的具体描述见 http://en.wikipedia.org/wiki/UTF-l6 ) 0 在 Java中,char 类型描述了 UTF-16 编码中的一个代码单兀。

我们强烈建议不要在程序中使用 char 类型,除非确实需要处理 UTF-16 代码单元。最好 将字符串作为抽象数据类型处理

简单理解为

UTF-16使用一个单元表示普通字符,使用两个单元表示辅助字符.

表示辅助字符时,两个单元中的第一个单元数值和表示普通字符的一个单元数值正好错开,这样在判断单元是普通字符还是辅助字符时效率会很高

和哈夫曼树中前缀码的原理类似

在Java中char表示UTF-16中一个编码单元

  1. 在Java中BOOlean类型和数字不同, -----------注:在C++中数值和指针都可以代替boolean值.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

renzhiguo_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值