JavaSE-数据类型

数据类型

  • 强类型语言:要求变量的使用严格符合要求,必须先定义才能使用(安全性高)
  • 弱类型语言:效率高(相对强类型安全性低)

Java的数据类型分成两大类

  1. 基本类型
    • 数值类型
      • 整数类型
        1. byte:1字节
        2. short:2字节
        3. int:4字节
        4. long:8字节 //long类型要在数字后面加一个L。long num = 30L。用于区分其他类型
      • 浮点类型
        1. float:4字节 //float类型要在数字后面加一个F。
        2. double:8字节
      • 字符类型:char 2字节
    • Boolean类型:true/false
  2. 引用类型:除了基本类型之外,其他都是引用数据类型(例如:类、接口、数组)

整数类型拓展

  • 表示二进制数字时,在前面加:0b
  • 表示八进制数字时,在前面加:0
  • 表示十六进制数字时,在前面加:0x
//整数类型拓展        二进制0b   十进制     八进制0      十六进制0x
int i = 10;
int i2 = 010; //表示为八进制的10(0)
int i3 = 0x10; //表示为十六进制的10(0x)

System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("=======================================");

浮点型拓展

最好完全不要使用浮点数进行比较

最好完全不要使用浮点数进行比较

最好完全不要使用浮点数进行比较

//============================================================
//浮点型拓展     面试题:银行业务怎么表示钱?
//============================================================

float f = 0.1f;    //0.1
double d = 1.0/10; //0.1
System.out.println(f == d); //false
System.out.println(f);
System.out.println(d);

float d1 = 23131313131313113f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //true

//结论:BigDecimal 数学工具类
//最好完全不要使用浮点数进行比较
//float 有限  离散  舍入误差    大约  接近但不等于
//double

字符拓展

//============================================================
//字符拓展
//============================================================
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编码     Unicode中有一张表:97=a 65=A   占用2个字节     最多能表示0 到 65536

// 表示为 U0000 到 UFFFF

char c3 = '\u0061';

System.out.println(c3); //结果为a

//转义字符
// \t 制表符 空格
// \n 制表符 换行
// .....
System.out.println("Hello\tWorld");

System.out.println("=======================================");
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);
//对象(引用类型) 从内存分析
//如果比较的是基础类型,比较的是数值是否一致;如果比较的是引用数据类型,则比较的是对象的地址是否一致

布尔值拓展

boolean flag = true;
if (flag == true){} //新手
if (flag){} //老手
//Less is More! 代码要简单易读!
posted @ 2021-01-18 23:17  Redemption_ly  阅读(60)  评论(0)    收藏  举报