黑马程序员技术交流社区
标题: 《跟我学Java——基础篇03》 [打印本页]
作者: 小蜀哥哥 时间: 2018-3-1 16:11
标题: 《跟我学Java——基础篇03》
本帖最后由 小蜀哥哥 于 2018-3-1 16:43 编辑
《跟我学Java——基础篇03》
前言:
本篇内容继续讲解Java的基础语法,主要是介绍运算符部分的内容。
1. 运算符:
在数学里,我们也学过一些运算符,比如加减乘除等等,Java里也有运算符,有些和数学里的运算符类似,有些有自己的特点,接下来咱们就一起来学习Java中的运算符吧。
在Java中,将常量和变量连接起来做运算的符号就是运算符。我们根据它的分类来一一学习它们。
算术运算符:
i.常见的算数运算符有:+ - * / % ++ --
ii.先来看我们熟悉的加减乘除:
加减乘对应的符号分别是:+,-,*
其运算规则和数学里一样,这里不再赘述
除号对应的符号是:/
其运算规则和数学中的区别是:整数相除的结果一定会是整数
例如:
int num = 10 / 4;
System.out.println(num);//结果会是2,而不是2.5
%:取余(也叫做取模)
是一个取除法运算中余数的符号
例如:
int num1 = 10 % 4;
System.out.println(num1);
//10除以4,其余数会是2,所以nun1的结果就是2
int num2 = 3 / 2;
System.out.println(num2);
//3除以2,其余数会是1,所以nun2的结果就是1
int num3 = 3 / 3;
System.out.println(num3);
//3除以3,刚好整除,其余数会是0,所以nun3的结果就是0
++ --
++符号的作用就是使变量值+1
例如:
int num = 10;
num++; //效果等同于 num = num + 1;
System.out.println(num); // 结果是11
int num2 = 10;
++num2;
//++既可以放在变量前也可以放在变量后,单独使用的时候没有区别
System.out.println(num2); // 结果也是11
- -
类似于++,- -符号的作用是使变量值-1
例如:
int num = 10;
num--; //效果等同于 num = num - 1;
System.out.println(num); // 结果是9
++ 和- - 这两种运算还能和其他运算一起使用,这个时候符号放在变量前面和后面是有区别的
i. 我们以++为例说明:
++在前,先变量+1,再进行其他运算
++在后,先进行其他运算,再变量+1
例如:
int num = 10;
int a = num++; //先将num赋值给a,再变量num+1
int b = ++num; //先变量num+1,再将num赋值给b
System.out.println(a); // 结果是10
System.out.println(b); // 结果是12
赋值运算符:
=号,就是赋值运算符
例如:
int num; //定义了一个int类型的变量num
num = 10; //将10赋值给num ,= 号就是赋值号
还有一些扩展的赋值运算符:
+= -= *= /= ………
例如:
int num = 10;
num += 20; //其结果相当于 num = num + 20;
System.out.println(num); // 结果是30
int num2 = 10;
num *= 20; //其结果相当于 num = num * 20;
System.out.println(num); // 结果是200
比较运算符:(也叫关系运算符)
用于比较两个数值的关系,其结果会是布尔类型
常见的比较运算符:
<小于
<= 小于等于
> :大于
>= :大于等于
== :等于
!=:不等于
例如:
int num1 = 10;
int num2 = 20;
int num3 = 20;
boolean b1 = num1 > num2;//false
boolean b2 = num1 < num2; //true
boolean b3 = num2 >= num3; //true
boolean b4 = num1 >= num2; //false
boolean b5 = num1 != num2; //true
boolean b6 = num2 == num3; //true
逻辑运算符:
用于连接结果为布尔类型的表达式
有时候我们需要表示一个数的范围,一个比较表达式不足以描述
例如:想描述a的大小在0到10之间:
i. java中不允许这样写:0<= a <= 10
ii. 应该写成:a >= 0 并且 a <= 10
上例中的”并且”就可以用我们的逻辑运算符来做到
常见的逻辑运算符:
&:与符号,有false则false
例如:
System.out.println(false & true); // 结果是false
System.out.println(true & false); // 结果是false
System.out.println(true & true); // 结果是true
System.out.println(false& false); // 结果是false
|:或符号,有true则true
System.out.println(false | true); // 结果是false
System.out.println(true | false); // 结果是false
System.out.println(true | true); // 结果是true
System.out.println(false| false); // 结果是false
!:非符号,取反
boolean b = true;
System.out.println(!b); // 结果是false
System.out.println(!!b); // 结果是true
^:异或符号,相同则false,不同则true
System.out.println(false ^ true); // 结果是true
System.out.println(true ^ false); // 结果是true
System.out.println(true ^ true); // 结果是false
System.out.println(false^ false); // 结果是false
&&:短路与
i.其运算结果与&相同
ii.区别:当左边的表达式结果为false,最终结果为false,右边不参与运算
||:短路或
i.其运算结果与|相同
ii.区别:当左边的表达式结果为true,最终结果为true,右边不参与运算
三元运算符:
格式:(关系表达式)?表达式1 : 表达式2
运算规则:首先运算关系表达式的结果,
如果是true,则三元运算符的结果是表达式1,
如果是false,则三元运算符的结果是表达式2
例如:
int a = 10;
int b = 20;
int num =( a>b )? 10 : 20;
//先算出a > b的结果是false,所以取表达式2作为结果,所以num的值为20
注意:
i.、三元运算符的表达式数据类型必须与接收的类型一致。
ii. 上例中,接收的变量num类型是int,所以可以接收数值20或者10。
作者: 钟佩桓 时间: 2018-3-1 16:45
顶!
作者: 盖碗茶 时间: 2018-3-1 16:46
成都校区的导师都是这么皮的么
作者: i19920412 时间: 2018-3-1 16:47
赞一个,可以的
作者: Java程序员_风雨 时间: 2018-3-1 17:37
这个太详细了,java基础有深入了一波
作者: Java程序员_风雨 时间: 2018-3-1 17:37
很深入,java基础有多明白了许多
作者: Java程序员_风雨 时间: 2018-3-1 17:39
这个java运算符讲得很详细很深入,谢谢分享 学到了
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |