四、JavaSE语言基础之运算符
什么是是运算符
运算符:用于数据运算的符号,运算是一种处理。(注:浮点型数据(float、double)进行运算会出现精度丢失的情况)
运算符大致可分为以下六种:
一、算术运算符:+、-、*、/、%、++、--
这里只针对于在java中有着特殊含义的算术运算符进行删除,乘、除等与日常生活中概念一致的运算符不再特殊说明
1、+(加号)
在Java中+具有三种含义:
①数学意义上的加法运算;
②正数;
③字符串拼接;
2、%(求余,取模)
n%m//运算结果为n除以m除不尽的部分,结果取值范围为[0,m);
//几行关于被除数与除数取正/负数,其结果正/负的代码
System.out.println("6.4%2.0="+(6.4%2.0));//0.4
System.out.println("-6.4%2.0="+(-6.4%2.0));// -0.4
System.out.println("6.4%(-2.0)="+(6.4%(-2.0)));//0.4
System.out.println("-6.4%(-2.0)="+(-6.4%(-2.0)));//-0.4
// 根据以上代码,我们可以得知:余数是被除数的一部分,余数的正负取决于被除数
3、++(自增)、--(自减):
关于自增与自减,需牢记以下两段话
++在前,先自增,后运算;
++在后,先运算,后自增;
int a=1;
a++;//等价于a=a+1;完全等价于a=(a的类型)(a+1)
byte b=1;
b++;//b++;完全等价于b=(b的类型)(b+1);
二、赋值运算符:=、+=、-=、/=、%=、*=...
int a=1,b=2;
a+=b;//等价于a=a+b;完全等价于(a的类型)(a+b);
byte c=1,d=2;
c+=d;//c+=d完全等价于:c=(c的类型)(c+d);
赋值运算符(=)成功赋值的四种情况:
1、直接赋值:左右类型一致
2、左边精度高于右边精度(自动类型转换情况1)
3、左边是byte/short/char右边是int常量值(自动类型转换情况2)
4、强制类型转换:低精度变量=(低精度变量的类型)高精度数据
三、比较运算符:>、>=、<、<=、==、!=
比较运算符的结果是boolean(true/false)类型的值
在java中有着特殊含义的比较运算符:
==(恒等号)判断两边的值是不是相等
!=(不等号)判断两边的值是不是不相等
四、逻辑运算符:&、&&、|、||、^、!
逻辑运算符操作boolean型数据,结果也是boolean类型的数据
&(单与)、&&(双与):两边只要有一个false结果就是false
|(单或)、||(双或):两边只要有一个true结果就是true
^(异或):两边不同则为true两边相同则为false
!(取反、非)
&&和&区别:
&&代表着逻辑运算符的双与,&代表着逻辑运算符的单与和位运算符的单与;
相同之处:作为逻辑运算符时:&&和&的结果一样(两边只要有一个false结果就是false)
不同之处:
1、&可作为位运算符(位运算符操作数字的二进制)
2、&&存在逻辑短路的现象,如A&&B当通过A就能知道结果时B就不再执行直接给出结果
五、位运算符:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)、无符号右移(>>>)
位运算符操作的是整数的二进制,0为false,1为true;
与(&)运算时相同位之间实质上就是两个boolean值的运算,其判别与逻辑运算中的与相同,只要有一位为0其结果即为0
或(|)运算与与运算相似,与逻辑运算中的或判别相同
异或(^)运算时,对应位数的值相同则为0,不同则为1
取反(~)运算,0、1互换
<<:左移几位就乘以几次2;
>>:右移几位就除以几次2;
>>>:右移零填充
六、三元运算符:boolean表达式?值1:值2
如果boolean表达式结果是true则取值1,反之取值2;
运算后结果的数据类型
运算后结果的类型遵从以下两个原则:
1、byte、short、char不能直接参加运算,编译器会自动将它们提升为int;(在前面加上若干个字节的0)
2、运算后的结果数据类型取决于参与运算的精度最高的数据类型;
四、JavaSE语言基础之运算符的更多相关文章
- C语言基础知识-运算符与表达式
C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...
- GO学习-(6) Go语言基础之运算符
Go语言基础之运算符 运算符用于在程序运行时执行数学或逻辑运算. 运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算数运算符 运算符 描述 + 相加 - ...
- C#-语言基础+数据类型+运算符
一.C#语言基础 新建项目:文件→新建→项目→Visual C#(默认.NET Framework 4.5)→控制台应用程序 1.项目结构 (1)项目后缀 .config ——配置文件(存放配置参数文 ...
- C语言基础学习运算符-赋值运算符
简单赋值 在C语言里,运算符=并不表示相等,而是一个赋值运算符.这意味着,符号=的左边该是一个可修改的变量名,而右边是赋给该变量的值. 如下程序语句: i = i+; 在数学上,该等式无法成立.而作为 ...
- [Python学习笔记1]Python语言基础 数学运算符 字符串 列表
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...
- Java 语言基础之运算符
使用运算符之后,肯定有返回结果. 六种运算符: 算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 三元运算符 1. 算术运算符 加(+), 减(-), 乘(*), 除(/), 取余(%), 自 ...
- C语言基础学习运算符-基本算术运算符
C语言中用于基本算术运算的运算符有:+,-,*,%,/.这些运算符的用法和你想像到的基本无异: 加法运算符 “+”使得它两侧的值被加到一起. 减法运算符“-”用它前面的数减去后面的数. 乘法由“*”表 ...
- C语言基础学习运算符-关系运算符
比较大小 首先,我们得先了解一下布尔类型.C语言的C99标准支持布尔类型,关键字为_Bool,用于表示逻辑值true与false.C语言用值1表示true, 用值0表示false.因此布尔类型实际上是 ...
- C#语言基础之运算符
运算符分类.优先级 运算符:一.数学运算符:+,-,*,/,++,-- 示例1: 示例2: 示例3: 1.递增运算符:++(1)前缀递增运算符 int x=4; x++;//输出结果,x的 ...
随机推荐
- mysql注入getshell
0x00 利用条件 root权限 secure_file_priv=为空或者在网站根目录下(网站根目录为d:\www,secure_file_priv=d:\也可以) 知道绝对路径 gpc关闭,这个应 ...
- kubernetes客户端client-go使用
下载地址: https://github.com/kubernetes/client-go 官方使用文档参考:https://v1-16.docs.kubernetes.io/docs/referen ...
- 网速测试利器-iperf3
网速测试利器-iperf3 使用工具 简介 iperf3是一个网络速度测试工具,支持IPv4与IPv6,支持TCP.UDP.SCTP传输协议,可在Windows.Mac OS X.Linux.Fr ...
- Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像
一.准备好Jdk和Tomcat apache-tomcat-8.5.50.tar.gz jdk-8u212-linux-x64.tar.gz 注意: Jdk 和 Tomcat 记得从官网下载,否则制作 ...
- exit()和_exit()的区别
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/HAHAandHEHE/article/de ...
- gpcj-07.为什么是连锁零售类公司
1.量化分析的真面目 本课的目的: ·理解零售类公司价值分析的逻辑·学会量化分析公司的思路和原理前言的前沿 和大部分投资者不同,我们的投资核心之一,就是从下而上的分析.宏观经济对我们公司分析影响极少. ...
- Linux C 进程
进程 UNIX编程手册第6 7章完结 24 25 26 27 28 未完待续,可能等到期末考试结束吧 目录 进程 基础知识 内存分布 命令行参数 环境列表 获得环境 修改环境 非本地跳转 内存分配 在 ...
- Log4j实战,依赖分析
背景 在项目中经常被log4j的各种依赖冲突搞的焦头烂额,久病成良医啊,在这里记录一下我对log4j的理解与分析 log4j 与 log4j2 log4j2是log4j的升级版,二者互不兼容,据说lo ...
- Step By Step(Lua-C API简介)
Step By Step(Lua-C API简介) Lua是一种嵌入式脚本语言,即Lua不是可以单独运行的程序,在实际应用中,主要存在两种应用形式.第一种形式是,C/C++作为主程序,调用Lua代码, ...
- openresty 学习笔记一:环境安装
openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...