Java的基本语法

·String是字符串类型关键字,属于引用数据类型,不能通过强制类型转换的方式转换为基本数据类型:

    

Java的基本语法_第1张图片


    但是可以通过方法的方式进行转换:

     

wKiom1gzm-ry1sdWAAADsGtEfxY053.png


·进制

    1,对于整数,有四种表示方式:

     二进制->0、1,满2进1,以0b或0B开头表示

     十进制->0-9,满10进1

     八进制->0-7,满8进1,以数字0开头表示

     十六进制->0-9及A-F,满16进1,以0x或0X开头表示,其中A-F不区分大小写

    所有的数字在计算机的底层都是以二进制的形式存在的,计算机以补码的形式保存所有的整数,正整数的原码与其补码相同,负整数的补码是在其原码的反码基础上末位加1。

    原码:直接将一个数值转换为二进制数的形式叫做这个数的原码。

    反码:对原码按位取反,最高位符号位不变。

    在这里我们就来解释一下为什么byte类型的取值范围是-128~127:

       因为byte类型所占的内存空间大小为一个字节,也就是可以使用8位二进制数来表示byte类型的容量,对一个8位二进制数来说,最大的正数可以表示为0111 1111,又由于正数的原码和其补码相同,故最大的正数的二进制形式也可以表示为0111 1111,转换为十进制就是127,最小的负数的二进制形式为1111 1111,补码形式为1000 0001,在其补码的基础上还可以再减去1,才满足最小,故最终的二进制形式为1000 0000,该二进制的十进制表示形式为-128,故byte类型的取值范围是-128~127。

    2,进制转换

       十进制转换为十进制:

       除10取余,升序排列

       十进制转换为二进制:

        除2取余,升序排列

      二进制转换为十进制:

     

·运算符

    1,算术运算符

       

Java的基本语法_第2张图片


       ⑴%(取模运算符)

        取模运算就是取余数运算

        

Java的基本语法_第3张图片


        如果对负数取模,模数的负号是可以忽略不计的:

        

Java的基本语法_第4张图片


        但是被模数的负号不可以忽略不计:

        

Java的基本语法_第5张图片


       ⑵/(除法运算符)

        整数之间的除法运算只保留整数部分,舍弃小数部分:

        

Java的基本语法_第6张图片


        要想保留小数部分,将其中一个操作数声明为浮点型即可:

        

Java的基本语法_第7张图片


       ⑶+(加法运算符)

        加法运算符拥有字符串相加的功能:

        

Java的基本语法_第8张图片


        加法运算符还可以将非字符串转换为字符串:

        

Java的基本语法_第9张图片


       ⑷++(自增运算符)

        ++在前:

        

Java的基本语法_第10张图片

   

        ++在后:

        

Java的基本语法_第11张图片

 

       ⑸--(自减运算符)

        --在前:

        

Java的基本语法_第12张图片

    

        --在后:

        

Java的基本语法_第13张图片


       ⑹=(赋值运算符)

       ⑺+=(扩展赋值运算符)

        

Java的基本语法_第14张图片


    2,比较运算符

      

Java的基本语法_第15张图片


      ⑴->==(等于):

       

Java的基本语法_第16张图片


    3,逻辑运算符

      

Java的基本语法_第17张图片


      ⑴!(非)

        

Java的基本语法_第18张图片


      ⑵||(短路或)

        短路或表示如果或运算符之前的表达式的结果为真,则或运算符后面的表达式不参与运算:

       

Java的基本语法_第19张图片

 

      ⑶|(或)

        无论或运算符前面的表达式的结果如何,或运算符后面的表达式都会参与运算:

        

Java的基本语法_第20张图片


      ⑷&&(短路与)

        如果与运算符前面的表达式的结果为假,那么与运算符后面的表达式就不会参与运算:

        

Java的基本语法_第21张图片


       ⑸&(与)

        无论与运算符前面的表达式的结果如何,与运算符后面的表达式都会参与运算:

        

Java的基本语法_第22张图片


        上图中抛出了一个数学异常,证明与运算符后面的表达式参与了运算

      ⑹^(异或)

        异或运算符两边的表达式取值相同时取值为false,不同时取值为true

        

Java的基本语法_第23张图片


      逻辑运算符用于连接布尔型表达式:

        在Java中不可以写成33 && x<6

    4,位运算符

      

Java的基本语法_第24张图片


      ⑴<<(左移位)

        被移除的高位补丢弃,空缺位补0

        2左移3位,表示的是将2的二进制原码左移3位

        即:0000 0010-->0001 0000

        

Java的基本语法_第25张图片


        2左移3位的值相当于是2乘以2^3

      ⑵>>(右移位)

        如果被移位的二进制原码的最高位是0,右移后,空缺位补0:

        

Java的基本语法_第26张图片


         16右移3位相当于16除以2^3

      ⑶&(按位与)

        按位与表示运算符的两边的操作数的二进制原码按位相与计算结果:

        

Java的基本语法_第27张图片


    5,三元运算符

      

Java的基本语法_第28张图片


       

Java的基本语法_第29张图片