Java变量类型、类型转化和运算符

1、变量类型
   1)、基本类型
    8种基本类型:分为4小类

    ①、整数类型
        byte:字节类型
            1个字节 8 bit

        short:短整型
            2个字节 16 bit

        int: 整型
            Java中默认的整型:能看到的整数都是int类型。
            4个字节 32 bit

        long:长整型
            正确定义,在整数值后面加上 L 或者 l。
            8个字节 64 bit

    ②、浮点类型
        float:单精度浮点类型(不常用)
            4个字节 32 bit
            正确定义,在double类型数值后加上 F 或者 f;
                如:float f = 1.0F;

        double:双精度浮点类型(常用)
            double是Java中默认的浮点类型。
            即:能看到的小数,都是double类型。
            8个字节 64 bit

        注意事项:
            a、精度丢失现象。
            float:最高7位
            double:最高16位

            b、二进制,十分之一除不尽。
            1 除以 10 ≠ 0.1

        总结:与钱相关的所有软件,都不可能用double去定义。
            可以使用 BigDecimal 代替double。
            
    ③、字符类型
        char:字符类型(不经常使用)
             2个字节 16 bit
             单个字符:能用单个字符表示的内容,并使用单引号。
            如:一个字母、一个符号、一个数字|
                一个汉字....

        注意事项:
            a、字符为表现形式,其本质为int类型的ASCII码。
            char ch1 = 'A';
            char ch2 = 65;
            System.out.println(ch1 == ch2);//true

            char ch3 = ch1 + 32;
            System.out.println(ch3);//a
        
            小写字母 - 大写字母 = 32

            b、无法用单个字符表示的字符,需要使用转义字符。
            \  转义字符
            \\ 表示一个 \
            \' 表示一个 '
            \n 表示换行符
            \t 表示 tab 键

    ④、布尔类型(常用)
        boolean:布尔类型(真假类型)
            1个字节 8 bit

            值:true 或 false
        布尔类型,是关系运算、逻辑运算的结果。

   2)、引用类型
    除了8种基本类型之外的都是引用类型。


2、基本类型转换
   1)、自动转换
    小类型 → 大类型

    byte → short → int → long → float → double
              ↑
             char

   2)、强制转换
    大类型 → 小类型

    byte b = 100;
    //100是int类型,int(大) → byte(小),为什么不需要强转?
    100,没有超过byte的取值范围,
    所以JVM做了优化,对于没有超过byte取值范围的int数值。
    直接给byte时,做了自动强转的操作。
    所以不需要手动进行强制类型转换。

    
    long l = 1000;//大类型 变量1 = 值1;
    int i = l;//long → int 手动强转
        
    小类型 变量2 = (小类型)变量1;
    //手动强转如下:
    int i = (int)l;
    

    注意:
    a、强制类型转换,可能出现溢出现象。
    b、精度高→精度低,会发生精度丢失。

    结论:
        尽量避免使用强制类型转换。
        
3、运算符
   1)、算术运算符
    ①、运算符
        +:加法运算
    
        -:减

        *:乘

        除:
              / 左右两边都是整型,取整。
                  左右两边有浮点类型,则是除法运算。

           % 取余

    
    ②、+ :重载现象
        + :a、如果 + 两边都是数字,则为加法运算。
            b、如果 + 两边有一边非数字,则为 拼接效果。

    ③、++、-- (难点、重点)
        ++:自增,1个单位。
        --:自减,1个单位。

        以++为主,--自习。

        ++:前++、后++
        int age = 18;
        前++:即++在变量前。
              ++age

        后++:即++在变量后。
              age++

        前++、后++的区别:
        a、单独使用时,两者无区别。
            age++;//自增1次
            ++age;//再自增1次

        b、非单独使用时,两者有区别
            age++:先取值使用,后自增。
            ++age:先自增,后取值使用。

    总结:非单独使用时:
        num++ 值等于 num
        ++num 值等于 num + 1
    

   2)、关系运算符

   3)、逻辑运算符

   4)、赋值运算符

   5)、三目运算符
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值