数据类型的分类
java中的 变量 按照数据类型来分类:
- 基本数据类型(8种)(primitive type):
- 整型:byte、short、int、long、
- 浮点型:float、double
- 字符型:char
- 布尔型:boolean
- 引用数据类型 (reference type):
- 类(class)
- 数组(array)
- 接口(interface)
- 枚举(enum)
- 注解(annotation)
- 记录(record)
整型变量的使用说明
- java的整型常量默认为int型,声明long型常量需后加 ‘l’ 或 ‘L’
- java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
类型 占用存储空间 表数范围 Byte 1字节=8bit位( )
-128~127 short 2字节( )
~
(2*8-1)
int 4个字节( )
~
(4*8-1)(约21亿)
long 8字节( )
~
(8*8-1)
- 计算机中的最小存储单位:bit(每个0或1就是一个位)
- 计算机中基本存储单元:Byte(是计算机用于计算存储容量的基本单位)
- 转换关系:
8 bit = 1 Byte
1024 Byte = 1KB
1024 KB = 1MB
1024 MB =1GB
1024 GB = 1TB
浮点型变量的使用说明
- float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求
- double:双精度,精度是float的两倍。通常采用此类型。
- Java的浮点型常量默认为double型,声明float型常量,须后加 ‘f’ 或 ‘F’
类型 占用存储空间 表数范围 单精度float 4字节( )
-3.403E38~3.403E38 双精度double 8个字节( )
-1.798E308~1.798E308 关于浮点型精度的说明
- 并不是所有的小数都能可以精确的用二进制浮点数表示。二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂。
- 浮点类型float、double的数据不适合在不容许舍入误差的金融计算领域。如果需要精确数字计算或保留指定位数的精度,需要使用BigDecimal类。
为什么0.1 + 0.2不等于0.3 ? System.out.println(0.1 + 0.2);//0.30000000000000004
float ff1 = 123123123f; float ff2 = ff1 + 1; System.out.println(ff1);//1.2312312E8 System.out.println(ff2);//1.2312312E8 System.out.println(ff1 == ff2);//true
// 定义圆周率并赋值为3.14,现在3个圆的半径分别为 1.2,2.5,6,求它们的面积 double PI = 3.14; double radius1 = 1.2; double radius2 = 2.5; int radius3 = 6; double area1 = PI * radius1 * radius1; double area2 = PI * radius2 * radius2; double area3 = PI * radius3 * radius3; System.out.println(area1); System.out.println(area2); System.out.println(area3);
// 小明要到美国旅游,可是那里的温度以华氏度为单位记录的, // 它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。 double fahrenheit = 80; double centigrade = (fahrenheit - 32) / 1.8; System.out.println("华氏度" + fahrenheit);//华氏度80.0 System.out.println("摄氏度" + centigrade);//摄氏度26.666666666666664
字符类型
- char型数据用来表示通常意义上 “字符” (2字节)(
)(1个字符 = 2个字节)
- Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语一个字符
转义字符 说明 Unicode表示方式 \b(backspace)
退格符 \u000a \n(line) 换行符 \u0009 \r(return) 回车符 \u0022 \t(table) 制表符 \u0027 \ '' 双引号 \u005c \ ' 单引号 \u0008 \\ 反斜 线
\u000d
- 字符串变量的三种表现形式:
- 字符常量是用单引号(‘ ’)括起来的单个字符。
- Java中还允许使用转义字符 ‘\’ 来将其后的字符转变为特殊字符常量。
- 直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a表示 \n
char c = 97; System.out.println(c);//a
- char类型是可以进行运算的。因为它都对应有 Unicode 码。
布尔类型(boolean)变量的使用
- 只能取两个值之一:true、false
- 常常在条件判断、循环结构中使用