表达式由运算符和操作数组成。
如:5;
num1;
num1 + num2;
sun = num1 + num2;
变量 = 表达式;
例:Int n = 3;
注意:赋值运算符是从右往左运算。
double d = 123.4;
double d1 = d;
赋值运算符左边不能是常量。
运算符 | 表达式 | 计算 | 结果(假设x=15) |
---|---|---|---|
+= | x+=5 | x=x+5 | 20 |
-= | x-=5 | x=x-5 | 10 |
*= | x*=5 | x=x*5 | 75 |
/= | x/=5 | x=x/5 | 3 |
%= | x%=5 | x=x&5 | 0 |
算术运算符主要用于进行基本的算术运算,如:加法、减法、乘法、除法。
算术运算符 | 名称 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 求余数 |
++ | 自增1 |
– | 自减1 |
System.out.println(13/5);//2
//分子分母都是整型时,结果为整除后的结果
System.out.println(13.0/5);//2.6
System.out.println(13.5%5);//3.5
求余数运算过程:
表达式 | 执行方式 | 结果(n=1) |
---|---|---|
m=++n; | n=n+1;m=n; | n=2;m=2 |
m=n++; | m=n;n=n+1; | n=2;m=1 |
m=- -n | n=n-1;m=n; | n=0;m=0 |
m=n- - | m=n;n=n-1; | n=0;m=1 |
//x++
int x = 4;
int y = (x++)+5;
System.out.println("x="+x+",y="+y);//x=5,y=9
//++x
int x = 4;
int y = (++x)+5;
System.out.println("x="+x+",y="+y);//x=5,y=10
//x--
int x = 4;
int y = (x--)+5;
System.out.println("x="+x+",y="+y);//x=3,y=9
//--x
int x = 4;
int y = (--x)+5;
System.out.println("x="+x+",y="+y);//x=3,y=8
比较运算符用于判断两个数据的大小。
运算符 | 名称 | 表达式 | 结果 |
---|---|---|---|
> | 大于 | 5>3 | true |
< | 小于 | 5<3 | false |
>= | 大于等于 | 5>=3 | true |
<= | 小于等于 | 5<=3 | false |
== | 等于 | 5==3 | false |
!= | 不等于 | 5!=3 | true |
(1)比较的结果是一个布尔值。
(2)运算符必须在英文输入法状态下输入。
(3)‘A’>'B’的结果为false,比较的是两个字符的ASCII值。
(4)true==false的结果为false,两个布尔值不相等。
(5)浮点数与整数比较,只要值相等就返回true。
float f = 5.0f;
long l = 5;
f == l;//结果为true
关系运算符主要用于条件和循环语句中的判断条件。
if(条件){
<语句块>
}
如if后只有一条语句,可省略{}。
if(条件){
<语句块>
}
else{
<语句块>
}
(1)调用util.Scanner
import java.Scanner;
(2)
Scanner s = new Scanner(System.in);
int n = s.nextInt();
名称 | 运算符 | 表达式 |
---|---|---|
与 | &&或& | op1&&op2 |
或 | ||或| | op1||op2 |
非 | ! | !op |
true | true | true |
---|---|---|
true | false | false |
false | true | false |
false | false | false |
int n = 3;
boolean b = (3>7) & ((n++)<2);
//b=false,n=4;
int n = 3;
boolean b = (3>7) && ((n++)<2);
//b=false,n=3;
true | true | true |
---|---|---|
true | false | true |
false | true | true |
false | false | false |
int n = 3;
boolean b = (3>7) | ((n++)<2);
//b=true,n=4;
int n = 3;
boolean b = (3>7) && ((n++)<2);
//b=true,n=3;
||,&&运算符又叫短路运算符,如果第一个表达式的值就能决定表达式最后的结果,就不再计算右边的表达式。
符号:!,对原条件进行取反。
Java中的条件运算符是三目运算符。
++,- -:单目运算符
+,-,*,/ :双目运算符
布尔表达式 ? 表达式1 : 表达式2;
当布尔表达式为true时,返回表达式1的值,否则返回表达式2的值。
int a = 10,b = 8;
int max = a>b ? a : b;
boolean b1 = a>b ? (3<6) : (true==false);
//b1为true
运算符 | 描述 |
---|---|
() | 圆括号 |
!,++,- - | 非,自增,自减 |
*,/,% | 乘法,除法,取余 |
+,- | 加法,减法 |
<,<=,>,>= | 小于,小于等于,大于,大于等于 |
==,!= | 等于,不等于 |
&& | 逻辑与 |
|| | 逻辑或 |
=,+=,*=,/=,%=,-= | 赋值运算符,复合赋值运算符 |
由上至下优先级依次降低
package com.myprogram.myprogram01;
import java.util.Scanner;
public class Myprogram {
public static void main(String[] args) {
System.out.println("请输入年份");
Scanner re = new Scanner(System.in);
int year = re.nextInt();
if((year%4==0) & (year%100!=0) | (year%400==0)) {
System.out.println(year + "是闰年!");
}else {
System.out.println(year + "不是闰年!");
}