数据类型和类型转换

数据类型

  • 强类型语言(java)

  • 要求变量的使用要严格符合规定,所有变量都必须先定义然后才能使用 ( 安全性高但是速度略慢)

  • 弱类型语言(JS)

  • 没有要求严格符合规定,安全性低,速度快

  • Java的数据类型分为两大类

    • 基本类型(primitive type)

      • 整数类型

        • byte 占1个字节范围

        • short 占2个字节范围

        • int 占4个字节范围

        • long 占8个字节范围

        • 浮点数

        • float 占4个字节范围

        • double 占8个字节范围

        • 字符类型

        • 类型char 占2个字节

        • boolean类型

        • 占一位(值只为Ture or false)

      • 引用类型(reference type)

        除基本数据类型以外其他类型都叫引用类型

      • 接口

      • 数组

        相关内容在 D:\百度云盘\JavaSe\基础语法\src

        Demo_02 Demo_03

尽量避免使用浮点数进行比较

银行,金融类使用的数据类型

Class BigDecimal

字符转换为数字

        char a = 'f';
       char a1 = '赵';
       System.out.println(a);
       System.out.println((int)(a)); //强制转换类型
       System.out.println(a1);
       System.out.println((int)(a1));//强制转换类型
//输出结果

f
102

36213

所有的字符本质都是数字

编码 Unicode 表 : 'f'=102, '赵'=36213, 'a'= 0061

转义符

System.out.println("Hello\tWord");
System.out.println("Hello\nWord");
//转义字符
// \t   制表符相当于加了个tab
// \n   换行符
//布尔值扩展
       boolean flag = ture;
       if (flag == ture){}; //此代码和下面的意义完全相同
       if (flag){};         //一般使用此方法判断,满足条件则执行后面的操作
       //Less is More! 代码要精简易懂

类型转换

  • 由于Java是强类型语言,所以进行有些运算的时候,需要用到类型转换

    低---------------------------------------------------高 (容量)

    byte, short, char ➡➡int➡➡long➡➡float➡➡double

    小数优先级一定大整数

  • 运算中,不同类型的数据先转换成同一类型,然后进行运算

  • 强制类型转换

    高到低需要强制转换

    格式 (类型)变量名

  • 自动类型转换

    低--高

     /*
    注意点
       1.不能对布尔值进行转换
       2.不能把对象类型转换成不相干的类型
       3.在把大容量转换到低容量的时候需要强制转换,反之则不需要
       4.转换的时候可能存在内存溢出,或者精度问题
    */
    System.out.println("===========================================");
           System.out.println((int)23.7);      // 转成 23   内存溢出
           System.out.println((int)-45.89F);   // 转成 -45 精度问题
    char d = 'a';
    int e = d+1 ;
    System.out.println(e);
    System.out.println((char)e); // Unicode编码按顺序排队,a+1结果为b

将字符'a'转换为int类型,加1后转换回char类型则变为'b'

 

//操作比较大的数的时候,注意溢出问题
//jdk7的特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int year = 20;
int total = money * year; //计算的时候溢出了,结果为-1474836480
System.out.println(total);
long total2 = money * year;//先计算出结果,类型为int,计算完之后再转换类型没有作用
System.out.println(total2);

long total3 = money * ((long)year);// 先把一个数转换为long,输出的结果为long类型
System.out.println(total3);
posted @ 2021-02-28 19:37  咸鱼_list_1  阅读(79)  评论(0)    收藏  举报