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

                   

相关文章
|
3天前
|
Java
探索Java世界的奇妙工具——运算符与表达式运算符
探索Java世界的奇妙工具——运算符与表达式运算符
8 0
|
3天前
|
Java
Java 运算符
4月更文挑战第8天
|
3天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
10 0
|
3天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
8 0
|
3天前
|
Java C语言
java中8种基本类型与运算符
java中8种基本类型与运算符
14 3
|
3天前
|
Java
Java一分钟之运算符与表达式初探
【5月更文挑战第7天】本文介绍了Java中的主要运算符,包括算术、比较、逻辑、位、赋值和条件运算符。讨论了类型转换、运算顺序和逻辑短路等常见问题,并提供了避免错误的建议。通过代码示例展示了运算符的使用,强调理解运算符对于编写高效Java代码的重要性。
23 0
Java一分钟之运算符与表达式初探
|
3天前
|
存储 Java 数据安全/隐私保护
【Java探索之旅】运算符解密 位运算,移位运算
【Java探索之旅】运算符解密 位运算,移位运算
22 0
|
3天前
|
算法 Java
【Java探索之旅】运算符解析 算术运算符,关系运算符
【Java探索之旅】运算符解析 算术运算符,关系运算符
23 0
|
3天前
|
Java
JAVA运算符应用与实践
JAVA运算符应用与实践
16 1
|
3天前
|
存储 Java
Java语言--->数据类型转化以及运算符
本文讲述了Java中的基本数据类型转换和运算符。在转换中,布尔型除外的8种类型可通过默认或强制转换相互转化,如`byte-&gt;short-&gt;int-&gt;long-&gt;float-&gt;double`。默认转换发生在不同类型运算时,系统会转为更大容量类型。强制转换可能引起精度损失或溢出。运算符包括算术(如+可做加法或字符串拼接)、比较、逻辑和赋值运算符。比较运算符如`==`、`&lt;`等产生`boolean`结果,逻辑运算符`&&`、`||`具有短路效应。赋值运算符如`+=`简化了赋值过程。运算符的优先级也进行了简要说明。