运算符
java语言支持以下运算符:
-
算数运算符:+,-,*,/,%,++,-- -
赋值运算符:= (赋值)把a赋值给b -
关系运算符:>,<,>=,==(java中等于用双等号),!=(不等于),instanceof -
逻辑运算符:&&,!,||(与或非) -
位运算符:&,|,>>,<< -
package base;
?
public class Demo04 {
? ?public static void main(String[] args) {
? ? ? ?// 二元运算符
? ? ? ?int d = 10;
? ? ? ?int c= 50;
? ? ? ?int v = 40;
? ? ? ?int b = 30;
? ? ? ?System.out.println((double) d/b);//强制转换符
? ? ? ?System.out.println("---------------------------------------------------------------" );
? ? ? ?long a =121212121212L;
? ? ? ?int ?f = 123;
? ? ? ?short g = 10;
? ? ? ?byte r =8;
? ? ? ?System.out.println(a+f+g+r);//long
? ? ? ?System.out.println(f+g+r);//int
? ? ? ?System.out.println(g+r);//int
? ? ? ?//自动高位转换
? ? ? ?System.out.println("------------------------------------------------------------");
? ? ? ?System.out.println(g%r);//g/r余下几,代表余数
++,--
package base;
?
public class Demo05
{
? public static void main(String[] args) {
? ? ? //++ 自增 ? --自减(一元运算符)
? ? ? int a = 3;
? ? ? int b = a++; ? //执行完代码后,先赋值,在自增
? ? ? //a++ a=a+1
? ? ? int c = ++a; ? //执行完代码后先自增,后赋值
? ? ? System.out.println(a);
? ? ? System.out.println(b);
? ? ? System.out.println(c);
? ? ? // 幂运算
? ? //2^3 ? ? ↓
? ? ? double pow = Math.pow(2,3);
? ? ? System.out.println(pow);
? }}
自增自减符
逻辑运算符
package base;
?
public class Demo06 {
? public static void main(String[] args) {
? ? ? //逻辑运算符
? ? ? boolean a = true;
? ? ? boolean b = false;
? ? ? //与 and ? ? 或or ? ? 非 取反
? ? ? System.out.println("a&&b"+(a&&b));//两个变量都为真,结果才为真
? ? ? System.out.println("a||b"+(a||b));//两个结果都为假,则结果才为假,有一个为真,则结果为真
? ? ? System.out.println("!(a&&b)"+!(a&&b));//如果为真则为假,如果为假则为真。相反
? ? ? //短路运算
? ? ? ? System.out.println("a&&b"+(a&&b));/*如若a为假,则就直接为假,后面 b 就不会再去计算验证
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 若 b 为 a++
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 则输出的a值不会变化,因为运算短路,不会去运算b*/
? ? ? System.out.println("-------------------------------------------------------------------------");
位运算符
package base;
?
public class Demo07 {
? ?public static void main(String[] args) {
? ? ? ? /*
? ? ? ? ? ? A = 0011 1100
? ? ? ? ? ? B = 0000 1101
?
? ? ? ?A&B = 0000 1100
? ? ? ? A|B = 0011 1101
? ? ? ? A^B = 0011 0001 ? (相同则为零,不同则为一) ? 异或
? ? ? ? ~B ? = 1111 0010
? ? ? ? <<
? ? ? ? ?>>
? ? ? ? */
?System.out.println(2<<3);//左移乘以二 ,右移除以二。 二进制发(注意!!!!)
? ? ? ?//效率极高
? ? ? ?/*
? ? ? ?0000 0000 ? 0
? ? ? ?0000 0001 ? 1
? ? ? ?0000 0010 ? 2
? ? ? ?0000 0011 ? 3
? ? ? ?0000 0100 ? 4
? ? ? ?0000 1000 ? 8
? ? ? ?0001 0000 ? 16
? ? ? ?*/
? }
|