运算符:
算术运算:+, -, * ,/, %
关系运算符:== ,!=, >, <, >=, <=
位运算符:&,|,~ 逻辑运算符:&&,||,!
赋值运算符:=,+=,-+,*=,/=,%=
单目运算:++,--
多目运算:a>b?true:false
位移运算符:<<带符号左移 >>带符号右移 >>>无符号右移
算术运算符:
运算符 | 含义 | 范例 | 结果 |
+ | 加法运算符 | 5+3 | 8 |
- | 减法运算符 | 5-3 | 2 |
* | 乘法运算符 | 5*3 | 15 |
/ | 除法运算符 | 5/3 | 1 |
% | 取模(取余)运算符 | 5%3 | 2 |
运算符 | 含义 | 范例 | 结果 |
++ | 自增运算符 | i=2;j=i++; | i=3;j=2 |
-- | 自减运算符 | i=2;j=++i; | i=3;j=3 |
关系运算符:
运算符 含义 范例 结果
== | 等于 | 5==6 | false |
!= | 不等于 | 5!=6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
逻辑运算符
运算符 含义 运算规则
& | 逻辑与 | 两个操作数都是true,结果才true |
| | 逻辑或 | 两个操作数一个是true,结果为true |
^ | 逻辑异或 | 两个操作数相同(不同),结果为false(true) |
! | 逻辑反 | 操作数为true(false);结果为false(true) |
&& | 短路与 | 运算规则同&,但短路 |
|| | 短路或 | 运算规则同|,但短路 |
&和&&区别:
当&&的左边为false,则不会计算其右边的表达式,即左fa
lse则false
位运算符:
赋值运算符:
赋值运算符:=
复合赋值运算符+=, -=, *= , /=, %=
i=i+j可以替代为i+=j,推荐使用后者,具有更好的性能
条件运算符:多重if选择结构,switch选择结构
一、多重if选择结构:
if(条件1){
//代码块1
}
else if(条件2){
//代码块2
}
else{
//代码块3
}
多重if选择结构实例:
package com.jredu.ch02;
import java.util.Scanner;
public class Ch08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//if else 多重选择
System.out.println("请输入你的成绩");
Scanner sc= new Scanner(System.in);
int sc1=sc.nextInt();
if(sc1>=90){
System.out.println("A级");
}else if(sc1>=80){
System.out.println("B级");
}else if(sc1>=70){
System.out.println("C级");
}else if(sc1>=60){
System.out.println("D级");
}else {
System.out.println("E级");
}
}
}
二、switch选择结构
switch(表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
...
default://如果没有找到匹配值
语句;
}
switch选择结构实例:
package com.jredu.ch02;
import java.util.Scanner;
public class Ch11 {
public static void main(String[] args) {
System.out.println("请输入你的编号");
Scanner sc= new Scanner(System.in);
int code=sc.nextInt();
//switch当中的表达式是一个变量值
//case常量在1.5版本前只能是数字,字符;1.5版本之后只能是字符串
switch(code){
case 1:
System.out.println("绿茶,三块钱");
break;
case 2:
System.out.println("冰红茶,三块钱");
break;
case 3:
System.out.println("脉动,五块钱");
break;
case 4:
System.out.println("咖啡,五块钱");
break;
case 5:
System.out.println("酸奶,六块钱");
break;
//没有找到匹配的结果
default:
System.out.println("输入的编号有误");
break;
}
}
}
if与switch的联系与区别:
1.switch与if-else相比,由于使用了优化算法,绝大多数情况下switch会快一点,除非是if-else的第一个条件就为true.
2.等值分支使用switch.