java学习笔记(08)_数据类型
数据类型
概念
每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)
基本的数据类型
-
数值型
-
整数类型,存放整数(byte[1],short[2],int[4],long[8])
- java各整数类型有固定的范围和字段长度,不受具体操作系统的影响,以保证java程序的可移植性
- java的整数常量(具体值)默认为int类型,声明long型常量须后加‘l’或'L'
- java程序中变量常声明为int型,除非不足以表示大数,才使用long
- bit:计算机中的最小存储单位。byte:计算机中基本存储单元,1byte = 8 bit
-
浮点(小数)类型(float[4],double[8])
- 与整数类型类似,java浮点数类型也有固定的范围和字段长度,不受具体os的影响
- java的浮点型常量(具体值)默认为double型,声明float型常量,须后加'f'或'F'
- 浮点型常量有两种表达形式
- 十进制:如5.2 .512
- 科学计数法: 5.12e2 5.12E-2
- 通常情况下,应该使用double型,因为它比float型更准确
- 浮点数陷阱:2.7和8.1/3比较
public class FloatDetail{ public static void main(String[] args){ double num1 = 1.0; System.out.println(num1); // java的浮点型常量默认为double型,声明float型常量,须后加'f'或'F' // float num2 = 1.1; // 错误 float num2 = 1.1F; // 正确 // 十进制数形式 double num3 = .53; System.out.println(num3); // 0.53 // 科学计数法形式 double num4 = 5.12e2; // 5.12*10的二次方 double num5 = 5.12E-2; // 5.12/10的二次方 System.out.println(num4); // 512.0 System.out.println(num5); // 0.0512 // 通常情况下,应该使用double型,因为他比float型更准确 double num6 = 2.12345678910; float num7 = 2.1234567898F; System.out.println(num6); // 2.1234567891 System.out.println(num7); // 2.1234567 // 浮点数使用陷阱 double num8 = 2.7; double num9 = 8.1 / 3; System.out.println(num8); // 2.7 System.out.println(num9); // 2.6999999999999997 if(num8 == num9) { System.out.println("相等"); } if(Math.abs(num8 - num9) < 0.0000001){ System.out.println("相等"); } } }
-
-
字符型
-
char[2],存放单个字符'男'
-
字符型的细节
- 字符常量用单引号括起来的单个字符
- java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符常量
- 在java中,char的本质是一个整数,输出时,是unicode码对应的字符
- 可以直接给char赋值一个整数,然后输出时,会按照对呀的unicode字符输出
- char类型是可以进行运算的,相当于一个整数,因为它有对应unicode码
public class CharDetail{ public static void main(String[] args){ // 字符常量是用单引号括起来的单个字符 char sex = '男'; // java中允许使用转移字符来讲后面的字符转变为特殊字符型常量 char c = '\t'; // 在java中,char的本质是一个整数,在输出时,是unicode码对呀的字符 char a = 'a'; // 可以直接char赋值一个整数,然后输出,会按照对应的unicode字符输出 char b = 97; System.out.println((int)a); // 97 System.out.println(b); // a // char类型可以进行运算,相当于一个整数,因为它都对应有unicode码 char a1 = 'a' + 10; System.out.println((int)a1); } }
-
-
布尔型
- boolean[1],存放true,false
- java中不可以用0或1来代表false或true
应用的数据类型
- 类(class)
- 接口(interface)
- 数组([ ])

浙公网安备 33010602011771号