Java基础-----运算符

本文详细介绍了Java中的各种运算符,包括算术运算符如“+”、“/”、“%”、“++”、“--”,关系运算符,逻辑运算符,赋值运算符,三目运算符以及位运算符。通过实例代码解析了每个运算符的用法和特点,帮助读者深入理解Java运算符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

机遇从不光顾没有准备的头脑 ,弱者坐待良机,强者制造时机。——居里夫人
(觉得好的不要吝啬您的小手手,点个赞吧 ‘-----’ ‘----’)

一、运算符

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:

1.算术运算符

算术运算符有:+,-,*,/,%,++,–。这里我们主要讲解**“+” “/” “%” “++” “–”**

“+”

在Java中我们的“+”有三种用法:
(1)表示正数
(2)进行加法运算
(3)连接字符串(请看以下代码讲解,内有注释)

public class jiafa {
    public static void main(String[] args) {
        System.out.println(+5);//这里的加号表示正数的作用
        System.out.println(5 + 9);//表示简单的加法运算;
        System.out.println(5 + '6');//注意我们这里是单引号,而不是双引号,进行的底层计算
        System.out.println("5" + 9 + 90);
        System.out.println("5"+8+9+87+90);//我们可以看出只要在()中有“”那么+的作用就是拼接字符串的作用
        System.out.println("5" + 7 + 6 + "90");
        System.out.println("8" + 7 + "0");//当左右两边有“”的时候那么这个+表示拼接字符串的作用;
        int i=+5;
        System.out.println(i);
    }
}


"/"与“%”

除法“/”与取余“%”我们通过以下代码了解

import java.util.Scanner;

public class Testope01 {
    public static void main(String[] args) {
        //任意输入一个数,
        Scanner input=new Scanner(System.in);
        int num=input.nextInt();
        double num1=num/8;//此处为简单的除法运算
        int num2=num%3;//这里为将num整除后无法除尽的数,称为取余,(在下图进行更进一步讲解)
        System.out.println(num1);
        System.out.println(num2);
    }
}

在这里插入图片描述

取余
例题:输入任意一个四位数,输出它每个位置上的数字(“/”与“%”的用法)
例如:输入:4678 输出:4 6 7 8

import java.util.Scanner;

public class Shi {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("任意输入一个四位数:");
        int num= input.nextInt();
        int num1=num%10;
        int num2=num/10%10;
        int num3=num/100%10;
        int num4=num/1000;
        System.out.println("个位:"+num1);
        System.out.println("十位:"+num2);
        System.out.println("百位:"+num3);
        System.out.println("千位:"+num4);

    }
}

在这里插入图片描述

“++”(自加)与“–”(自减)

在此我们主要讲“++”,因为自加会了,那么自减也就会了。
我们所说的自加与自减都是加一或减一,这个是非常好理解的,然而在此我们主要判断“++a”与“a++”的区别

public class Zj {
    public static void main(String[] args) {
        int a=6;
        System.out.println(a++);//在此的“a++”会先输出然后在进行自加。(在这里我们的a已经进行自加了所以a=7)
        System.out.println(++a+9);//这里输出的值为17,在此的“++a”  a先进行了自加变成了8;
        /*
        在此我们基本大概知道了,++位于变量前就会先进行自加再进行运算,也确实是这样。
         */
        System.out.println(a+++8);//在此我们运用我们刚学到的,“++”在a的后面,所以我们会先进行运算就是8+8=16
        System.out.println(a);//通过输出a我们知道a确实是9,又再一次证明了以上结论。
    }
}

在这里插入图片描述

相同的自减和自加的规则也是一样的,可以参照自加。

2.关系运算符

关系运算符有:“<”(小于) “>”(大于) “>=” (大于等于) “<=” (小于等于) “==” (等等)“!=” (不等) 关系运算符的最终结果为:true false(我们通过以下代码简单了解一下)

public class Gx {
    public static void main(String[] args) {
        System.out.println(8>9);
        System.out.println(8<9);
        System.out.println(8<=9);
        System.out.println(8>=9);
        System.out.println(8==9);
        System.out.println(8!=9);
        System.out.println((8<9)==(9==8));
    }
}

在这里插入图片描述

3.逻辑运算符

逻辑运算符有:“&” (与) “&&” (短位与)“|” (或) “||”(短位或) “!”(非) “^”(异或)
逻辑运算符的作用:进行逻辑运算,连接两个boolean类型的表达式(下面我们通过代码来了解它们的用法)

