进制表示法
二进制(0b开头) 、 八进制(0开头) 、十六进制(0x开头)
public class demo03 {
public static void main(String[] args) {
int i = 10;
int i2 = 010; //八进制0开头
int i3 = 0x10; //十六进制0x 0~9 A-F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
}
}
i(十进制)直接输出10。i2(八进制010)转换为十进制输出8。i3(十六进制0x10)转换为十进制输出16。
10
8
16
--------------------------------
2.银行业务怎么表示钱? 不能用float和double进行计算,实际场景中可以用BigDecimal 数学工具类,loat、double: 是表示 有限的 离散的 舍入误差 大约 接近但不等于的,所以最好完全避免使用浮点数进行比较。
public class demo03 {
public static void main(String[] args) {
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //返回的是false
float d1 = 23131313212312131f;
float d2 = d1+1;
System.out.println(d1==d2); //返回的是true
}
}
3.字符的本质是数字
public class demo03 {
public static void main(String[] args) {
char c1 = 'A';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //强制类型转换
System.out.println(c2);
System.out.println((int)c2); //强制类型转换
//转义字符
// \t制表符
// \n换行
System.out.println("Hello\tWorld");
}
}
A
65
中
20013
Hello World
4.对象
- 从内存分析;new String(..) 会强制创建新的 String 对象,使sa 和 sb 指向内存中两个不同的对象(内存地址不同)
- 字符串字面量赋值(如 String sa = "hello world";),Java 会将字面量放入字符串常量池,相同字面量会指向同一个对象
public class demo03 {
public static void main(String[] args) {
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb); //返回 false;
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd); //返回true
}
}
5. 布尔值扩展:俩种表示方式是等价的,都是当flag为true时才执行;
建议使用第二种,精简易读;
public class demo03 {
public static void main(String[] args) {
boolean flag = true;
if(flag==true){}
if(flag){}
}
}
14万+

被折叠的 条评论
为什么被折叠?



