1.运算符概述
表达式:由运算符和操作数组成;
5;num1;num1+num2;这三个都是表达式
1-1赋值运算符:从右往左运算
1-2自增自减运算符:++(自增1) --(自减1)
自增自减运算符操作实例:
package com.demo.day2;
public class MathDemo {
public static void main(String[] args) {
// x++
int x=4;
//x先进行加运算(x=x+5)(9),然后再自增1赋值给x(x=x+1)(5)
int y=(x++)+5;
System.out.println("x="+x+",y="+y);
//++x
x=4;
y=(++x)+5;//x先进行x的自增(x=5),然后再进行加法运算(y=x+5)(y=10)
System.out.println("x="+x+",y="+y);
//x--
x=4;
y=(x--)+5;//x进行加法运算(y=x+5)(y=9),然后x再自减(x=x-1)x=3
System.out.println("x="+x+",y="+y);
//--x
x=4;
y=(--x)+5;//x先进行自减运算x=3,然后x再进行加法运算(y=8)
System.out.println("x="+x+",y="+y);
}
}
输出结果:
x=5,y=9
x=5,y=10
x=3,y=9
x=3,y=8
字符串连接:
//字符串连接
System.out.println(""+x+y);
System.out.println("y="+x+"+"+y);
x=3,y=8
输出结果:
38
y=3+8
1-3关系运算符和逻辑运算符
关系运算符(==、!=、>=、<=、>、<)和逻辑运算符(& or&&、|| or |、!)的结果都是布尔类型(true or false)
逻辑运算符的操作数都是布尔类型的!
int n=3
例如:boolean b=(3<6)&((n++)<2) b=false n=4
例如:boolean b=(3<6)&&((n++)<2) b=false n=3
&与&&的区别:
& 不管前面的条件是否正确,后面都执行
&& 前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好。
&&”是逻辑运算中的“短路”,若"&&"前的条件为false时判断结果为false,不再执行"&&"后的语句块。"&&"前为true则继续进行进行后半部分的判断 。
|与||的区别:与&的一样;
2.如何从键盘输入语句
package com.demo.day2;
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+"是奇数");
}
}
}
请输入一个整数:
10
10是偶数
注:这个程序只能一次输入一个整数,不是整数会报错❌。
3.条件运算符
单目运算符:++ 只对一个操作数操作
双目运算符:+、-、*、/ 对两个操作数操作
三目运算符:java中的条件运算符是三目运算符,对三个操作进行操作
语法:布尔表达式?表达式1:表达式2
当布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值
package com.demo.day2;
public class ConditionDemo2 {
public static void main(String[] args) {
// 求两个数的最大值
int max,a=10,b=7;
//a>b成立,则返回表达式1的值
max=a>b?a:b;
System.out.println("max="+max);
//返回值也可以是布尔型
boolean b1=a<b?(3>6):(5>3);
System.out.println("b1="+b1);
}
}
输出结果:
max=10
b1=true
4.运算符的优先级
5.闰年案例
闰年判断规则:能被4整除但不能被100整除的年份,或者能被400整除的年份
package com.demo.day2;
import java.util.Scanner;
public class LeapYearDemo {
/**
* @param args
*/
public static void main(String[] args) {
// 闰年判断条件:能把4整除但不能被100整除,或者能把400整除
System.out.println("请输入你要判断的年份:");
Scanner s=new Scanner(System.in);
//定义year来获取键盘输入的整数值(年份)
int year=s.nextInt();
if((year%4==0)&(!(year%100==0))|(year%400==0)) {
System.out.println(year+"是闰年");
}
else {
System.out.println(year+"不是闰年");
}
}
}
请输入你要判断的年份:
2016
2016是闰年
请输入你要判断的年份:
2018
2018不是闰年