Java复习1-基本数据类型

简介: 数据类型整形type存储取值范围int4字节-2 147 483 648 ~ 2 147 483 647 (超过20亿)short2字节-32 768 ~ 32 7677long8字节-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807byte1字节-128 ~ 127关于范围的计算,1字节=8位。

数据类型

整形

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
目录
相关文章
|
22天前
|
存储 Java
Java中的基本数据类型有哪些?它们的大小和取值范围是多少?
Java基础数据类型:4种整型(byte[-128,127],short[-32,768,32,767]),2种浮点(float,double),1种字符(char,Unicode),1种布尔(true,false)。
17 0
|
2月前
|
Java
JAVA基本数据类型输入输出流
JAVA基本数据类型输入输出流
16 0
|
4天前
|
存储 Java 程序员
Java中的基本数据类型有哪些?
【4月更文挑战第30天】Java中的基本数据类型有哪些?
9 1
|
4天前
|
Java
【Java探索之旅】数据类型与变量 字面常量 整型变量
【Java探索之旅】数据类型与变量 字面常量 整型变量
15 0
|
4天前
|
存储 Java C语言
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
13 0
|
5天前
|
存储 Java 开发者
JAVA基本数据类型
JAVA基本数据类型
12 1
|
5天前
|
存储 Java
Java语言--->数据类型转化以及运算符
本文讲述了Java中的基本数据类型转换和运算符。在转换中,布尔型除外的8种类型可通过默认或强制转换相互转化,如`byte-&gt;short-&gt;int-&gt;long-&gt;float-&gt;double`。默认转换发生在不同类型运算时,系统会转为更大容量类型。强制转换可能引起精度损失或溢出。运算符包括算术(如+可做加法或字符串拼接)、比较、逻辑和赋值运算符。比较运算符如`==`、`&lt;`等产生`boolean`结果,逻辑运算符`&&`、`||`具有短路效应。赋值运算符如`+=`简化了赋值过程。运算符的优先级也进行了简要说明。
|
6天前
|
Java
Java数据类型
Java数据类型
|
8天前
|
Java
【java常用】数据类型转换
【java常用】数据类型转换
22 1
|
10天前
|
存储 缓存 Java
春眠不觉晓,Java数据类型知多少?基础牢不牢看完本文就有数了
我们知道Java是面向对象的静态型编程语言,在Java的世界里万物皆对象。但我认为是万物皆数据,世界由各种各样数据构建起来,我们通过程序去实现数据的增删改查、转入转出、加减乘除等等,不同语言的实现方式殊途同归。
25 3