数据类型拓展
整数拓展
public class Demo0 {
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);
}
}

浮点数拓展
public class Demo0 {
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
///////////////////////////////////////////////////////////////
//浮点数拓展? 银行业务怎么表示?钱
//BigDecimal 数学工具类
///////////////////////////////////////////////////////////////
//float 保存的字长是有限的 离散的 存在舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较!
float d1 = 231212231231L;
float d2 = d1 + 1;
System.out.println(d1 == d2);
}
}
![]()
字符拓展
public class Demo0 {
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);//强制转换
//所有的字符本质还是数字
//编码 Unicode 2字节 表示0~65535 Excel 2字节 2^16 = 65536个表格
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);
}
}

转义字符
定义
所有的ASCII码都可以用""加数字(一般是8进制数字)来表示. Java语言中定义了一些字母前加""来表示特殊含义的字符, 如\0,\t,\n等, 称为转义字符(Escape Character).
斜线与反斜线
/ 斜线(slash), 又称为forward slash (前斜线), 原本是标点符号. 起源于古罗马,中世纪时用作逗号(而当时的双斜线//是被当作连接号的,后来演化成等号=). Linux系统文件路径使用.
\ 反斜线(backslash), Windows系统文件路径, 程序编码转义, Unicode编码等都使用.
转义字符表
斜杠:"/" 与 反斜杠:"\" ,此处不可互换
Java中转义字符, 用单引号标识, 是char类型.
八进制转义序列: \ + 1到3位5数字;范围'\000'~'\377'
\0:空字符
Unicode转义字符:\u + 四个十六进制数字;0~65535 \u0000:空字符
常用Unicode字符对照表
点的转义:. -> u002E
美元符号的转义:$ -> u0024
乘方符号的转义:^ -> u005E
左大括号的转义:{ -> u007B
左方括号的转义:[ -> u005B
左圆括号的转义:( -> u0028
竖线的转义:| -> u007C
右圆括号的转义:) -> u0029
星号的转义:* -> u002A
加号的转义:+ -> u002B
问号的转义:? -> u003F
反斜杠的转义: -> u005C
特殊字符
\" : 双引号
\' : 单引号
\\ : 反斜线
控制字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格
转义字符表转义字符意义ASCII码值(十进制)

底层小知识
import java.util.Scanner;
import java.util.Calendar;
public class Demo0 {
public static void main(String[] args) {
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);
//对象 从内存分析
//==在对比变量是对比值。对比引用类型是对比地址值 .new必定是创建
// 一个新的地址,故第一个不相同。 .string是存在常量池中的,两个
//标识符指向同一地址,故第二个相同。
}
}
![]()
布尔值拓展
public class Demo0 {
public static void main(String[] args) {
//布尔值扩展
boolean flag = true;
if(true)//老手
{
}
if(true == flag)//新手
{
}
}
}
追求小而精



浙公网安备 33010602011771号