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)


相关推荐

  • Debian 6 字体显示效果调整

    Debian 6 字体显示效果调整在给cairo打了补丁之后,我发现debian的字体显示效果还是跟ubuntu有差别,于是我把ubuntu下/etc/fonts的所有文件都打包放在了debian的/etc/fonts下,这里面ubuntu对字体的渲染做了优化,我直接拿过来用了,:)。可是效果还是不一样,最后发现了问题所在。打开“Appearance”设置对话框,选中“Fonts”标签,点击”Details”,Hintin

  • mybatis和mybatisPlus中解决实体类字段与数据库关键字冲突问题

    mybatis和mybatisPlus中解决实体类字段与数据库关键字冲突问题

  • dnspod url转发_url解析

    dnspod url转发_url解析一些比较常用的域名软件有又url转发的功能,类似于花生壳,nat123,dnspod等都有转发url的功能没大会具体是怎么转发的方式是怎么样的呢?经过网上资料查找,查看了一些书籍,大概有了一些了解        首先了解一下,URL转发包括显性转发和隐性转发。显性转发:访问域名后,转跳到新的自定义URL地址,浏览器http地址是变化的。隐性转发:访问域名后,浏览器HTTP地址是不变的,但

    2022年10月19日
  • Qt QFile按行读写数据

    Qt QFile按行读写数据1.包含的头文件#include<QDebug>#include<QFile>2.读数据QFilefile(“inputFile.txt”);if(file.open(QIODevice::ReadOnly|QIODevice::Text)){while(!file.atEnd()){QByt…

  • Java最新JDK和API下载(持续同步更新于官网)

    Java最新JDK和API下载(持续同步更新于官网)Java最新JDK和API下载(持续同步更新于官网)提供涵盖所有主流操作系统(包括Windows、Linux、MacOS等)的Java最新稳定版JDK和对应API的下载以下所有JavaJDK的安装包、压缩包(免安装版)以及对应的API,均直接来自官网,没有添加其它任何额外内容;旨在便捷地获取最新版的JavaJDK(避免因地域原因被限制访问,因网络原因无法稳定有效下载等情况)更新时间:2021年3月17日…

发表回复

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

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