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————拜拜

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ROC曲线的概念和意义[通俗易懂]

    ROC曲线的概念和意义[通俗易懂]ROC曲线受试者工作特征曲线(receiveroperatingcharacteristiccurve,简称ROC曲线),又称为感受性曲线(sensitivitycurve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应,只不过是在几种不同的判定标准下所得的结果而已。接受者操作特性曲线就是以假阳性概率(Falsepositiverate)为…

  • Java文件操作(超详细+代码示例)「建议收藏」

    Java文件操作(超详细+代码示例)「建议收藏」Java文件操作一、Java.io包1.1File类1.2Stream流1.2.1使用FileInputStream类1.2.2使用FileOutputStream类二、序列化我们日常使用电脑的时候,基本都会和文件打交道,比如我们做ppt,或者写论文的时候,我们打开的word,ppt等等都是一个文件,这些文件不一样的主要是因为后缀名不一样,所以计算机才可以分辨出来这些文件的区别。文件一…

  • webapp开发框架选择注意点[通俗易懂]

    webapp开发框架选择注意点[通俗易懂]webapp开发框架选择需要注意:第一步:开发支持的语言类型根据前端开发人员的能力,来选择webapp开发框架。例如:前端人员只会写react就要求webapp开发框架支持react。第二步:查看webapp开发框架文档是否齐全例如:功能性API的详细使用文档和示例等插件功能示例代码第三步:确认webapp开发框架能否满足项目需求确认APP的功能是否都能满足,开发难易程度开发的APP复杂度、功能是否能满足,交互比较多,业务逻辑比较复杂,找到对应功能点,提前确

  • mysql面试题目及答案_docker 面试题

    mysql面试题目及答案_docker 面试题1.事务的基本特征原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。一致性(consistency):数据库总数从一个一致性的状态转换到另一个一致性的状态。隔离性(isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的…

  • 2021年程序人生的随想总结

    时光不负追梦人,愿你我不负韶华,前程似锦~~

  • k8s 开源_openstack源码

    k8s 开源_openstack源码createfunc main() { #随机数 rand.Seed(time.Now().UnixNano()) #创建一个新的命令行对象 command := cmd.NewDefaultKubectlCommand() #日志 logs.InitLogs() defer logs.FlushLogs() #真正执行的命令行 if err := command.Execute(); err != nil { os.Exit(1) }}# NewDefaultKubectl

发表回复

您的电子邮箱地址不会被公开。

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