赋值运算符:将取到的值赋值给变量
算术运算符:+ - * / %
比较运算符:> < == >= <= !=
自+自-运算符 ++a a++ b-- -bb
逻辑运算符 && || !
三元运算符 条件的式?值一:值二
位运算
@1&
按位与
如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
@2|
按位或
两个相应的二进制位中只要有一个为1,该位的结果值为1
@3^
按位异或
若参加运算的两个二进制位值相同则为0,否则为1
@4~
取反
~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1
@5<<
左移
用来将一个数的各二进制位全部左移N位,右补0
@6>>
右移
将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数, 高位补0




- package com.JavaBasicsDemo3;
-
- import java.util.Scanner;
-
- public class Operator {
- public static void main(String[] args) {
- /**
- * 赋值运算符
- */
- int a, b, c, d;
- a = 12;
- b = 34;
- c = a + b;
- d = a * b;
- System.out.println("运行结果");
- System.out.println(a + " " + b + " " + c + " " + d);
- /**
- * 算术运算符
- */
- int aa = 100;
- int bb = 5;
- System.out.println(aa + bb);
- System.out.println(aa - bb);
- System.out.println(aa * bb);
- System.out.println(aa / bb);
- System.out.println(aa % bb);//取余数
-
- /**
- * 比较运算符
- */
- int cc = 12;
- int dd = 23;
- System.out.println(cc > dd);
- System.out.println(cc < dd);
- System.out.println(cc >= dd);
- System.out.println(cc <= dd);
- System.out.println(cc = dd);
- System.out.println(cc == dd);
- System.out.println(cc != dd);
-
- /**
- * ++:一元运算符,表示自增1
- * 前置++:++a,先自增1,然后再做运算
- * 后置++:a++,先做运算,再自增1
- * --:一元运算符,表示自减1
- * 前置--:--a,先自减1,然后再做运算
- * 后置--:a--,先做运算,然后再自减1
- * 注意:算数运算符的优先级要高于赋值运算符
- */
- /**
- * 自+自-运算符
- * 前置和后置的区别
- *
- */
- //++
- int g = 13;
- System.out.println("开始前" + g);
- int gg = g++;
- System.out.println("运行中" + gg);
- int ggg = ++g;
- System.out.println("结果为" + ggg);
- System.out.println(gg);
- System.out.println(ggg);
- //--
- int kk = 11;
- System.out.println("开始前" + kk);
- int kkk = kk--;
- System.out.println("运行中" + kkk);
- int kkkk = --kk;
- System.out.println("结果为" + kkkk);
- System.out.println(kkk);
- System.out.println(kk);
-
-
- /**
- * 逻辑运算符
- * 与或非 & | !
- */
- Scanner sc=new Scanner(System.in);
- //scanner就是从键盘键入的意思
- System.out.println("请输入要判断的年份:");
- int year = sc.nextInt();
- if (year%4==0&&year%100!=0||year%400==0){
- System.out.println(year+"是闰年");
- }
- else{
- System.out.println(year+"不是闰年");
- }
- }
- public static void Operator(long year){
-
- }
-
- }


- package com.JavaBasicsDemo3;
- /**
- * 三元运算符
- * 条件运算符(三元运算符):
- * 格式: 操作数1 ? 操作数2:操作数3
- * 是什么什么的,如果是的话,取冒号左边的内容,如果不是的话,取冒号右边的内容;
- * 1、操作数1必须是boolean类型的数据
- * 2、当第一个操作数为true时,整个表达式的结果为 冒号左边的这个操作数2,否则,整个表达式的结果为冒号右边的这个操作数3
- * 3、操作数2与操作数3的数据类型必须相同 int a = true?1:2
- */
- public class Operator2 {
- public static void main(String[] args) {
- int a = 20;
- int b = 10;
- int max = a > b ? a : b;
- System.out.println(max);
-
- }
- }
- package com.JavaBasicsDemo3;
- /**
- * &
- * 按位与
- * 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
- * |
- * 按位或
- * 两个相应的二进制位中只要有一个为1,该位的结果值为1
- * ^
- * 按位异或
- * 若参加运算的两个二进制位值相同则为0,否则为1
- * ~
- * 取反
- * ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1
- * <<
- * 左移
- * 用来将一个数的各二进制位全部左移N位,右补0
- * >>
- * 右移
- * 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数, 高位补0
- *
- */
-
- import java.util.Arrays;
-
- public class Operator3 {
- public static void main(String[] args) {
- //俩个数字相同为0
- int[]a={1,1,2,2,3,3,4,5,5,6,6};
- int x=0;
- for (int i : a) {
- x=x^i;
- }
- System.out.println("输出结果为落单的那个数");
- System.out.println(x);
- System.out.println("============================================================");
- int[] n = new int[]{100,55,66,77,88};
- // 定义一个空的值
- int temp;
- for (int i = 0; i < n.length-1; i++) {
-
- for (int j = 0; j <n.length-1; j++) {
- if(n[j]>n[j+1]){
- temp = n[j];
- n[j] = n[j+1];
- n[j+1] = temp;
- }
- }
- }
- System.out.println("冒泡排序的思想是两个两个比较大的在后面小的在前面");
- System.out.println(Arrays.toString(n));
- }
-
- }
- package com.JavaBasicsDemo3;
- /**
- * ++:一元运算符,表示自增1
- * 前置++:++a,先自增1,然后再做运算
- * 后置++:a++,先做运算,再自增1
- * --:一元运算符,表示自减1
- * 前置--:--a,先自减1,然后再做运算
- * 后置--:a--,先做运算,然后再自减1
- * 注意:算数运算符的优先级要高于赋值运算符
- */
- public class Operator4 {
- public static void main(String[] args) {
- //案例一
- int a=10;
- System.out.println("第一次a值为==="+a+"的值");
- int b=a++;
- System.out.println("第二次b值为==="+b+"的值");
- int c=a++ ;
- System.out.println("第三次c的值为==="+c+"的值");
- int d=++c;
- System.out.println("第四次d的值为==="+d+"的值");
- int e=c+d;
- System.out.println("第五次e的值为==="+e+"的值");
-
- //案例二
- int aa=1;
- int bb=aa++ + ++aa +--aa+aa--;
- int cc=bb++ + ++bb- bb++ + ++b;
- int dd=cc++ + ++cc +34+bb++ + ++bb;
- System.out.println("获得的bb值为"+bb);
- System.out.println("获得的cc值为"+cc);
- System.out.println("获得dd的值为"+dd);
-
- }
-
-
- }
