数据类型
数据类型
public class DEMO02 {
public static void main(String[] args) {
String a = "10";
int num = 10;
/*数据类型 变量名 = 值;可以用逗号隔开来声明多个同类型变量
变量是什么:就是可以变化的量
*/
System.out.println(a);
System.out.println(num);
//八大基本数据类型
//整数
int num2 = 10;//最常用基本数据类型, Integer类
byte num3 = 20;//Byte类
//byte num3 = 200; 200就不能用byte类型
int num4 = 200;
short num5 = 30;
long num6 = 30L;//Long类型要在数字后面加L
//小数:浮点数
float num7 = 5.1F;//因为还有double类型可以表示小数,所以用float类型表示小数要用数字后面的F区分
double num8 = 3.1415916;
//字符类型
char name = 'a';
//char name = 'aa';错误写法:char类型只能写字符,字符代表一个字,两个字不写
//char name = "aa";错误写法:双引号""表示String类型的
//字符串,String不是关键字,是一个类
String name1 = "love";
//布尔值
boolean flag = true;
//boolean flag = false; 只有这两个
}
}
数据类型拓展
整数拓展
- 二进制0b
- 十进制
- 八进制0
- 十六进制0x
public class DEMO03 {
public static void main(String[] args) {
int i = 10;
int i5 = 0b10;//二进制0b
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x 0~9 A~F
int i4 = 0x11;
System.out.println(i);
System.out.println(i5);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
}
}
浮点数拓展
银行业务怎么表示?关于钱
-
float:离散,大约,接近但不等于
psvm float i6 = 0.1F; System.out.println(i6); -
double:
psvm double i7 =1.0/10; System.out.println(i7); -
对比1
- ==号表示检验这两个是否相等
psvm float i6 = 0.1F; double i7 =1.0/10; System.out.println(i6==i7); //==号表示这两个是否相等,输出结果false //所以最好完全避免使用浮点数进行比较 System.out.println(i6); System.out.println(i7);- 最好完全不要使用浮点数进行比较
- 最好完全不要使用浮点数进行比较
- 最好完全不要使用浮点数进行比较
-
对比2
psvm float d1 = 121211F ;//在float字节范围内 float d2 = d1 + 1; System.out.println(d1==d2);//输出false float d3 = 121212121212121F ;//超出float字节范围 float d4 = d3 + 1; System.out.println(d3==d4);//输出true //使用BigDecimal 数学工具类- 最好完全不要使用浮点数进行比较
- 使用BigDecimal 数学工具类
字符拓展
-
char c1 = 'a';字符类型,单引
String sd = "Hello World";字符串,双引
int num = 10;基本数据类型,不引
psvm char c1 = 'a';//通过单引号表示字符常量 char c2 = '中'; System.out.println(c1); System.out.println((int)c1);//强制转换 System.out.println(c2); System.out.println((int)c2);//强制转换,可以把字符变成数字,输出结果是一个数,此数- 由上,所有的字符本质还是数字,根据Unicode表查a对应的数字
- 编码 Unicode表:97=a ,65=A;占两个字节 ;范围0-65526;Excel表最大2^16=65536
psvm char c3 = '\u0061';//char全部小写,错误后第一时间查大小写,然后查分号 System.out.println(c3);//输出a- char全部小写,错误后第一时间查大小写,然后查分号
-
转义字符
psvm System.out.println("hello\tworld"); System.out.println("hello\nworld");//没类名要加引号-
\t 制表符,如上输出hello world
-
\n 换行,如上输出
-
未解之谜
psvm
String sa = new String(original: "Hello World") ;
String sb = new String(original: "Hello World") ;
System.out.println(sa==sb);//两个不相等
String sc = "Hello World" ;
String sd = "Hello World" ;
System.out.println(sc==sd);//两个相等
//对象 从内存分析
布尔值拓展
psvm
Boolean flag = true;
if (flag==true){} // 新手写法
if (flag){}//老手,两个一样
//less is more

浙公网安备 33010602011771号