Java学习 (五)基础篇 数据类型
数据类型
强类型语言
- 要求变量的使用要严格按照规定,所有变量都必须先定义后使用 (Java、C++等)
弱类型语言
- 与上述相反 (VB、JS等)
Java数据类型分为两大类
- 基本类型 (primitive type)
- 引用类型 (reference type)
八大字节类型(重点)
//整数
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 40L;
//浮点数
float num5 = 50.1F;
double num6 = 3.1415926539;
//字符
char name = "A";
//字符串
String name1 = "ABCD";
//布尔值
boolean flag = true;
//boolean flag = false;
graph LR;
Java数据类型-->基本数据类型;
Java数据类型-->引用数据类型;
基本数据类型-->数值类型;
基本数据类型-->boolean类型;
数值类型-->整数类型;
整数类型-->byte占1个字节范围:-128到127;
整数类型-->short占2个字节范围:-32768到32767;
整数类型-->int占4个字节范围:-2147483648到2147483647;
整数类型-->long占8个字节范围:Long类型要在数字后面加个L;
数值类型-->浮点类型;
浮点类型-->float占4个字节:float类型要在数字后面加个F;
浮点类型-->double占8个字节;
数值类型-->字符类型;
字符类型-->字符类型char占2个字节;
boolean类型-->占1位其值只有true和false两位;
引用数据类型-->类;
引用数据类型-->接口;
引用数据类型-->数组;
Java数据类型拓展
整数拓展:进制
- 二进制(0b)
- 十进制
- 八进制(0)
- 十六进制(0x)
int i = 10;
int i1 = 010;//八进制
int i2 = 0x10;//十六进制
System.out.println(i);//10
System.out.println(i1);//8
System.out.println(i2);//16
浮点数拓展
- float 有限 离散 舍入误差 大约 接近但不等于
- float最好完全不要使用浮点数进行比较数字
- 使用 BigDecimal 数学工具类进行比较运用
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);//false
float d1 = 232323232323223f;
float d2 = d1+1;
System.out.println(d1==d2);//true
字符类型
- 所有的字符类型本质是数字
- 编码问题 Unicode编码 占用2字节 最多可以表示65536+个字符
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1);//强制转换
System.out.println(c2);
System.out.println((int) c2);//同上
- 转义字符 \t(制表符) \n(换行)
System.out.println("hello \t world");
//hello world
System.out.println("hello \n world");
/*
hello
world
*/
布尔值拓展
- Less is More! Java代码要精简易读
boolean flag = true;
if (flag==true){} //新手区
if (flag){} //老手区