说一下数据类型的一些特性吧,
类型默认值
下表列出了 Java 各个类型的默认值:
数据类型 默认值
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char ‘u0000’
String (or any object) null
boolean false
Java语言支持一些特殊的转义字符序列。
符号 字符含义
\n 换行 (0x0a)
\r 回车 (0x0d)
\f 换页符(0x0c)
\b 退格 (0x08)
\0 空字符 (0x0)
\s 空格 (0x20)
\t 制表符
" 双引号
’ 单引号
\ 反斜杠
\ddd 八进制字符 (ddd)
\uxxxx 16进制Unicode字符 (xxxx)
/**
* @Author: 阿波罗
* @Date: 2021/11/20 10:58
* @oath: 不分白天黑夜的征途 淦!
* @Version: 1.0.0
*/
public class Demo03 {
public static void main(String[] args) {
//整数拓展 : 进制 二进制 0101001 八进制0 以零开头 十进制7 8 9 10 十六进制0x
int i = 10;
int i1 = 010;//八进制0
int i2 = 0x10; //十六进制 0~9 A~F
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println("================================================");
//===================================================================================
//浮点数拓展? 银行业务怎么表示 钱(货币)
//BigDecimal 数学工具类
//最好完全使用浮点数进行比较
//float
//double
//===================================================================================
//有限 舍入误差 大约 接近但不等于
float f = 0.1f;
double f1 = 1.0 / 10;
System.out.println(f == f1);//false? 不相等
System.out.println(f);
System.out.println(f1);
float a1 = 2231232344f;
float a2 = a1 + 1;
System.out.println(a2 == a1);//为true? float 的一些特性 => 有限 舍入误差 大约 接近但不等于
//===================================================================================
System.out.println("================================================");
//字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1); //强制转换为数字类型 证明文字本身就是数字组成是
System.out.println(c2);
System.out.println((int) c2);//强制转换为数字类型 证明文字本身就是数字组成是
//所有字符本质是数字 Unicode (编码表)
char c3 = '\u0062';
System.out.println(c3); //输出b 对应Unicode表编码
System.out.println("================================================");
//转义字符
// \t制表符
// \n换行符
System.out.println("hello\tword");
System.out.println("hello\nword");
System.out.println("================================================");
//地址不同 new 和 不new 的区别 ======> new 是在内存中 不new是在常量池中 ,因此它们并不相等 就是因为地址不相等
String sa = new String("hello");
String sb = new String("hello");
System.out.println(sa == sb);
//对象内存分析
String sc = "hello";
String sd = "hello";
System.out.println(sc == sd);
System.out.println("================================================");
//布尔值拓展
boolean flag = true;
//if(flag){}与if(flag==true)是一样的结果 只不过是简写了而已
if (flag) {
System.out.println("老手程序员");
}
if (flag == true) {
System.out.println("新手程序员");
}
}
}