Java入门--运算符和表达式
Java入门
1、算术运算符
实现对两个数的运算,程序输出效果为:
请输入第一个整数:
25
请输入第二个整数:
8
两数相加的结果为:33
两数相减的结果为:17
两数相乘的结果为:200
两数相除的结果为:3
两数取余数的结果为:1
以下是Java代码:
public class Calculate{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int a = sc.nextInt();
System.out.println("请输入第二个整数:");
int b = sc.nextInt();
System.out.println("两数相加的结果为:" + (a + b));
System.out.println("两数相减的结果为:" + (a - b));
System.out.println("两数相乘的结果为:" + (a * b));
System.out.println("两数相除的结果为:" + (a / b));
System.out.println("两数取余数的结果为:" + (a % b));
}
}
Java中常用的算术运算符:
| 算术运算符 | 名称 | 举例 |
|---|---|---|
| + | 加法 | 5+12=17 |
| - | 减法 | 25-10=15 |
| * | 乘法 | 3*8=24 |
| / | 除法 | 24/6=4 |
| % | 求余 | 24%7=3 |
| ++ | 自增1 | int i=5;i++;++i; |
| -- | 自减1 | int i=5;i--;--i; |
++i 和 i++ 是不同的,例如:
int i = 1;
int j = ++i;
int k = i++;
System.out.println("j:"+j);
System.out.println("k:"+k);
输出的结果是:
j:2
k:2
++放在前面表示这个自增运算有更高的优先级,会先运算i自增1变为2,再将值交给j,而++放在后面,该自增运算处于低优先级,i的值2交给k之后,再进行++变为3。
对于除法:
如果进行运算的两个数是整型,则运算结果是整型,就算会产生小数部分,小数部分也会被直接抹除(不会四舍五入,直接扔掉所有)。
如果进行运算的两个数是浮点型(float或者double),就能够产生正常的小数部分。
对于取模运算:
即求整除后剩余的值,七个苹果分给三个小朋友,不够分的留下,余数是多少?
\(7\div3=2\dots1\),所以取余数为1。
2、关系运算符
使用关系运算符实现判断两数的关系:
请输入一个数a:
20
请输入一个数b:
34
a==b=false
a!=b=true
a>b=false
a<b=true
b>=a=true
b<=a=false
以下是Java代码:
public class Calculate{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数a:");
int a = sc.nextInt();
System.out.println("请输入一个数b:");
int b = sc.nextInt();
System.out.println("a==b=" + (a==b));
System.out.println("a!=b=" + (a!=b));
System.out.println("a>b=" + (a>b));
System.out.println("a<b=" + (a<b));
System.out.println("a>=b=" + (a>=b));
System.out.println("a<=b=" + (a<=b));
}
}
常见的关系运算符,设A=10,B=20:
| 运算符 | 描述 | 例子 |
|---|---|---|
| == | 检查如果两个操作数的值是否相等,如果相等则返回真 | \(A==B\)为假 |
| != | 检查两个操作数的值是否相等,如果不相等则返回真 | \(A!=B\)为真 |
| > | 检查左操作数的值是否大于右操作数的值,如果是则返回真 | \(A>B\)为假 |
| < | 检查左操作数的值是否小于右操作数的值,如果是则返回真 | \(A<B\)为真 |
| >= | 检查左操作数的值是否大于或等于右操作数的值,如果是则返回真 | \(A\geq B\)为假 |
| <= | 检查左操作数的值是否小于或等于右操作数的值,如果是则返回真 | \(A\leq B\)为真 |
3、逻辑运算符
逻辑运算符用于测试两个操作数之间的逻辑关系,两个操作数必须是布尔类型
| 逻辑运算符 | 名称 | 举例 | 结果 |
|---|---|---|---|
| && | 与 | a&&b | 如果a和b都为true则返回true |
| || | 或 | a||b | 如果a和b有一个为true,则结果true,a和b都为false则返回false |
| ! | 非 | !a | 如果a为false,则返回true,即取反 |
| ^ | 异或 | a^b | 如果a和b有且只有一个为true,则返回true |
4、三元运算符
输入一个年份,判断是否为闰年。
Java代码:
public class judgeLeapYear{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
return (year % 400 == 0)||((year % 4 == 0) && (year % 100 != 0)) ? true : false;
}
}
三元运算符:
条件表达式 ? 条件为真返回的结果 : 条件为假返回的结果
例如上题,条件表达式为:(year % 400 == 0)||((year % 4 == 0) && (year % 100 != 0))
判断了:
1.年份能被400整除。
2.年份能被4整除,但不能被100整除。
将这两个条件用或运算符连接,如果结果为真则返回true,如果为假则返回false,这样就能判断某个年份是不是闰年了。
5、运算符的优先级
| 优先级 | 运算符 |
|---|---|
| 1 | () |
| 2 | ! +(正) -(负) ++ -- |
| 3 | * / % |
| 4 | +(加) -(减) |
| 5 | < <= > >= |
| 6 | == != |
| 7 | ^ |
| 8 | && |
| 9 | || |
| 10 | ? : |
| 11 | = += -= *= /= %= |

浙公网安备 33010602011771号