一般来讲,Java程序的基本组成要素有两个,一个是表达式,另一个就是运算符。运算符作为Java基础语法的一个重要知识点,是学习的根基。本文为大家整理了十分全面的运算符学习笔记,学过这部分基础知识的同学,可以复习梳理一遍。没学过的同学可以结合博学谷Java就业班的试学视频一起学习,相信知识点的思路会更加清晰。
1、算术运算符
(1)运算符和表达式
运算符:对常量或者变量进行操作的符号。表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。
举例说明:
```java
int a = 10;
int b = 20;
int c = a + b;
```
+:是运算符,并且是算术运算符。
a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。
(2)算术运算符
+ 、 - 、 * 、 / 分别对应的是加减乘除,需要记住的是 % 的作用是取余,即获取的是两个数据做除法的余数。
注意:/和%的区别:两个数据做除法,/取结果的商,%取结果的余数。整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
~~~java
int a = 10;
int b = 3;
System.out.println(a / b); // 输出结果3
System.out.println(a % b); // 输出结果1
~~~
(3)字符的“+”操作
char类型参与算术运算,使用的是计算机底层对应的十进制数值。需要我们记住三个字符对应的数值:
'a' -- 97 a-z是连续的,所以'b'对应的数值是98,'c'是99,依次递加
'A' -- 65 A-Z是连续的,所以'B'对应的数值是66,'C'是67,依次递加
'0' -- 48 0-9是连续的,所以'1'对应的数值是49,'2'是50,依次递加
~~~java
// 可以通过使用字符与整数做算术运算,得出字符对应的数值是多少
char ch1 = 'a';
System.out.println(ch1 + 1); // 输出98,97 + 1 = 98
char ch2 = 'A';
System.out.println(ch2 + 1); // 输出66,65 + 1 = 66
char ch3 = '0';
System.out.println(ch3 + 1); // 输出49,48 + 1 = 49
~~~
算术表达式中包含不同的基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
提升规则:
byte类型,short类型和char类型将被提升到int类型,不管是否有其他类型参与运算。整个表达式的类型自动提升到与表达式中最高等级的操作数相同的类型。 等级顺序:byte,short,char --> int --> long --> float --> double
例如:
~~~java
byte b1 = 10;
byte b2 = 20;
// byte b3 = b1 + b2; // 该行报错,因为byte类型参与算术运算会自动提示为int,int赋值给byte可能损失精度
int i3 = b1 + b2; // 应该使用int接收
byte b3 = (byte) (b1 + b2); // 或者将结果强制转换为byte类型
-------------------------------
int num1 = 10;
double num2 = 20.0;
double num3 = num1 + num2; // 使用double接收,因为num1会自动提升为double类型
~~~
注意:正是由于上述原因,所以在程序开发中我们很少使用byte或者short类型定义整数。也很少会使用char类型定义字符,而使用字符串类型,更不会使用char类型做算术运算。
(4)字符串的“+”操作
当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。
~~~java
System.out.println("itheima"+ 666); // 输出:itheima666
~~~
在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。
~~~java
System.out.println(1 + 99 + "年黑马"); // 输出:100年黑马
System.out.println(1 + 2 + "itheima" + 3 + 4); // 输出:3itheima34
// 可以使用小括号改变运算的优先级
System.out.println(1 + 2 + "itheima" + (3 + 4)); // 输出:3itheima7
~~~
2、赋值运算符
赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。
注意:扩展的赋值运算符隐含了强制类型转换。
~~~java
short s = 10;
s = s + 10; // 此行代码报出,因为运算中s提升为int类型,运算结果int赋值给short可能损失精度
s += 10; // 此行代码没有问题,隐含了强制类型转换,相当于 s = (short) (s + 10);
~~~
3、自增自减运算符
注意事项:++和-- 既可以放在变量的后边,也可以放在变量的前边;单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的;参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--;参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。最常见的用法:单独使用。
以上就是Java基础语法之运算符笔记,大家都看懂了吗?觉得学习起来比较费劲的同学,可以上博学谷官网,试听关于运算符的免费视频课程。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础 字节流与字符流的区别是什么?
要把一片二进制数据数据逐一输出到某个设备中,或者从某个设 备中逐一读取一片二进制数据,不管输入输出设备是什么,我们 要用统一的方式来完成这些操作,用一种抽象的方式进行描述, 这个抽象描述方式起名为 IO 流,对应的抽象类为 OutputStream 和 InputStream ,不同的实现类就代表不同的输入和输出设备, 它们都是针对字节进行操作的。
6667
2019-06-03 11:19:03
面向对象是什么?有哪些特征?
提起Java,大家都知道它是一门典型的面向对象的编程语言。但是对于面向对象,可能还有许多人并不清楚。那么面向对象是什么?有哪些特征呢?本文就来带大家好好认识一下面向对象。面向对象是一种软件的开发方法,它的特征归纳起来就是三点,即封装、继承和多态。下面是关于面向对象的深入介绍:
2763
2019-10-31 10:10:10
Java基础语法之Switch语句讲解和练习
在Java中Switch语句是比较常用的语句,Switch语句一般用于一个表达式和多个值进行比较。因此,对于刚开始入门学习Java基础语法的朋友来讲,Switch语句是必须掌握的一个基础知识点。本文将讲解Switch语句的定义、格式和执行流程,为了进一步巩固大家对知识点的掌握,本文还为大家准备Switch语句的练习,下面一起来看看吧!
3511
2019-12-25 11:16:29
JavaWeb开发XML学习笔记整理
JavaWeb开发能力是Java程序员的必备基础能力,因此掌握它十分重要。今天本文要和大家分享的是JavaWeb开发中有关XML学习笔记的整理。主要内容包括了XML的概念、XML的语法、约束和解析。感兴趣的朋友就一起来看看吧!
3163
2020-04-03 00:40:49
如何选择Java培训机构?
在互联网时代飞速发展的时代,Java工程师在中国已经存在多年,这已经是个成熟的行业,企业对Java开发人才的需求量非常大,但是我国的Java开发人才依然稀缺。Java工程师无疑是互联网时代开发行业的中流砥柱,优厚的薪资待遇也吸引着很多人去学习,Java培训哪家好,如何选择一家靠谱的机构学习?
1888
2020-06-18 15:46:39
热门文章
- 大数据的薪资怎么样?想学大数据了?
- 吐血整理的大数据学习资源大全
- 数据分析行业到底有多卷
- 传智教育在线课程助力职场升级,看IT人才如何破局职业瓶颈
- 传智教育博学谷赋能在职人群,推出系列公开课及大咖1对1聊技术
- 大数据开发的前景和就业如何?该如何去学习它?
- 成为架构师,读书之外什么更重要?
- 如何从Java工程师成长为架构师?
- 比较实用的大数据分析模型有哪些?
- Java原子操作之CAS原子指令学习 查看更多
扫描二维码,了解更多信息
