Java数据类型
Java的数据类型分类
- 基本类型
-
基本数据类型(primitive Type)
-
数值类型
-
整数类型
-
byte占1个字节范围:-128-127
-
short占2个字节范围:-32768-32767
-
int占4个字节范围:-2147483648-2147483647
-
long占8个字节范围:-9223372036854775808-9223372036854775807
-
-
浮点类型
-
float占4个字节
-
double占8个字节
-
-
字符类型char占2个字
-
-
boolean类型:占1位其值只有true和false两个
-
- 引用类型
- 引用数据类型(reference type)
- 类
- 接口
- 数组
什么是字节
- 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
- 字节(byte):是计算机中数据处理的最基本单位,习惯上用大写B来表示。
- 1B(byte,字节)=8bit(位)。
- 字符:是指计算机中使用的字母、数字、字和符号
- 1bit表示1位
- 1Byte表示一个字节 1B=8b
- 1024B=1KB
- 1024kB=1M
- 1024M=1G
public class Demo1 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //long类型要在数字后面加L
//小数:浮点数
float num5 = 50.1F; //float类型要在数字后见加个F
double num6 = 3.1415926358979;
//字符
char name = '聂';
//字符串,String不是关键字,类
String name1 = "聂鹏飞";
//布尔值:是非
boolean flag = true;
//boolean falg = false;
}
}
import java.sql.SQLOutput;
public class Demo2 {
public static void main(String[] args) {
//整数拓展 进制 二进制0b 十进制 八进制0 十六进制ox
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制 0x 0~9 A~F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("======================================================");
//======================================================
//浮点数拓展 银行业务怎么表示?钱
//BigDecimal 数学工具类
//======================================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
System.out.println("======================================================");
float f = 0.1f; //0.1
double d = 1.0 / 10; //0.1
System.out.println(f == d); //false
System.out.println(f);
System.out.println(d);
float d1 = 2131313131313f;
float d2 = d1 + 1;
System.out.println(d1 == d2);//true
//======================================================
//字符拓展
//======================================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1);//强行换行
System.out.println(c2);
System.out.println((int) c2);//强行换行
//所有的字符本质还是数字
//编码 Unicode 表:( 97 = a 65 = A) 2字节 0 - 65536 Excel 2*16=65536
// U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t 字符表
// \n 换行
//....
System.out.println("Hello\nWorld");
//对象 从内存分析
//布尔值扩展
}
}