1.表达式
表达式由运算符和操作数组成
例如: 5
num1
num1+num2
sum=num1+num2
2.运算符分类
算术运算符
赋值运算符
关系运算符
逻辑运算符
条件运算符
位运算符
3.赋值运算符
格式:变量=表达式
例如:int n=3;//将3赋值给变量n
注意:赋值运算符是从右往左运算!赋值运算符的左边不能是常量!
复合赋值运算符
4.自增自减运算符
单目就是这个运算符只对一个变量进行操作
代表符号:!(逻辑非) ~(按位取反)++(自增)–(自减)
双目就是这个运算符对两个变量进行操作
代表符号:int a=1,b=2,c;c=a+b;(第二句“c=a+b”则是对a,b两个变量进行了操作)
三目就是这个运算符对三个变量进行操作
代表符号: ?:(条件运算符)
代码:
package com.imooc;
public class MathDemo1 {
public static void main(String[] args){
//x++
int x=4;
int y=(x++)+5;
System.out.println("x="+x+",y="+y);
//++x
x=4;
y=(++x)+5;
System.out.println("x="+x+",y="+y);
//x--
x=4;
y=(x--)+5;
System.out.println("x="+x+",y="+y);
//--x
x=4;
y=(--x)+5;
System.out.println("x="+x+",y="+y);
}
}
5.算数运算符
代码:
package com.imooc.operator;
public class MathDemo {
public static void main(String[] args){
int num1=10,num2=5;
int result;//存放结果
//加法
result=num1+num2;
System.out.println(num1+"+"+num2+"="+result);
//字符串连接
System.out.println(""+num1+num2);
//减法
result=num1-num2;
System.out.println(num1+"-"+num2+"="+result);
//乘法
result=num1*num2;
System.out.println(num1+"*"+num2+"="+result);
//除法
result=num1/num2;
System.out.println(num1+"/"+num2+"="+result);
//分子分母都是整型时,结果为整除后的结果
System.out.println(13/5);
System.out.println(13.0/5);
//先算数运算,再字符串连接运算
System.out.println("13.0/5"+13.0/5);
//求余数
result=13%num2;
System.out.println("13%"+num2+"="+result);
System.out.println("13.5%5="+13.5%5);
}
}
6.关系运算符
比较运算符用于判断两个数据的大小,如大于
比较的结果是一个布尔值
代码:
package com.imooc.operator;
public class RelateDemo {
public static void main(String[] args){
int a=3,b=5;
System.out.println("a<b="+(a<b));
System.out.println("a>b="+(a>b));
}
}
7.If条件结构
简单if条件语句的格式:
If(条件){
<语句块>
}
代码:
package com.imooc.operator;
public class ConditionDemo1 {
public static void main(String[] args){
//例:商场打折,如果两件商品的价格大于100则减20,并把原件和折后价格分别输出
//定义两个变量,存放两件衣服的价格
double price1,price2;
price1=80;
price2=55;
double sum=price1+price2;
//输出原价
System.out.println("原价为:"+sum);
if(sum>100){
sum-=20;//sum=sum-20;
}
System.out.println("折后价格为:"+sum);
//或者
int a=20,b=50;
int result1=a+b;
int result2 = 0;
if(result1>100){
result2=result1-20;
System.out.println("原价为:"+result1);
System.out.println("折后价格为:"+result2);
};
if(result1<=100){
System.out.println("未满足打折要求,价格为:"+result1);
};
}
}
8.If-else语句
If(true){
<语句块>
}
else
{
<语句块>
}
代码:
package com.imooc.operator;
import java.util.Scanner;
public class ConditionDemo2 {
public static void main(String[] args){
//例:判断一个整数是奇数还是偶数,并将结果打印输出
//定义一个变量存放数据
//int n=11;
//从键盘接受数据
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+"是奇数!");
}
}
}
9.逻辑运算符
短路运算符:短路运算符一般有:&&、||,其原理是:当有多个表达式时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值
代码:
package com.imooc.operator;
import java.util.Scanner;
public class ConditionDemo3 {
public static void main(String[] args){
//例:输入一个整数,判断是否能被3整除,并输出相应提示信息
System.out.println("请输入一个整数:");
Scanner a=new Scanner(System.in);
int b=a.nextInt();
if(!(b%3==0)){
System.out.println(b+"不能被3整除!");
}
else{
System.out.println(b+"能被3整除!");
}
}
}
10.条件运算符
Java中的条件运算符是三目运算符,当布尔表达式值为true,则返回表达式1的值,否则返回表达式2的值
语法:布尔表达式?表达式1:表达式2
代码:
package com.imooc.operator;
public class ConditionDemo {
public static void main(String[] args){
int a=4,b=7;
//求a和b的最大值
int max;
if(a>b){
max=a;
}else{
max=b;
}
System.out.println("max="+max);
max=a>b?a:b;
System.out.println("max="+max);
boolean b1=a>b?(3<6):(false==false);
System.out.println("b1="+b1);
}
}
11.运算符的优先级
12.闰年例子
代码:
package com.imooc.operator;
import java.util.Scanner;
public class LeapYearDemo {
public static void main(String[] args){
//用if-else语句判断输入的年份是否是闰年,闰年:能被4整除但不能被100整除的年份,或者能被400整除的年份
System.out.println("Please enter a proper year:");
Scanner s=new Scanner(System.in);
int year=s.nextInt();
if(((year%4==0)&(year%100!=0))|(year%400==0)){
System.out.println(year+" is leapyear");
}
else{
System.out.println(year+" is not leapyear");
}
}
}