1、运算符概述
1、什么是表达式:表达式由运算符和操作数组成。
2、算数运算符,赋值运算符,关系运算符,逻辑运算符,条件运算符,位运算符。
2、赋值运算符
1、赋值云算法是从右往左运算!赋值运算符左边不能是常量!
3、算数运算符
1、复合赋值运算符,+=,-=,*=,/=,%=。
2、自增自减运算符:--,++。
num2=++num1;先执行num1=num1+1,再执行num2=num1.
num2=num1++;先执行num2=num1,再执行num1=num1+1.
4、关系运算符
1、>、<、>=、<=、==、!=、比较结果返回true或者false。
2、字符比较大小是用来比较ASCII码的值。
5、逻辑运算符
1、包括三种:与(&&或&)、或(||或|)、非(!)。
2、逻辑运算的操作数必须都是bool类型的。
5.1、逻辑与(&、&&)
1、&和&&是有区别的,&是左右两边都要进行判断,&&叫做短路运算符,在&&左边的表达式已经能决定结果的时候,右边的表达式就不执行了。这个很重要,假如你写c=(b<9)&((n++)>2)和c=(b<9)&&((n++)>2),在b=13的时候,n的结果是不一样的,对于&来说n会在原来的值上加1,而&&中由于b<9是false,所以后面的n++就不会执行了。
5.2、逻辑或(||、|)
1、||和|也是有区别的,||也是短路运算符,假如前面的表达式能决定结果,右边的表达式就不会执行和计算了。
5.3、逻辑非(!)
1、!是取反的意思。
6、条件运算符
1、java中的条件运算符是唯一的三目运算符:布尔表达式?表达式1:表达式2
7、闰年判断:
package com.imooc;
import java.util.Scanner;
public class FloatDemo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int year=sc.nextInt();
if((year%4==0)&(year%100!=0)|(year%400==0)) {
System.out.println(year+"是闰年");
}else {
System.out.println(year+"不是闰年");
}
}
}