Java基础语法(五)运算符的那些事

Java基础语法(五)运算符的那些事

前言

这里是一个菜鸟努力向大佬蜕变(也许可以成功)的过程中做的笔记,贵在坚持,加油

运算符

想必各位都对这个并不陌生,什么+ – * / 的,大家都在数学中见过,但是还是有些不一样的地方的,那么跟着我来认识一下我们在Java中经常会见到的以后的熟人吧

运算符的分类

运算符也有挺多类别,如常见的算术运算符,赋值运算符,逻辑运算符等,Java中有六种运算符:算术运算符,关系运算符,位运算符,赋值运算符,逻辑运算符,其他运算符

1. 算术运算符

顾名思义,是用来进行运算的,有+,-,*,/,++,–,%
+ 的作用是进行加法运算,这个应该上过小学的人都知道,那么来看看Java中是如何使用的吧

public class Te0{
   
	public static void main(String[] args){
   
		System.out.println("1 + 1 = " +(1+1));
	}
}
//输出的结果是 : 1 + 1 = 2,2是运算结果,1+1=是字符串,不进行运算

– 的作用是进行减法运算,下面看代码演示

public class Te1{
   
	public static void main(String[] args){
   
		System.out.println("1 - 1 = " +(1-1));
	}
}
//输出的结果是 : 1 - 1 = 0,0是运算结果,1 - 1 = 是字符串,不进行运算

* 进行乘法运算,下面看代码演示

public class Te2{
   
	public static void main(String[] args){
   
		System.out.println("2 * 3 = " +(2*3));
	}
}
//输出的结果是 :2 * 3 = 6,6是运算结果,2 * 3 = 是字符串,不进行运算

/ 进行除法运算 5/4的结果默认是 1

public class Te3{
   
	public static void main(String[] args){
   
		System.out.println("5 / 4 = "+(5/4));
	}
}
//输出的结果是 :5 / 4 = 1,1是运算结果,5 / 4 = 是字符串,不进行运算

之所以5/4的结果是1,是因为,这些数字是默认为整型的运算结果自然也是整型
% 是取余运算符,意思就是,拿到余数

public class Te4{
   
	public static void main(String[] args){
   
		System.out.println("3 % 2 = "+(3%2));
	}
}
//输出的结果是 :3 % 2 = 1,1是运算结果,3 % 2 = 是字符串,不进行运算

++ 自增运算符,自己给自己加1 –(两个减号),自减运算符,单目运算符,只能适用于变量

public class Te5{
   
    public static void main(String[] args){
   
        int a = 1;  //想使用单目,必须有变量
        a++; //等效于a=a+1,但是输出的话,输出的是后面的a,而不是前面的
        System.out.println(a);
        //结果是2
        /* 可能还是很不理解,那么久来看看这个例子吧 现在你叫张三,我给你个代号是a a++就是,我对你说:张三,以后你叫李四,我先喊你的名字,然后告诉你,你名字被我改成李四了 ++a就是,我直接在你档案改了你的名字,所以我喊你,应该喊李四,而不是张三 a--,--a同理 */
    }
}

3.关系运算符

顾名思义,就是计算你们两个的关系的,关系运算符有:== 、!=、>、<、<=、>= 这里的都是英文符号,需要注意的是,关系运算符都是二目运算符,返回的都是布尔类型的数据true/false

  1. ==和数学中的=一样用法,比如,你看到别人这样写:1 = 2,你就下意识的知道,这是错的,同理,你在Java中写出1 == 2,计算机也是知道这是错的,他会告诉你:false
  2. != 不等于,和数学中的 ≠ \neq =是一样的,比如你看到1 ≠ \neq = 2,你会说,这是对的,同样的,你给电脑看1!=2,电脑也会告诉你,这是对的,true。
  3. 下面的大于小于,大于等于,小于等于,都和数学组的一样,想必上过小学的人,都不会理解不了吧——笑

4. 位运算符

位运算符主要针对的是二进制数据,并只适用于int ,short ,byte,long,char五种类型。
位运算符有,&、|、<<、>>、<<<、^、~

  1. & 如果相对应位都是1,则结果为1,否则为0
  2. | 如果相对应位都是 0,则结果为 0,否则为 1
  3. ^ 如果相对应位值相同,则结果为0,否则为1
  4. 〜 按位取反运算符翻转操作数的每一位,即0变成1,1变成0
  5. << 按位左移运算符。左操作数按位左移右操作数指定的位数
  6. >> 按位右移运算符。左操作数按位右移右操作数指定的位数
  7. >>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充
    这个计算是要有二进制来使用,我是没怎么用过。。所以理解的不够深入,尽请谅解

