public class Demo03 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制 0 十六进制0x
int i=10;
int i2=010;//八进制 0
int i3=0x10;//十六进制0x
System.out.println(i);
System.out.println(i2);
System.out.println(i3); //0~9 A~F 16
System.out.println("===============================================================");
//===============================================================
//浮点数拓展? 银行业务怎么表示?钱
//===============================================================
//flout
//double
float f=0.1f;//0.1
double d=0.1/10;//0.1
System.out.println(f==d);//false,类型不一样没办法比较
System.out.println(f);
System.out.println(d);/*因为计算时需要数据类型统一,不然计算机会偷懒以较简单的类型输出,d就会取整数位
浮点数并不是准确的~,这个一定得注意,只是无限接近,但并不是相同的*/
//断点调试,就不按运行键,按甲壳虫。按住行就可以进行选择
float d1=2131313131313f;
float d2=d1+1;
System.out.println(d1==d2);//不要用==比较数值的大小,要用equals方法比较数值大小
//===============================================================
//字符拓展?
//===============================================================
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 =97,A =65) 占两个字节 可以代表65536个字符
//U0000 UFFFF
char c3='\u0061';
System.out.println(c3);
//转义字符
//\t 制表符
//\n 换行
//.....
System.out.println("Hello\nWorld");
System.out.print("HelloWorld");
System.out.print("HelloWorld");
System.out.println("==================================================");
String sa = new String("Hello,World");
String sb = new String("Hello,World");
boolean result1 = sa==sb;
System.out.println(result1);
String sc = "Hello,World";
String sd = "Hello,World";
boolean result2 = (sc==sd);
System.out.println(result2);
//对象 从内存分析
//布尔值扩展
boolean flag = true;
if (flag = true){}//新手
if (flag){}//老手 if中只接收boolean的值。即,flag一定的是boolean,所以写不写==true都一样
//Less is More!代码要精简易读
浮点数不能表示精确的数值
最好完全避免使用浮点数进行比较
float:有限 离散 舍入误差 大约 接近但不等于
除了基本类型以外还会有类,名字叫做Bigdecimal :数学工具类,Java里面有好多定义好的类。
强制转换可以把字符转化为数字//所有字符本质上还是数字