本帖最后由 小蜀哥哥 于 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。
|