一、数据类型
二、基本类型的使用
/**
* 基本数据类型 定义的基本数据类型的范围都不可超过规定的范围
*/
byte a1=1;
short a2=123;
int a3=1234;
/**
* 定义long型的数据 后面必须加上L 来区分
*/
long a4=1343L;
/**
* 定义float型的数据 后面必须加上F 来区分
*/
float a5=50.1F;
double a6=50.1;
/**
* char类型的数据 里面只能包含一个字符!
* 要想定义字符串 必须使用String a7="中国"; 但是String 并非基本类型
*/
char a7='中';
/**
* boolean类型的数据 只有false和true两种类型的结果
*/
boolean a8=false;
boolean a9=true;
三、科普
1、位(bit):计算机内部数据储存的最小单位,eg:11001100是一个8位二进制数
2、字节 byte:计算机中数据处理的基本单位,习惯上使用B来表示
3、1B=8bit
4、字符:计算机中使用的字母、数字、字和符号
四、扩展及面试题
4.1 整数扩展
/**
* 整数扩展 进制问题 二进制0b 十进制 8进制0 16进制0x
*/
public static void main(String[] args) {
int i=10; //十进制
int i1=0b10;//二进制
int i2=0x10;//16进制 0~9 A~F 16
int i3=010;//8进制
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
}
}
4.2 浮点数拓展
float 特点:有限 离散 舍入误差 大约 接近但不等于
所以最好完全避免使用浮点数进行比较
银行业务怎么表示?——使用数学工具类BigDecimal
4.3 字符拓展
所有的字符本质都还是数字
Unicode编码 97=a 65=A
public static void main(String[] args) {
char b1='a';
char b2='中';
System.out.println(b1);
/**
* 强制类型转换
*/
System.out.println((int)b1);
System.out.println(b2);
System.out.println((int)b2);
}
}
字符串 相等问题
public static void main(String[] args) {
String c1 = new String("hello world");
String c2 = new String("hello world");
System.out.println(c1 == c2);
String c3 = "hello world";
String c4 = "hello world";
/**
* 这里输出false的原因 从对象 内存方面分析
*/
System.out.println(c3 == c4);
}
}
4.4 布尔型扩展
/**
* 布尔类型扩展
*/
boolean flag=true;
/**
* 新手的写法
*/
if(flag==true){
}
/**
* 因为上面已经定义过变量flag=true 这里直接这样写
* 表示就是 如果flag等于true 不用像上面新手那样写
*/
if(flag){
}