一.运算符
1.算数运算符±*/
除法和求余操作
1.当参与/运算的两个操作数都是整数时,表示整数除法,15/2等于7
否则,浮点型除法,15.0/2等于7.5
2.整数的求余操作(取模)%,15%2等于1
注: 二元运算符简化书写格式
x+=4等价于x=x+4(通常,将运算符放下赋值号的左侧,如*=,%=)
2.自增运算符与自减运算符
1.当单独一个语句的时候二者没有区别,其计算效果均为操作数自加一
2.如果用在表达式中:
a++ 后缀方式 先取未自加的a值做计算,再自加
++a 前缀方式 先自加,再取自加后的a值做计算
3.关系运算符
==检测是否相等
!=检测是否不相等
&&与
||或
!非
注:
【1】与非按照“短路方式”求值
【2】Java支持三元操作?:(三目运算符)
表达式为 condition?expression1 : expression2
当条件condition为真时计算第一个表达式的值,否则计算第二个表达式
int a=x < y ? x : y ; // 返回x和y中较小的那个值
例1: 利用关系运算符解决根据成绩划分等级问题
Scanner scan = new Scanner(System.in);
System.out.println("请输入:");
int grade = scan.nextInt();
if(grade >= 85 && grade<=100){
System.out.println("A");
}
else if(grade < 85 && grade >= 70){
System.out.println("B");
}
else if(grade<70 && grade>=60){
System.out.println("C");
}
else{
System.out.println("D");
}
4.位运算符
Java位运算符主要包括:&、|、^、~、>>、<<、 >>>
1).按位“与” & (有0为0)
10&7 = 2 :
10 0000 1010
07 0000 0111
02 0000 0010
2).按位“或” | (有1为1)
10|7 = 15 :
10 0000 1010
07 0000 0111
02 0000 1111
3).按位“异或” ^ (相同为0,不同为1)
10^7 = 13 :
10 0000 1010
07 0000 0111
13 0000 1101
4).“非” ~ (按位取反)
5).右移 >>, 左移 <<
10>>1 = 5 右移一位(高位补符号位 )
10 0000 1010
05 0000 0101
10<<1 = 20 左移一位(低位补0)
10 0000 1010
20 0001 0100
注:>>>(右移)运算符将用0填充高位;>>运算符用符号位填充高位;没有<<<运算符。
5.运算符优先级
运算符优先级表
6.数字函数与特殊常量
在Math类中有很多数学函数,计算数的平方根,使用sqrt方法
double x=4;
double y=Math.sqrt(x);
System.out .println(y);//prints 2.0
Java中没有幂运算,需要用到Math类中的pow方法
double y=Math.pow(x,a);//pow方法有两个double的参数,其返回结果也为double类型
注:从JDK5.0开始,不必在数学方法和常量名前加“.Math”,只需要在源文件顶部加上Math类序列,import static java.lang.Math.*;