public class Lj {
    public static void main(String[] args) {
        int a=8;
        System.out.println((8 > 9) & (7 == 8));
        System.out.println((8 > 9) & (7 < 8));
        System.out.println((8 < 9) & (7 < 8));
        System.out.println((8<9)&(8==9));
        System.out.println((8 > 9) && (7 == 8));
        System.out.println((8 > 9) && (7 < 8));
        System.out.println((8 < 9) && (7 < 8));
        System.out.println((8<9)&(8==9));
        /*
        我们通过最终结果知道,“&”与“&&”的结果是一样的,但它的区别是什么呢?
        首先我们看它的字面区别“&”  “&&”
        一个是“与”另一个是“短位与”,而短位与的真正含义是在识别第一个关系表达式为false时就不会再
        进行后面那个关系表达式的识别,就直接输出false,所以在第一个表达式为false的情况下,“&&”的
        效率会更高。(我们通过后面的代码对短位与运行规则的证明)
         */
        System.out.println((8<9)&&(++a==9));
        System.out.println((8>9)&&(++a==9));
        System.out.println(a);
        /*
        在此我们看到第一个输出的是true说明a先进行了自加为9;第二个为false,输出的a的值为9,这样就说
        明了“&&”判定(8>9)为false就直接跳过了后面那个表达式,证明成功。
         */
        System.out.println((8>9)|(7==8));
        System.out.println((8>9)|(7<8));
        System.out.println((8<9)|(7<8));
        System.out.println((8>9)||(7==8));
        System.out.println((8>9)||(7<8));
        System.out.println((8<9)||(7<8));
        /*
        与上面的短位与一样,“|”与“||”的规则为“有true”则为“true”其它则为“false”
        短位或就是如果前一个表达式为true,那么输出的就是“true”,若第一个不是true它就会
        紧接着判断第二个表达式,与短位或是一样的,就是判断规则不一样。
         */
        System.out.println((8 > 9) ^ (7 == 8));
        System.out.println((8 > 9) ^ (7 < 8));
        System.out.println((8 < 9) ^ (7 < 8));
        System.out.println((8<9)^(8==9));
        /*
        “^”异或的判断规则为若两边的判断结果一样,(同为false或true)那么就输出true,否则为false
         */
        System.out.println(!(8==9));
        /*
        "!"非,与表达上结果相反,假如表达式的结果为ture在加入“!”后就改变为false
         */
    }
}

在这里插入图片描述
最后两行代码输出“true”,截图有限。

4.赋值运算符

赋值运算符有:“=”(我们还是通过代码对其进行讲解)

public class Fz {
    public static void main(String[] args) {
        int i,j,x,y;
        i=9;//我们所说的赋值运算符就是将等号右边的数赋予给左边;
        j=i;
        /*
        赋予给它并不代表全部交给了它,也就是说这是赋予给你的,是你的,也是我的
        赋予者本身没有改变,被赋予者的值与其相同
         */
        x=j;
        y=x;
        System.out.println(j);
        System.out.println(x);
        System.out.println(y);
    }
}

在这里插入图片描述

经典例题,交换i与j的值。

import java.util.Scanner;

public class jiaohaun {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("i=");
        int i= input.nextInt();
        System.out.print("j=");
        int j= input.nextInt();
       //第一种方法
        int x;
        x=i;
        i=j;
        j=x;
        System.out.println(i);
        System.out.println(j);
        //第二种方法
        System.out.println("i="+j);
        System.out.println("j="+i);
    }
}

在这里插入图片描述

5.三目运算符

三目运算符有(又可称为条件运算符,三元运算符):“ ? : ”(同样请看以下代码)

public class Sm {
    public static void main(String[] args) {
        int i=(8<9)?8:9;
        System.out.println(i);
        System.out.println((8>9)?"1":"2");
        /*
        三目运算符的规律为:当?前面这个布尔类型的表达式为真时,输出  :前面的表达式 为假时输出 :后面的表达式
         */
    }
}

在这里插入图片描述

6.位运算符

位运算符有:“&” “|” “^” “~” “>>”(有符号右移) “<<”(左移) “>>>”(无符号右移)
我们可以看到这里的位运算符中有好几个于逻辑运算符的一样,但怎么区分它是位运算符还是逻辑运算符呢?
逻辑运算符左右两边连接的是布尔类型的表达式
位运算符左右两边连接的是具体的数字,以此来区分它是逻辑运算符还是位运算符。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

public class Wei {
    public static void main(String[] args) {
        int i=6<<2;
        System.out.println(i);
        int a=-6>>2;
        System.out.println(a);
        int j=6>>>2;
        System.out.println(j);
        int x=6&3;
        System.out.println(x);
        int y=6|3;
        System.out.println(y);
        int c=6^3;
        System.out.println(c);
        int b=~6;
        System.out.println(b);
    }
}

在这里插入图片描述

总结

知识像一张网,越实越牢,网住的鱼就越多。——墨西哥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值