java continue
浮点数
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
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
float d1 = 23131312312312313f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true
//===================================================
//字符拓展
//===================================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制换行
System.out.println(c2);
System.out.println((int)c2);//强制换行
//所有的字符本质还是数字
//编码 Unicode 表:(97=a 65=A) 2字节 0-655336
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
//\t
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");
//对象 内存分析
//布尔值拓展
boolean flag = true;
if(flag==true){}//新手
if(flag){}//老手
//代码要精简
类型转换
低---------------------------------------------->高
byte,short,char -> int -> long -> float -> double
int i = 128;
byte b = (byte) i;//内存溢出
double k = i;
//强制转换 (类型)变量名 高--低
//自动转换 低--高
System.out.println(i);
System.out.println(b);
System.out.println(k);
/*
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换为低容量时,强制转换
4.转换的时候可能存在内存溢出,精度问题
*/
System.out.println("=============================");
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45
System.out.println("============================");
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
//操作比较大的数的时候,注意溢出问题
//JDK新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;//-1474836480,计算的时候溢出了
long total2 = money*years;//默认是int,转换之前已经存在问题了?
long total3 = money*((long)years);//先把一个数转换为Long
System.out.println(total3);
总结
day3比较懒哈哈哈哈就po了一些code上去
之前学习c语言的时候很多都讲过了 但记得不是很深尤其double float接触得不算多
学c的时候也只听说过 没具体考虑过有类似内存溢出的问题怎么操作,今天知道了是将类型进行转换,包括由高到低的强制转换需要手动type以及由低到高的自动转换 double它就完事了!然后对java一些type格式也开始熟悉
回顾一下一些可能容易忘的知识点
-
八进制0十六进制0x
-
强制转换由低到高的顺序
-
一定注意下内存溢出 合理定义数值变量
-
布尔值的那个以后说不定很重要?!
boolean flag = true;
if(flag){}
-
大数字可以用下划线分割诶~