---恢复内容开始---

一,1,单行注释的快捷键 control+/
            先选中要注释的行,再按control+/
            按一次是注释,再按一次是取消注释。

        2,多行注释的快捷键
             control+shift+/  多行注释
             control+shift+\  取消多行注释

二, 8种基本数据类型:
    整数:byte、short、int、long
    浮点数:float、double
    布尔类型:boolean
    字符型:char
  1byte 最小的整数类型。占1个字节。    -128~127
  2, short也表示整数,但是占2个字节。      -32768~32767
  3 int 占4个字节。         -2147483648~2147483647    ***( 整数默认类型是int
  4, long 占8个字节。属于最大的整数类型,能表示19位整数。

  5, float 占4个字节。    后要加f或F  也可以强制转换。

  6,   double  占8个字节。浮点型 默认 可以加d 、D 也可以不加。

  7,boolear  (bool) 布尔类型  多用于判断   。布尔类型不能参与运算
        布尔类型不能与其他类型互转,包括强转。

  8,char 类型,用于保存一个字符:可以是字母,可以是符号,可以是汉字,可以是日文。。。
      在java里面,char类型存储的是Unicode字符。      java的char占2个字节。
 三, 数据类型有隐式转换和显示转换2种。

       一般大数据类型能容纳小数据类型的内容,因此系统提供了隐式转换。
      "="是java里面的赋值运算符,它的功能是把=右边的值,赋值给左边的变量。
       大类型往小类型转换就出现编译错误。
        如果非要转换,可以使用强制类型转换。

***  数据类型的转换:

   1 隐式转换
        小转大。大类型可以接收小类型。
        赋值时:小类型可以赋值给大类型。
        byte->short->int->long->float->double
        char->int->long->float->double
        运算时:
        小于等于int类型的整数进行运算,会自动升级为int再进行运算。
        小于等于long类型整数与long进行运算,会自动升级为long再进行运算
        如果和float运算,升级为float
        如果和double运算,升级为double。
        如果=左边的变量类型小于=右边的类型,要进行强制转换。  
   2, 强制转换:
        格式: 变量 = (指定的类型)数值,指定的类型要与变量的类型一致。

四,运算符的分类:
    1、赋值运算符 =
    2、算术运算符 + - * / %(模) ++ --
    3、复合运算符 += -= *= /= %=
    4、关系运算符 > >= < <= == !=
    5、逻辑运算符 &&  ||  !
    6、位运算符 & | ~ ^ <<  >>
    7、三目运算符 ?:
 1、赋值运算符 =
    作用是把等号右边的值,赋值给左边的变量。
    左边一定是变量。
    int a = 5;定义变量a,a的类型是int。把5赋值给a。
    此次此刻a存放的值是5,我们称:a的值是5
2、算术运算符 + - * / %(模) ++ --
     m + n;
     m - n;
     m * n;
     m / n;

注意:整数与整数相除,结果取整(抹掉小数部分)除法里,除数不能为0

*%用于求余数。

     求余数的时候,余数始终与被除数符号一致。8%5=3   -8%5=-3

*++ 自增运算符

     num++;等价于num = num + 1;
     ++num;等价于num = num + 1;
     ++在变量前面,先增1,再使用变量。
     ++在变量后面,先使用变量,再增1

*复合运算符 +=  -=  *=  /=  %=
      a+= b      等价于a = a + b;
      a -= b     等价于a = a -b;
      a *= b     等价于a=a * b;
      a /= b     等价于a=a/ b;
      a %=b    等价于a = a%b;
4、关系运算符 > >= < <= == !=
     关系运算符的运算结果一定是一个boolean
    int x = 3;
    int y = 5;
    boolean a = x != y;
    System.out.println(a);

5、逻辑运算符 &&  ||  !
    && 逻辑与 表示并且,用来连接2个表达式。
    &&两侧的表达式都为真的时候,结果才为真。   只要有一个表达式是假,结构就是假。
  *  注意事项:一旦发现&&前面的表达式为假了 ,就不再计算后面的表达式了
    这个现象称为短路现象。

|| 逻辑或 表示或者。
     ||左侧或者右侧有一个为true结果就是true。
     只有在2者都是false的时候才为false。
     如果 || 左侧的表达式为true,就不再计算||右侧的表达式了。
! 逻辑非。作用就是取反。!右侧是一个表达式。
      如果表达式值是true,整个表达式的结果就是false
     boolean h = !(a > b);
     System.out.println(h);
6,位运算符 & | ~ ^ <<  >>

    机器码  最高位是符号位 0表示整数  1表示负数
    真值:真正的值,带正负号。是10进制数。
    原码(机器码)
    反码:正数的反码与原码相同,负数的反码:符号位不变,其他位取反。
    补码:正数的补码与原码相同,负数的补码:反码+1
    在内存里,整数都是按补码存放的。
& 按位与。 &左右两侧是2个整数。
    计算规则,先把2个数转化位二进制(补码)。
    再按位与。相同位置的数都是1结果才是1,有一个是0,结果就是0
| 按位或。 |左右两侧是2个整数。
     计算规则,先把2个数转化位二进制(补码)。
     再按位或。相同位置的数都是0结果才是0,有一个是1,结果就是1

~按位取反。以前是0变成1,以前是1变成0.
     也是先找补码,对补码取反。
     取非的快速公式:~A = -(A+1);
^ 左右2侧是2个整数。也是先转换为二进制(补码)。
      相同位置的数,相同为0,不同为1.

数 << n位。<< 左侧是你要移动的数,右侧是要移动多少位。
       左移几位相当于乘以2的几次方。
数 >> n位。>> 左侧是你要移动的数,右侧是要移动多少位。
         右移几位相当于除以2的几次方。

7、三目运算符 ?:
      完整格式 表达式1?表达式2:表达式3
      当表达式1的值为true时,
      使用表达式2的值作为整个表达式的结果
      当表达式1的值为false时,
      使用表达式3的值作为整个表达式的结果。