网站首页 > java教程 正文
第1章 Java中的运算符
1.1 运算符的分类
? 算术运算符: + 、 - 、 * 、 / 、 % 、 ++ 、 --
? 赋值运算符: = 、 (+= 、 -= 、 *= 、 /= 、 %=)
? 比较(关系)运算符: > 、 < 、 >= 、 <= 、 == 、 !=
? 逻辑运算符: ! 、 & 、 | 、 ^ 、 && 、 ||
? 位运算符(了解): & 、 | 、 ^ 、 ~ 、 >> 、 << 、 >>>
? 三目运算符(三元运算符): 表达式 ? true : false;
1.1.1 什么是运算符
对常量和变量进行算术运算的符号
1.2 算术运算符
1.2.1 常见的算术运算符
最常见的:+ 、 - 、 * 、 / 、 %
示例:
/ : 除得的结果,只会留商,不要余数
% : 除得的结果,只要余数,如果除数比被除数小,所得到的余数就是除数本身。
整数相除,提到的结果是整数,如果要获取到小数,需要把结果转换成浮点型。
1.2.1.1 ++ -- 运算符的作用
在Java中,++叫做自增,--叫做自减。
它们的应用,有两种情况:
1. 单独使用,没有区别,都是自增或者自减
2. 如果参与运算,此时的自增或者自减就有区别,先看示例:
a = 5;
b = 7;
a = 6 7 7 7
运算:++a + a++ + ++b - b++ = 6 + 7 + 8 - 9 = 12
b = 7 7 8 9
1.2.1.2 练习
1. 示例1
++ 和 --特性之2:
如果参与到运算中,看++ 和 --所在的位置。如果在数据前面,表示先自增,然后再把结果给对方。
如果++ 和--在数据的后面,表示先把原有的数据给对方,自己再进行++或者--
a = b++; a = 10 b = 11
c = --a; a = 9 c = 9
b = ++a; a = 10 b = 10
a = c--; a = 9 c = 8
a = 9,b = 10,c = 8
示例2:
x = 5 6 6
int y = (x++)+(++x)+(x*10);
y = 4 + 6 + 60 = 70
示例3:
d++; 是没有问题的。
d = d + 1; 出问题了。d是byte类型,在计算的时候,会提升为int,计算的结果还是int类型,把int给byte,肯定会挂掉。
d++; --> d = d + 1;
为什么自增或自减不会报错??
这是因为,++和—它的特性之3,自带数据类型强制转换的技能(简称强转)。
1.3 赋值运算符
常见的赋值运算符:=
什么是赋值??
把 = 号右边的数据,给左边的变量,这人过程,就叫做赋值。
特殊的赋值运算符:
+= 、 -= 、 *= 、 /= 、 %=
示例:
a += ++b; --》 a = a + ++b;
在运算的时候,byte同样会变成int类型,为什么不报错???
特殊的赋值运算符,同样也有自带【强转】的技能。
除此之外,特殊的赋值运算符,执行过程是,先把运算符左边的变量对应的值拿出来,现右边的数据进行运算,所到的结果,再赋值给左边的变量。
a += ++b; --》 a = a + ++b; --> a = 10 + (10 + 1) --> a = 21
1.4 关系运算符
又称:比较运算符,条件运算符
==,!=,>,>=,<,<=
注意事项:
* 无论你的操作是简单还是复杂,结果是boolean类型。(true,flase)
操作:就是数据与数据的比较
* "=="不能写成"="。
主要使用关系运算符来做一些逻辑上的判断
示例:
(b > c) --> 在运算中,是可以使用括号来对计算的代码进行归类、优先计算的功能。
使用括号把某部分运算做了一组。
"=="不能写成"="
因为=号它的作用是赋值,不是做比较。
示例2:
示例3:
比较运算符,使用哪一个,根据实际的开发需求来应用。
猜你喜欢
- 2024-09-27 「编程基础」零基础学习Java之运算符
- 2024-09-27 C语言中的“隐形”语法:三目运算符极致解析
- 2024-09-27 Java运算符之算术运算符和举例说明
- 2024-09-27 java运算符顺序(java中运算符的优先顺序)
- 2024-09-27 【学习笔记】分支结构的第三大板块:三目运算符
- 2024-09-27 【java】运算符基础 【java】运算符基础 #运算符
- 2024-09-27 java基本语法之运算符(java语言中的运算符有哪些)
- 2024-09-27 Spring SpEL三元运算符(sql三元运算符)
- 2024-09-27 Java中的运算符(java中的运算符是用来表示某种运算的符号)
- 2024-09-27 Java运算符和表达式(java运算符和表达式答案)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)