Java教程

【Java】类型转换、运算符

本文主要是介绍【Java】类型转换、运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

类型转换

自动类型转换

  类型范围小的变量,可以直接赋值给类型范围大的变量。例如:byte型数据可以直接转换成int型,而不会丢失数据。

public class TypeDemo {
    public static void main(String[] args) {
        byte a = 10;
        int b = a;
        System.out.println(a);
        System.out.println(b);
    }
}

  自动类型转换底层原理:

  范围小的变量类型,占用二进制位数少,当将其转换成范围大的变量类型时,直接将其原有二进制数据全部保留下来,并在其前补0至满足大范围类型的二进制位数,以此来完成小类型到大类型的自动类型转换。

   其它类型的自动类型转换

表达式的自动类型转换

  在表达式的运算中,若既存在着大范围类型,也存在小范围类型的数据,则在进行运算时,会先将小类型的数据转换成大类型的数据,然后再进行运算。

  注意:

  1.表达式的最终结果由表达式中的最高类型决定;

  2.在表达式中,byte、short、char是直接转换成int参与运算的,也就是在表达式中,如上三种类型是直接按照int进行运算的。

  另注意:byte与byte相加,byte接收出现错误,应用int类型进行接收,原因如上。

强制类型转换

  当遇到需要将大类型转换为小类型时,Java提供了强制类型转换以供完成该任务,强制类型转换可以将类型范围大的变量、数值赋值给小的变量

  底层原理

  当大类型需要通过强制类型转换成小类型时,大类型占用二进制位数更多,此时为了转换成小类型所需的二进制位数,需要将前边多余的二进制位“砍掉”,以此来完成强制类型转换。

  但是由于该原理的操作方式,也存在着些许的问题,即当大类型数据超出小类型的范围时,强制类型转化后的结果会出现溢出或丢失。

  注意:

  1.强制类型转换可能会造成数据的溢出或丢失;

  2.浮点类型转化成整型时,直接丢掉小数部分,保留整数部分。

运算符

算术运算符

例:

public class OperatorDemo {
    public static void main(String[] args) {
        int a = 20;
        int b = 3;
        System.out.println(a + b); //23
        System.out.println(a - b); //17
        System.out.println(a * b); //60
        System.out.println(a / b); //6
        System.out.println(a * 1.0 / b); //6.6666666666666...
        System.out.println(a % b); //2
    }
}

“+”做连接符

 自增自减运算符

 赋值运算符

  基本赋值运算符:“=”

  拓展赋值运算符

 关系运算符

  关系运算符是对数据进行条件判断的符号,最终会返回一个布尔值。

 逻辑运算符

 三目运算符

  三目运算符格式:

  执行流程:先执行条件表达式,得出条件表达式的结果,若为真,三目运算符的值为值1,否则为值2。

运算符优先级

这篇关于【Java】类型转换、运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!