首页 > 其他分享 >运算符

运算符

时间:2024-10-19 10:09:44浏览次数:6  
标签:00000000 System 运算符 ++ println true out

一、赋值运算符

/*
    赋值运算符:
        =  += -= *= /= %=
 */
public class FuZhiDemo1 {
    public static void main(String[] args) {
        int a = 3;

//        a += 4;
//        System.out.println(a);

        a-=5;
        System.out.println(a);

    }
}
/*
    short s=1, s = s+1;
    short s=1, s+=1;

 */
public class FuZhiDemo2 {
    public static void main(String[] args) {
//        short s = 1;
//        s = (short) (s + 1);
//        System.out.println(s);

        short s = 1;
        s += 1; // s = (short) (s + 1);
        System.out.println(s);

    }
}

二、关系运算符

/*
    关系运算符:
        > < >= <= != ==

        关系表达式的结果一定是boolean类型的
 */
public class GuanXiDemo1 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        System.out.println(a==b); // false
//        System.out.println(a=b); // 4
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a<=b);
        System.out.println(a>=b);
        System.out.println(a!=b);
    }
}

三、逻辑运算符

/*
    逻辑运算符:
        & | ^ ! && ||

    逻辑运算符,参与运算的参数类型是boolean,结果也是一个boolean类型的
 */
public class LuoJiDemo1 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        // & 有false则false
//        System.out.println((a++>3)&(b++>4)); // false & false = false
//        System.out.println("a: " + a + ", b: " + b);
//        System.out.println((a++>3)&(b++==4)); // false & true = false
//        System.out.println((a++==3)&(b++>4)); // true & false = false
//        System.out.println((a++==3)&(b++==4));// true & true = true

        // && 短路与 当左边为false的时候,右边表达式不会执行,结果为false
//        System.out.println((a++ > 3) && (b++ > 4)); // false && false = false
//        System.out.println("a: " + a + ", b: " + b);
//        System.out.println((a++ > 3) && (b++ == 4)); // false && true = false
//        System.out.println((a++ == 3) && (b++ > 4)); // true && false = false
//        System.out.println((a++ == 3) && (b++ == 4));// true && true = true


        // | 有true则true
//        System.out.println((a++ > 3) | (b++ > 4)); // false | false = false
//        System.out.println((a++ > 3) | (b++ == 4)); // false |  true = true
//        System.out.println((a++ == 3) | (b++ > 4)); // true | false = true
//        System.out.println((a++ == 3) | (b++ == 4));// true | true = true
//        System.out.println("a: " + a + ", b: " + b);

        // || 短路或 当左边为true的时候,右边表达式不会执行,结果为true
//        System.out.println((a++ > 3) || (b++ > 4)); // false || false = false
//        System.out.println((a++ > 3) || (b++ == 4)); // false ||  true = true
//        System.out.println((a++ == 3) || (b++ > 4)); // true || false = true
//        System.out.println((a++ == 3) || (b++ == 4));// true || true = true
//        System.out.println("a: " + a + ", b: " + b);

        // System.out.println(100>a>10) // java中不允许出现连续比较
        System.out.println(a>10 && a<100);


        // ^ 异或 相同则false,不同则true
//        System.out.println((a++ > 3) ^ (b++ > 4)); // false ^ false = false
//        System.out.println((a++ > 3) ^ (b++ == 4)); // false ^  true = true
//        System.out.println((a++ == 3) ^ (b++ > 4)); // true ^ false = true
//        System.out.println((a++ == 3) ^ (b++ == 4));// true ^ true = false

        //! 将true变成false, false变成true
//        System.out.println(!(a++ > 3));


    }
}

四、三目运算符

/*
    三目运算符【三元运算符】:
    语句定义格式:
        (关系表达式)?表达式1:表达式2;

    这里的表达式1和表达式2必须是要有一个结果值的。
 */
public class SanMuDemo1 {
    public static void main(String[] args) {
        int a = 3;
        int b = 8;
        //需求:求两个数中的最大值
//        int x = (a > b) ? a : b;
//        System.out.println(x);
//        (a > b) ? System.out.println(a) : System.out.println(b);
    }
}

五、算术运算符

