package com.dengchaoqun.ht; public class OperatorsDemo { public static void main(String[] args) { //运算符是一些特殊的符号,主要用于数学函数,一些类型的赋值语句和逻辑比较方面的问题。 //主要的运算符有算数运算符,赋值运算符,比较运算符等 //赋值运算符”=“是一个二元运算符(对两个操作数做处理),其功能是江右方的操作数赋值给左方 int a=10; int c=12; int b=a+c; System.out.println(b); //算数运算符主要有”+“,”-“,”*“,”/","%",他们都是二元运算符 float number=1234.56f; int number2=123; System.out.println("和为:"+(number+number2)); System.out.println("差为:"+(number-number2)); System.out.println("积为:"+(number*number2)); System.out.println("商为:"+(number/number2)); System.out.println("求于为:"+(number%number2)); //自增自减运算符是单目运算符 int x1=5; int x2=x1++; //放在操作元后面的自增自减运算符,会是变量先参与表达式的运算,然后再将该比变量的值加1或者减1 System.out.println(x1); System.out.println(x2); int x3=++x1; // 放在操作元前面的自增自减运算符,会是变量的值先加1或者减1,然后再进行表达式的运算 System.out.println(x1); System.out.println(x3); //比较运算符是属于二元运算符,六个运算符分别为:>,<,==,>=,<=,!=;其中==和!=可以运用于基本数据类型和引用数据类型 //其它用于整型,字符型,浮点型数据。比较运算符返回的是boolean数据类型。 int myInt1=12; int myInt2=3; System.out.println("myInt1>myInt2的返回值是:"+(myInt1>myInt2)); System.out.println("myInt1<myInt2的返回值是:"+(myInt1<myInt2)); System.out.println("myInt1==myInt2的返回值是:"+(myInt1==myInt2)); System.out.println("myInt1>=myInt2的返回值是:"+(myInt1>=myInt2)); System.out.println("myInt1<=myInt2的返回值是:"+(myInt1<=myInt2)); System.out.println("myInt1!=myInt2的返回值是:"+(myInt1!=myInt2)); //逻辑运算符:逻辑与&&(&),逻辑或||,逻辑非!。;逻辑运算符的操作元必须是boolean数据类型,“!”是单目运算符,其余为二元运算符 boolean myBool1=((a>b)&&(a!=b)); boolean myBool2=((a>b)||(a!=b)); System.out.println("逻辑与"+myBool1); System.out.println("逻辑或"+myBool2); System.out.println(~ (0xa5) &0xaa); //位运算符,位运算符除按位与和按位或运算符,其他职能用于处理整数的操作数,位运算是完全针对位方面的操作。 //按位与&和按位或|都是双目运算符, //按位与的运算法是:若果两个整数a,b对应都是1,则结果位是1,否则为0;如果两个操作数的精度不同,则结果的精度和精度高的操作数相同 //按位或的运算法则是:如果两个整数a,b对应位是都是0,则结果为0,否则为1;如果两个操作数的精度不同,则结果与精度高的操作数相同 //按位取反(~)为单目运算符。按位取反就是将操作数中的1修改为0,将0修改为1; //按位异或(^)为双目运算符,运算法则是:当两个操作数的二进制位表示相同则结果为0;否则为1,如果精度不同则结果数的精度和精度高的操作数相同。 //位移操作符,左移<<;又移>>;无符号右翼>>> //三元运算符:条件式?值1:值2;三元运算规则是:若条件式为true,则整个表达式取值1,否则取值2; //运算符的优先级(由高到低):增量和减量运算>算术运算>比较运算>逻辑运算>赋值运算符 } }