整数拓展
进制:二进制0b、八进制0、十进制(不变)、十六进制0x
浮点数拓展
解析:f、d输出时都为0.1,但程序判断二者是否相等显示false。
点击红点为调试,之后不直接运行程序
点击debug
显示调试窗口
实验:
原因:浮点数可表现内容有限,离散;普遍存在舍入误差。结果无法精确表示,是大约数。
因此:最好避免完全使用浮点数进行比较!
最好避免完全使用浮点数进行比较!
最好避免完全使用浮点数进行比较!
在银行业务处理中应使用Java编辑类——BigDecimal类进行。
字符拓展
强制转换
“A”强制转换为65;“中”强制转换为20013
所有的字符本质还是数字!!!
Unicode表:
即\u0061——a
转义字符
\t —— 制表符
\n ——换行
还有很多·····
骚操作:定义一个字符串
布尔值拓展
1.boolean flag = true;
//采用if进行判断
2.if(flag==true){}
if(flag){} //这两句意思一样
//Less is More! 代码要精简易读。
public class Demo03 {
public static void main(String[] args) {
// 整数扩展 进制:二、八、十、十六
// 二进制:0b 八进制:0 十六进制:0x
int i = 10;
int i2 = 010;
int i3 = 0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
//十六进制:0~9 A~F
System.out.println("==================================================");
// 浮点数拓展
//面试题:银行业务应如何表示?使用 BigDecimal (数学工具类)
// float
// double(有问题)
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 = 1212121212121f;
float d2 = d1+1;
System.out.println(d1 == d2); // true
//=====================================================
System.out.println("===================================================");
//字符拓展
char c1 = 'A';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); // (int) 强制转换
System.out.println(c2);
System.out.println((int) c2); // (int)强制转换
//涉及到编码问题 Unicode (表)——占用2字节,max 0 - 65536
char c3 = '\u0061';
System.out.println(c3);
System.out.println("==============================================");
System.out.println("Hello\tWorld!");
System.out.println("Hello\nWorld!");
System.out.println("==============================================");
String sa = new String("hello world!");
String sb = new String("hello world!");
System.out.println(sa==sb);
String sc ="hello world!";
String sd ="hello world!";
System.out.println(sc==sd);
// 对象 从内存分析(以后就学到)
// 布尔值拓展
boolean flag = true;
}
}