/*
    算数运算符:
        + - * / % ++ --

    java中,一个算数表达式最终的结果数据类型,是由参与运算最大的那个参数类型决定的。
 */
public class SuanShuDemo1 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
//        System.out.println(a+b);
//        System.out.println(a-b);
//        System.out.println(a*b);
//        System.out.println(a/b); // 整除,保留整数部分
//        System.out.println(a%b);


        System.out.println(a*1.0/b);
    }
}

/*
    ++: 自加1
        ++在后,先赋值再进行自加1;++在前,先自加1,再赋值参与运算
    --: 自减1
        --在后,先赋值再进行自减1;--在前,先自减1,再赋值参与运算
 */
public class SuanShuDemo2 {
    public static void main(String[] args) {
        /**
         *  单独使用
         */
        int a = 3;
        int b = 4;
        System.out.println("a: " + a);
        System.out.println("b: " + b);
        System.out.println("-----------------------------");
//        a++;
//        b++;
//        ++a;
//        ++b;
//        System.out.println("a: " + a);
//        System.out.println("b: " + b);

        /**
         *  混合使用
         */
//        int x = a++;
//        System.out.println(x); // 3
        int x2 = ++a;
        System.out.println(x2);

    }
}

1.练习1

public class SuanShuTest1 {
    public static void main(String[] args) {
        //请分别计算出a,b,c的值
        int a = 10;
        int b = 10;
        int c = 10;

        a = b++;// a:10 9  10 9
        c = --a;// b:11 11 10 10
        b = ++a;// c:10 9  9  8
        a = c--;
        System.out.println("a: " + a);//9
        System.out.println("b: " + b);//10
        System.out.println("c: " + c);//8
    }
}

2.练习2

public class SuanShuTest2 {
    public static void main(String[] args) {
        int a = 4;
        int b = (a++)+(++a)+(a*10);
       //         4     6     60
       //
        System.out.println("a: "+a); // 6
        System.out.println("b: "+b); // 70
    }
}

六、位运算

/*
    位运算符:针对数值2进制形式的计算
      & | ^ ~  >>  << >>>

    位运算符,参与运算的是数值,结果也是一个数值

 */
public class WeiDemo1 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;

//        System.out.println(a&b);
//        System.out.println(a|b);
//        System.out.println(a^b);
        System.out.println(~a);
    }
}
/*
    计算机中所有的运算都是采用补码进行的
    3的补码:00000000 00000000 00000000 00000011
    4的补码:00000000 00000000 00000000 00000100

    &:有0则0
        00000000 00000000 00000000 00000011
      &
        00000000 00000000 00000000 00000100
       -------------------------------------
        00000000 00000000 00000000 00000000

    |:有1则1
        00000000 00000000 00000000 00000011
      |
        00000000 00000000 00000000 00000100
       -------------------------------------
        00000000 00000000 00000000 00000111

    ^:相同则0,不同则1
        00000000 00000000 00000000 00000011
      ^
        00000000 00000000 00000000 00000100
       -------------------------------------
        00000000 00000000 00000000 00000111

    ~: 0变成1,1变成0
        00000000 00000000 00000000 00000011
      ~
        -------------------------------------
   补码  11111111 11111111 11111111 11111100
   反码  11111111 11111111 11111111 11111011
   原码  10000000 00000000 00000000 00000100
   -----------------------------------------
   -4

 */

/*
     >>:右移,整体补码向右移动若干位,右边多出的部分丢弃,若最高位是1,左边就用1补齐;反之用0补齐
     <<:左移,整体补码向左移动若干位,左边多出的部分丢弃,右边用0补齐
     >>>:无符号右移,整体补码向右移动若干位,右边多出的部分丢弃,左边无论最高位是0还是1,都用0补齐
 */
