数据类型的应用

数据类型

数据类型(基本类型)

  1. 整数类型:byte,short, int, long

  2. 小数:(浮点数):floag, double

  3. 字符: char

  4. bloolean(布尔值):true,false

    //八大基本数据类型
    ​
            //整数
            int num1 = 10; //最常用
            byte num2 = 20;
            short num3 = 30;
            long num4 = 40L; //long类型要在数字后面加个L
    ​
            //小数;浮点数
            float num5 = 4.21F;//float类型要在数字后面加个F
            double num6 = 3.123;
    ​
            //字符
            char num7 = '过';
             //字符串,String不是关键字,类
            //String namea = "张三";
    ​
            //布尔值:是非
            boolean flag= true;
            //boolean nflag= false;
    1. 注意:要求变量的使用严格符合规定,所有变量都必须先定义后才能使用

数据类型扩展

整数拓展

1.进制 ,二进制(0b) ,十进制, 八进制(0),十六进制(0x)

  //整数拓展   进制  二进制0b    十进制    八进制0     十六进制0x
​
        int i = 10;
        int i2 = 010;  //八进制0
        int i3 = 0x10;  //16进制0x
​
        System.out.println(i);   //10
        System.out.println(i2);  //8
        System.out.println(i3);  //16
​

浮点数

  1. float : 有限的 离散 舍入误差 大约 接近但不等于

  2. 最好完全避免使用浮点数进行比较

  3. BigeDecimal 数学工具类

  4. 例题:银行怎么表示?钱

 //浮点数拓展 银行业务怎么表示? 钱
        //BigDecimal    数学工具
        //==============================================================
        //float   有限  离散 舍入误差  大约  接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
​
        float f = 0.1f;
        double d = 1.0/10;
​
        System.out.println(f==d);//false         f==d表示f等于d
        System.out.println(f);
        System.out.println(d);
​
        float d1 = 32232323f;
        float  d2 = d1 + 1;
​
        System.out.println(d1==d2);//ture

字符拓展

  1. 所有的字符本质还是数字

  2. ' '(单引号)表示 字符常量

  3. 编码 Unicode(能够处理各种语言文字 ,2字节, 最多表示65536个字符

  4. 例题

             char c1 = 'A';
            char c2 = '中';
    ​
            System.out.println(c1);
    ​
            System.out.println((int)c1);//强制转换
    ​
            System.out.println(c2);
    ​
            System.out.println((int)c2);//强制转换
            //所有的字符本质还是数学
            //编码 Unicode  表:(65=A 97=a)
    ​
            //U0000 UFFFF
    ​
            char c3 = '\u0061'; //编译转字符
            System.out.println(c3);//a
     String sc = "hello word";
            String sd= "hello word";
            System.out.println(sc==sd);//ture

    5.转义字符

    \t 制表符

    \n 换行

    例题:

      System.out.println("hello\nword"); //hello
                                         //word

    布尔值扩展

    例题

           //布尔值扩展
                    boolean flag = true;
            if (flag==true){}
            if (flag){}           //flag==ture 等价于flag
            //代码要精简易读
    ​

类型转换

  1. ***java强类型语言,所以运行的时候,需要用到类型转换

低------------------------------------------------------------------------> 高

byte , short , char —>int —> long —> float —> double

  1. 运算中,不同类型的数据先转换为统一数据,然后进行计算

  1. 强制类型转换

例:

 public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//内存溢出
​
        //强制转换  (类型)变量名  高--->低
​
        System.out.println(i);
        System.out.println(b);
  1. 自动转换

    int a = 128;
            double c = i;//内存溢出
    ​
            //自动转换转换  低--->高
    ​
            System.out.println(a);
            System.out.println(c);
    1. 注意点

    。不能对布尔值进行转换

    。 不能把对象类型转换为不相干的类型

    。 在把大容量转换到低容量的时候,强制转换

    。 转换的时候可能存在内存溢出,或者精度问题

     System.out.println((int)23.7);//23
            System.out.println((int)32.73f);//32

    6.常见问题

    。操作比较大的时候,注意益出问题

    。JDK新特性,数字之间可以用下划线分割

    例题

     public static void main(String[] args) {
            //操作比较大的数的时候,注意溢出问题
            //JDK新特性,数字之可以用下划线分割
            int money = 10_0000_0000;
            int years = 20;
            int total1 = money*years;//-1474836480,计算的时候溢出了
            long total2 = money*years;//默认是int,转换之前已经存在了
    ​
           long total3 = money*((long)years);//先把一个数转化为long
    ​
            System.out.println(total1);//-1474836480
            System.out.println(total2);//-1474836480
            System.out.println(total3);//20000000000
    ​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值