运算符概述
表达式=操作数(+运算符);单个数字或变量也可以算作表达式。
例:
5
num1
num1+num2
sum=num1+num2
运算符分类
算术运算符 赋值运算符 关系运算符 逻辑运算符 条件运算符 位运算符
赋值运算符
1.格式:变量=表达式;例:
int n = 3; //将3赋值给变量n
注意:赋值运算符是从右往左运算!
double d = 123.4; double d1 = d;
注意:赋值运算符的左边不能为常量
复合运算符
“+=、-=、*=、/=、%=”
算术运算符
+、-、*、/、%、++、–
自增自减
在前头++or--是先自减/增在赋值
在后头++or--先赋值在自减/加
关系运算符
<
==(一个=表示赋值,==表示判断两个数是否相等)
<=(小于或等于)
=(大于或等于)
!=(不等于)
比较的结果是布尔值 true or false
例:
'A'>'B'
//结果为false,比较的是两个字符的ASCII值
float f=5.0f,long l=5;f==l;
//结果为true,浮点数和整数进行比较,只要值相等就返回true
if条件结构
如果if条件后面只有一条语句的话{} 可以省略 否则是不能省略的
例:
package imoocProj;
import java.util.Scanner;
public class ConditionDemo {
public static void main(String[] args) {
// 判断一个整数是奇数还是偶数,并将结果打印输出
//定义一个变量存放数据
//从键盘接收数据
System.out.println("请输入一个整数:");
Scanner s=new Scanner(System.in);
int n=s.nextInt();
if(n%2==0) {
System.out.println(n+"是偶数");
}else {
System.out.println(n+"是奇数");
}
}
}
逻辑运算符
&:表达式均要计算;&&:短路运算符,若第一个表达式为false,则后面均不计算。
逻辑或
a|b ;【都要运算】a,b只要一个为真,都为ture,都要运算;如果a,b都为假,结果为false---------------------------
a||b;如果a为真,b不运算,如果a为假,b就运算,从左往右运行,结果都为true,a,b两个都错,为false,也b要运算
逻辑“非”运算符
对原条件进行取反。
例:
!(3<5);//结果为false
-----练习题----
package imoocProj;
import java.util.Scanner;
public class LogicDemo {
public static void main(String[] args) {
// 判断一个整数能否被3整除
System.out.println("请输入一个整数:");
Scanner s=new Scanner(System.in);
int n=s.nextInt();
if(!(n%3==0))
System.out.println(n+"不能被3整除");
else
System.out.println(n+"能被3整除");
}
}
条件运算符
单目运算符:只对一个运算符操作;(++)
双目运算符:对两个运算符操作(+,-,)
三目运算符:对三个运算符操作(?)
语法:
布尔表达式?表达式1:表达式2
当布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值
表达式可以是单个值或者一个语句等
例:
package imoocProj;
public class ConditionDemo1 {
public static void main(String[] args) {
// 求a,b中的最大值
int a=4,b=7;
int max;
max=a>b? a:b;
System.out.println(max);
boolean b1=a>b?(3<6):(true==false);
System.out.println("b1="+b1);
}
}
闰年问题案例
package imoocProj;
import java.util.Scanner;
public class LeapYearDemo {
public static void main(String[] args) {
// 用if-else语句判断输入的年份是否为闰年
//闰年判断规则:能被4整除但不能被100整除的年份,或者能被400整除的年份
System.out.print("请输入一个年份:");
Scanner in=new Scanner(System.in);
int year=in.nextInt();
if((year%4==0)&(year%100!=0)|(year%400==0)) {
System.out.println(year+"是闰年");
}else {
System.out.println(year+"不是闰年");
}
}
}