public class WeiDemo2 {
    public static void main(String[] args) {
        System.out.println(24>>2); // 24/2^2 = 6
        System.out.println(2<<4);  // 2*2^4 = 32

        System.out.println(-24>>>2); // 1073741818
    }
}
/*
    24的补码:00000000 00000000 00000000 00011000

            00000000 00000000 00000000 00011000
      >>2:  00000000 00000000 00000000 00000110(00)
      ------------------------------------------------

    2的补码:00000000 00000000 00000000 00000010

                00000000 00000000 00000000 00000010
     <<4: (0000)00000000 00000000 00000000 00100000


    -24
    原码:10000000 00000000 00000000 00011000
    反码:11111111 11111111 11111111 11100111
    补码:11111111 11111111 11111111 11101000
    ------------------------------------------
         11111111 11111111 11111111 11101000
   >>>2: 0011111111 11111111 11111111 111010(00)



 */

标签:00000000,System,运算符,++,println,true,out
From: https://www.cnblogs.com/ndmtzwdx/p/18475538

相关文章

  • 运算符重载
    基础概念运算符重载使用了一个名为operator的关键字,重载运算符后,在使用时会调用重载后的方法,使用这种方法可以实现对象之间自定义+-操作。可重载运算符:一元运算符:+,-,!,~,++,--算术运算符:+,-,*,/,%比较运算符:==,!=,<,>,<=,>=代码示例此段代码重载了+,==......
  • 运算符
    Lua运算符运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:算术运算符关系运算符逻辑运算符其他运算符算数运算符下表列出了Lua语言中的常用算术运算符,设定A的值为10,B的值为20:操作符描述实例+加法A+B输出结......
  • 运算符于表达式
    算数运算符+加法、-减法、*乘法、/除法、%取余。++自增,变量自身增加1。++在前,先算后用;++在后,先用后算。--自减,变量自身减少1。--在前,先算后用;--在后,先用后算。赋值运算符=赋值复合运算符:+=加等、-=减等、*=乘等、/=除等、%=取余等。关系运算符>大于,>=大于等于,==等于,!=不等......
  • 1601 添加运算符 枚举 递归dfs
    #include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e3+10,inf=0x3f3f3f3f;inta[N],vis[N];intn,ans;//计算函数:根据运算符i对sum和a[x]进行运算intcal(intsum,inti,intx){if(i==1)returnsum+a[x];//加法......
  • C语言运算符和表达式
    1.C语言赋值运算符实例讲解C使用运算符(operator)来代表算术运算。例如,+运算符可以使它两侧的值加在一起。如果您觉得术语“运算符”听起来比较奇怪,那么请您记住那些东西总得有个名称。与其被称之为“那些东西”或“数学符号”,被称之为“运算符”似乎看起来更专业一些!现在,除......
  • 叉积法判断三点共线+重载运算符
    https://ac.nowcoder.com/acm/contest/92687/G#include<bits/stdc++.h>#defineendl'\n'#defineintlonglong#definelowbit(x)(x&-x)usingnamespacestd;constdoublepi=acos(-1);typedefpair<int,int>pii;piioperator-(piia,......
  • Java基础语法-运算符
    运算符Java语言支持如下运算符:算术运算符:+,-,,/,%,++,--赋值运算符:=关系运算符:>,<,>=,<=,==,!=instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>(了解!!!)条件运算符:?:扩展赋值运算符:+=,-=,*=,/=//二元运算符inta=10;intb=20;intc=25;intd......
  • JAVA输入输出,运算符
    1.输入输出packagecom.scanner;//1.导包importjava.util.Scanner;publicclassDemo1{publicstaticvoidmain(){print();}//需求:我是一个零基础小白,请帮我写一个程序,可以让用户键盘输入用户名和年龄,然后打印出来。publicstaticvoid......
  • JAVA基础笔记1(变量与运算符+基本数据类型)
    目录一.开发工具1.快捷键常用二.HelloWorld案例:输出:心形三:变量与运算符3.1关键字3.2 标识符(identifier)3.3变量3.30变量的概念:3.31变量类型3.32引用数据类型:   类:class   数组:array   接口:interface   枚举:enum   注解:annotation   ......
  • Java运算符
    运算符算术运算符:‘+’‘-’‘*’‘/’‘%’‘++’‘–’inta=2intb=a++;//执行完这行代码后,先给b赋值,在自增intc=++a;//执行完这行代码前,先自增,再给c赋值幂运算doublepow=Math.pow(2,3);//表示2的三次方System.out.println(pow);赋值运算符:=关系运算......