运算符

  1 /*
  2 运算符:
  3     算术运算符:  +,-,*,/,%,++,--
  4         
  5     赋值运算符 =  
  6         java中=表示赋值运算符,==表示相等的操作
  7     扩展赋值运算符:+=,-=,*=,/= 
  8         
  9     关系运算符:  >,<,>=,<=,==,!=
 10         用来比较两值的关系,
 11     逻辑运算符:  &&,||,!
 12         逻辑运算符一般两边的值不是具体的值,而是表达式
 13     位运算符:  &,|,^,~ , >>,<<,>>> (了解!!!)
 14     条件运算符 ?: 
 15 */
 16 public class OperatorDemo{
 17     
 18     public static void main(String[] args){
 19         int a = 1;
 20         int b = 2;
 21         
 22         //算数运算符
 23         System.out.println(a+b);
 24         System.out.println(a-b);
 25         System.out.println(a*b);
 26         //取整除,或者取商
 27         System.out.println(a/b);
 28         //取余数,或者取模
 29         System.out.println(a%b);
 30         
 31         //单目运算符
 32         //++,表示在变量原有的基础上+1,谁在前,先运算谁
 33         System.out.println(a++);
 34         System.out.println(++a);
 35         //--,表示在变量原有的基础上-1,谁在前,先运算谁
 36         System.out.println(a--);
 37         System.out.println(--a);
 38         //6 ????
 39         System.out.println(++b+b++);
 40         
 41         //扩赋值运算符
 42         int c = 1;
 43         //两写法意义一样,表示加2的基本操作
 44         c = c + 2;
 45         c += 2;
 46         //类型转换问题,d是byte,d+1整体变成int类型,需要将int类型的值转换位byte,会有精度算是,因此需要强制转换
 47         //建议在进行操作的时候使用扩赋值运算符
 48         byte d = 10;
 49         //d = d+1;
 50         d+=1;
 51         
 52         //关系运算符:返回的值是布尔类型,也就是说只有true和false两情况
 53         System.out.println(1>2);
 54         System.out.println(1<2);
 55         System.out.println(1>=2);
 56         System.out.println(1<=2);
 57         System.out.println(1==2);
 58         System.out.println(1!=2);
 59         System.out.println("-----");
 60         //逻辑运算符
 61         /*
 62             &&:表示短路与,两边表达式中只要有一个是false,整体结果就是false
 63                 两边表达式从左向右开始对比,如果左边的表达式是false,右边不需要进行判断
 64             ||:表示短路或,两边表达式中只要有一个是true,整体结果就是true
 65                 两边表达式从左向右开始对比,如果左边的表达式是true,右边不需要进行判断
 66             !:取反,如果是true,取反是false,如果是false,取反就是true
 67             &:与运算符,但是两都会参与运算
 68             |:或运算符,两边都会参与运算
 69         */
 70         System.out.println(3>5 & 3<4);
 71         System.out.println(3>5 | 3<4);
 72         System.out.println(!true);
 73         System.out.println(!false);
 74         
 75         //位运算符:只能操作数值,操作的时候会转成二进制进行运算
 76         System.out.println(4 & 5);
 77         System.out.println(4 | 5);
 78         System.out.println(4 ^ 5);
 79         //移码,补码,原码,反码  ????
 80         System.out.println(~4);
 81         //左移表示乘以2,右移表示除以2
 82         System.out.println(2<<3);
 83         System.out.println(16>>2);
 84         
 85         //条件运算符或者三目运算符
 86         //使用的时候需要跟一个表达式,表达式如果是true,则返回?后的结果,
 87         //如果是false,则返回:后的结果
 88         System.out.println(3>2?3:2);
 89         System.out.println(false?false:true?false:true);
 90         
 91         
 92         /*
 93         
 94         基本数据类型之间的转换
 95             自动转换(隐形转换):
 96             强制转换
 97             
 98             注意:
 99                 1、在进行算术运算操作的时候,必须要求数据类型一致,否则无法操作
100                 2、在运算过程中,如果两个值得类型不一致,会自动将小的类型转换为大的类型
101                 3、在运算过程中,可以手动强制转换,将大的类型转换为小的类型
102                     实现方式,(datatype)
103                 4、强制转换,会发生精度损失,结果可能不准确
104         */
105         byte bb = 10;
106         int aa = 200;
107         byte cc;
108         cc = (byte)(aa+bb);
109         System.out.println(cc);
110         
111         
112         
113         
114         
115         
116         
117         
118         
119         
120         
121         
122         
123         
124         
125         
126         
127     }
128 }

 

posted @ 2020-10-13 18:34  zhou_yi  阅读(207)  评论(0)    收藏  举报