零基础Java:第四讲(集成开发环境、数据类型转换、运算符)

120 阅读4分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

集成开发环境

  • 集成开发环境

    • 主要软件:eclipse、IDEA、NetBeans
    • 注意:jdk和eclipse的位数应相同,例如都为32位

基本数据类型转换

  • 基本数据类型转换

    • 自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序:
    • 有多种数据类型的数据混合运算时,系统首先自动将所有的数据转换为容量最大的数据类型再计算;
    • byte、short、char之间不会相互转换,三者计算时首先转换为int类型;
    • 当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转换为字符串类型; 注:当有一系列的+的运算时,如果某一部分中含有字符串,那么这个字符串前面紧挨着的+开始一直往后都是要按照字符串去拼接
    • 数字类型的运算中,多个相同类型变量参与运算,变量要首先转换为对应的数据类型的默认类型(比如两个byte类型 的变量相加,会先把两个byte类型转换为int型之后再计算,得到的结果是int类型)。这种情况适用于变量的数据类型容量比默认的小,比如:byte、short都比int小。

强制类型转换

  • 强制类型转换

    • 自动转换的逆过程,将容量大的数据类型转换为小的。使用时要加上强制转换符(),但可能造成精度降低或溢出。
    • 字符串通常不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。

      • 如:String a = "43";int i = Integer.parseInt(a);
      • boolean类型不可以转换为其他数据类型

运算符

  • 运算符

    • 一种特殊的符号,用以表示数据的运算、赋值和比较等。

    • 算术运算符

      • 正负号:+、-
      • 运算:+、-、*、/、%、++、--
      • 字符串连接符号:+
      • 注意的问题

        • 如果对负数取模,可以把模数负号忽略不计,如:5%-2=1。但被模数是负数则不可忽略,此外,取模运算的结果不一定总是整数;
        • 除号“\”,结果只为整数;int i=9;i/2=4
        • “+”除了连接字符串之外,还能将非字符串转换为字符串。如:System.out.println("5+5="+5+5);//输出5+5=55
      • 练习
    • 赋值运算符

      • 符号:=
      • 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
      • 支持连续赋值
      • 扩展赋值运算符:+=、-=、*=、/=、%= short s = 1; ​s +=2;//正确,在使用扩展赋值时,变量参与运算时会自动强制转换为当前变量类型。 s = s + 2;//错误
    • 比较运算符(关系运算符)

      • ==、!=、>、<、>=、<=
    • 逻辑运算符

      • &—逻辑与、|—逻辑或、!—逻辑非
      • &&—短路与、||—短路或、^—逻辑异或
      • 单&与双&区别

        • 单&时,左边无论真假,右边都进行计算;
        • 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
      • |与||同理
      • 练习
    • 位运算符

      • 运算符:

        • <<(左移):3<<2=12 —>322=12,m<<n=m*2^n
        • (右移):3>>1=1 —>3/2=1,m>>n=m*2^(-n)

        • (无符号右移):3>>>1=1 —>3/2=1

          • 注意

            • 有符号的右移是看右移之后的首位是0还是1,是0前面空位补0,是1补1,
            • 无符号右移,移动之后均补0
        • &(与运算):6&3=2
        • |(或运算):6|3=7
        • ^(异或运算):6^3=5
        • ~(反码):~6=
      • 进制就是逢几加一
      • 二进制、八进制、十进制、十六进制
      • 将正的十进制转二进制:十进制除二,得到除二的商再除二,依次直到商为0或1为止,然后旁边标出的余数倒着写,高位补0.例如42:结果为101010
      • 负数的运算(正数取反加一)

        • 以15为例(负数以-15为例)
        • 15的二进制:00000000 00000000 00000000 00001111
        • -15的二进制:11111111 11111111 11111111 11110001
        • 反码:11111111 11111111 11111111 11110000
        • 补码(反码加1):11111111 11111111 11111111 11110001也就是-15的二进制
    • 三元运算符

      • 格式 :(条件表达式?)表达式1:表达式2;
      • 条件表达式正确则运算结果为表达式1,错误则运算结果为表达式2
    • 运算符的优先级
    • 小括号在所有的运算符中优先级最高,使用小括号提高优先级