Com.Java.Basis第三课《Java中的运算符你了解多少呢》

简介: Com.Java.Basis第三课《Java中的运算符你了解多少呢》

Com.Java.Basis第三课《Java中的运算符你了解多少呢》

在Java的世界中运算符分为以下内容:

  1. 赋值运算符:将取到的值赋值给变量
  2. 算术运算符:+ - * / %
  3. 比较运算符:> < == >= <= !=
  4. 自+自-运算符 ++a a++ b-- -bb
  5. 逻辑运算符 && || !
  6. 三元运算符  条件的式?值一:值二
  7. 位运算

位运算:

@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);
    }
}

                   

相关文章
|
2月前
|
Java
Java运算符
Java运算符
48 12
|
3月前
|
Java 测试技术 数据处理
Java零基础教学(17):Java运算符详解
【8月更文挑战第17天】Java零基础教学篇,手把手实践教学!
64 4
|
23天前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
31 7
|
25天前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
17 3
|
25天前
|
Java 测试技术 开发者
🌟Java零基础-Lambda运算符详解 🌟
【10月更文挑战第12天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
22 1
|
1月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
48 4
|
1月前
|
安全 Java 测试技术
🌟 Java 零基础 | 详解 instanceof 运算符
【10月更文挑战第1天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 1
|
1月前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
39 3
|
2月前
|
Java 测试技术 程序员
Java零基础(23) - Java赋值运算符,了解一下!
【9月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
58 11
|
3月前
|
Java 测试技术 计算机视觉
Java零基础(18) - Java运算符,了解一下!
【8月更文挑战第18天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
39 5