首页 > 代码库 > 运算符

运算符

1,数据类型的转换

      自动类型转换  小的数据类型----》大的数据类型

       强制类型转换

    大的数据类型--------》小的数据类型

   凡是short,byte,char,定义的变量,在做运算是,数据类型都会转换为int

    两个不同数据类型做运算,去过与大的数据类型

2   定义的变量是不允许重名。 变量需要定义之后才能使用。

    同一种类型做运算,结果还是同一种类型

3  自增自减运算符:
     ++ 自身增加一    -- 自身减一 

   ++在前 先运算在赋值
  ++在后 先赋值后运算
  - 减减同上.

4关系型运算符 (比较运算符) : 结果是boolean 要么是true ,要么是false
   > ,< ,>= ,<= ,== ,!=   == 
  如果适用于判断基本数据类型,比较的变量的两个值。
  如果是用于比较引用类型,比较的是引用的地址值。

5逻辑运算符 : &(与) , |(或) ,!(非),&&(与),||(或)
   两个条件之间作比较
  && : 真真为真 ,其他都是假
  || :假假为假 ,其他都是真。
   ! :非真即假 ,非假即真
  & : 真真为真 ,其他都是假
   | :  假假为假 ,其他都是真
  
  
   && 和 &区别和联系:
   
   相同点 : 结果是一样的
   不同点 :如果用双&号判断,如果说条件一为false,不会判断条
    件二,但是单&号会继续判断
   || 和 |
   相同点 : 结果一样。
   不同点 : 如果用||号判断,如果说条件一为true,不会判断条
    件二,但是单|号会继续判断

6   

位运算符   //& : 两者为1才为1 ,其他的都为0   int a = 6;   int b = 3;   System.out.println(a&b);   // ---2   //| : 两者为0才为0 ,其他的都为1   System.out.println(a|b);   // ---7

  ^(异或):相同为0 ,不同为1

  System.out.println(a^b); // ---5

  ~取反 : 就是0变为1,1变为0   System.out.println(~a); //

7

// >> 右移   // << 左移   // >>> 无符号右移

  //右移:   System.out.println(6>>1); // --->3  6/2  2*1   System.out.println(6>>2); // --->1  6/4  2*2   System.out.println(6>>3); // --->0  6/8  2*3   System.out.println(6>>4);

     System.out.println(9>>1); // --->4   9/2  2*1   System.out.println(9>>2); // --->2  9/4  2*2   System.out.println(9>>3); // --->1  9/8  2*3   System.out.println(9>>4);//  --->0  9/16 

  System.out.println(-6>>1); //  -6/2 -->-3

  //规律: 右移多少位,就用需要移动的数除以2的多少次方。

  //左移 :   System.out.println("-----这个是左移的结果----------");   System.out.println(6<<1); // --->12  6*2  2*1   System.out.println(6<<2); // --->24  6*4  2*2   System.out.println(6<<3); // --->48  6*8  2*2*2   System.out.println(6<<4); //---->96  6*16 2*2*2*2

  System.out.println(-6<<2);//--->-24      //规律: 左移多少位,就用这个数乘以2多少次方。

  //>>>无符号的右移   System.out.println(6>>>1); //3   System.out.println(6>>>2); //1   System.out.println(-6>>>2); // 1073741822   

7

//方式一:   //int c =  a; //c = 6   //int a = b;  //a = 3   //int b = c;  //b = 6

  //方式二:   //int a = a + b;  //a = 3 + 6;   //int b = a - b;  //b = 3 + 6 -3 =6   //int a = a - b;  //a = 3 + 6 - 6 = 3

  //方式三:      System.out.println((a^b)^a);   System.out.println((b^a)^b);   特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。

8

//方式一:   //int c =  a; //c = 6   //int a = b;  //a = 3   //int b = c;  //b = 6

  //方式二:   //int a = a + b;  //a = 3 + 6;   //int b = a - b;  //b = 3 + 6 -3 =6   //int a = a - b;  //a = 3 + 6 - 6 = 3

  //方式三:      System.out.println((a^b)^a);   System.out.println((b^a)^b);   特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。

9

三目运算符:  三元运算符:

 结构:      条件?条件成立的结果 :条件不成立的结果 ;


  int a = 10;
  int b = 9;
  int c =  b++>=a ? a++ : b+a;
  System.out.println(a);  //10
  System.out.println(b);  //10
  System.out.println(c);  //20

10

技术分享

技术分享


另加第三天图片

 

运算符