在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
一般来讲,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自学教程课程大纲内容有什么?
零基础Java自学教程课程大纲内容有什么?零基础自学Java的教程分为四个阶段:Java零基础入门、从网页搭建入门、Java数据库开发、SSM到Spring Boot。Java的技术分支很多,要想全部掌握几乎不可能,但需要有从中精通1~2个部分。Java是通性的,Java的所有编程思路都是“面向对象”的编程。小编还整理了开发过程中涉及到的java开发工具
10682
2019-04-10 00:07:52
Activiti五大特点,你都知道吗?
Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。本文主要是以Activiti的特点角度去带大家认识什么是Activiti,给大家一个引导和认识。
13043
2019-07-23 10:18:40
Java8有什么变化?九大新特性
Java8有什么变化?本文将讲解Java8的九大新特性,它们分别是Java8Lambda 表达式、Java8方法引用、Java8函数式接口、Java8Nashorn JavaScript Java 8 默认方法、Java8Stream、Java8Optional 类、Java8日期时间API、Java8 Base64。
10473
2019-08-12 10:06:17
新手如何快速学习Java开发?Java学习经验分享
新手如何快速学习Java开发的经验分享。小编总结了学习Java开发的经验,首先要选择选择合适的工具;重实践,理论与实践结合;学习过程中善于总结;多交流学习虚心请教,并提高自己遇到困难解决问题的能力。
6800
2020-02-11 16:36:46
Java开发游戏抽奖算法有哪些?
Java开发游戏抽奖算法有哪些?抽奖算法根据需求而定,游戏抽奖算法在指定奖品的集合中,每个奖品根据对对应概率进行抽取。Java开发游戏抽奖算法主要有随机数一一对应、离散法Alias算法等
10425
2020-02-19 16:26:26