5. 逻辑运算符

既然有运算符,那么怎么能没有与或非呢,三种运算符:&&、 ||、 !

  1. &&,这个就是与,也就是和逻辑,两个都必须满足,举个例子:我有女朋友和你有女朋友,那么,皆大欢喜。只要我没有女朋友或者你没有女朋友,就不说皆大欢喜,如果我俩都有,那就是皆大欢喜
  2. ||,这个是或,通用上面的例子,不过这次是只要我们俩其中一个有女朋友就是皆大欢喜
  3. !,这个是非,通用上面的例子,这次是我们俩都没有女朋友,就皆大欢喜(?怎么哪里怪怪的)

6. 赋值运算符

估计很多人都疑惑,为什么==是数学中的=,那么Java中的=是什么意思的呢?当当当当,就是这个赋值运算符了。当然,赋值运算符也是挺多的,不止一个=:=、+=、-=、*=、/=、(%)、<<=、>>=、&=、|=、^=,这里需要注意的是,这些赋值运算符都是双目运算符

  1. = 定义变量的时候,就要用这个,看下面的代码
    int a = 1;
    这句话的意思就是,将1的值给a,类型是int。这句话被执行后,a会在内存中分配一块整型的内存,然后将1的值,放入其中,举个例子,你是张三,我是李四,我们有一个秘密行动,你的代号是_007,我的代号是_008,那么用代码写出来就是:
    String _007 = "张三";
    String _008 = "李四";
  2. += 加等,顾名思义,写个例子就明白了:
    int a = 1;
    a += 1;//这个的意思就是a = a+1
  3. 剩下的也是如此,就不一一赘述了。。。

结语

今天的学习就到这里了,再见哦,_007————拜拜

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100271.html原文链接:https://javaforall.net

(0)
上一篇 2021年4月21日 下午2:00
下一篇 2021年4月22日 上午8:00


相关推荐

  • OLED接口定义

    OLED接口定义总是忘记引脚定义,在这里记录下

    2022年5月22日
    43
  • 李飞飞学生新作:利用场景图生成图像

    李飞飞学生新作:利用场景图生成图像艾伯特 nbsp AI nbsp 科技评论按 近日 李飞飞的学生 JustinJohnso 在 arXiv 上传了一篇论文 ImageGenerat 从场景图生成图像 提出利用结构化场景图而不是非结构化文本生成图像 该方法能够明确解析对象和对象之间关系 并可生成具有多个可识别对象的复杂图像 论文摘要为了能真正理解视觉世界 模型不仅要能够识别图像 还要能够生成它们 近

    2026年3月18日
    2
  • 标志寄存器df_标志寄存器

    标志寄存器df_标志寄存器CPU 内部的寄存器中 有一种特殊的寄存器具有以下三种作用 用来存储相关指令的某些执行结果用来为 CPU 执行相关指令提供行为依据用来控制 CPU 的相关工作方式这种特殊的寄存器在 8086CPU 种 被称为标志寄存器 flag 8086CPU 的标志寄存器有 16 位 其中存储的信息通常被称为程序状态字 PSW 8086CPU 的 flag 寄存器的结构如下图 flag 的 1 3 5 12 13 14 15 位在 8086

    2026年3月26日
    2
  • 分布式系统可用性与一致性

    分布式系统可用性与一致性可用性(Availability)和一致性(Consistency)是分布式系统的基本问题,先有著名的CAP理论定义过分布式环境下二者不可兼得的关系,又有神秘的Paxos协议号称是史上最简单的分布式系统一致性算法并获得图灵奖,再有开源产品ZooKeeper实现的ZAB协议号称超越Paxos,它们之间究竟有什么联系?分布式系统的挑战        一致性可理解为所有节点都能访问到最

    2022年7月15日
    14
  • char类型转换成int_char 转int

    char类型转换成int_char 转int字符串“1121“转换成整型1121#include<stdio.h>#include<string.h>voidCharToInt(int*dest,char*src,longlen);intmain(void){unsignedchar*str=”1121″;intvalue,str_len…

    2026年4月16日
    7
  • 【OpenClaw保姆级图文教程】阿里云/本地部署、免费大模型配置、Skills接入与常见问题解答

    【OpenClaw保姆级图文教程】阿里云/本地部署、免费大模型配置、Skills接入与常见问题解答

    2026年3月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号