运算符
运算符包括算数运算符,比较运算符和逻辑运算符
算术运算符:+ - *(乘)/(除) %(取余数) ++(自增) --(自减)
a++:a这个数先运算在自增(++:不改变本身变量的数据类型)
a--:这个数先运算在自减
例:int a=3
int b=a++;//这时a=4,b=3;
int c=a--;//c=4,a=3;
比较运算符:== != > < >= <= instancef 结果都是Boolean类型
其中> < >= <=只能用于数值类的数据类型
逻辑运算符:& && | || ! ^(不同为true,相同为false)
& &&区别
左边一样且为真时,没事, 左边都为假时,&&会不执行右边的,同时||也有这个特性
boolean b2=false;
int num2=10;
if(b2&&(num2++>0)) {
System.out.println("1");
}else {
System.out.println("2");
}
System.out.println("num1="+num1+" "+"num2="+num2);//&&的短路特性
<<(左移) >>(右移)
在一定范围内,左移相当于*2 右移相当于/2
^不同取1,相同取0
三元运算符:(条件表达式)?表达式一:表达式二;
凡是使用三元运算符的都可以写完if else 可嵌套
//获取三个数的最大值
int n1=12;
int n2=30;
int n3=-12;
int max1=(n1>n2)?n1:n2;
max1=(max1>n3)?max1:n3;
System.out.println(max1);
int max2=(((n1>n2)?n1:n2)>n3)?((n1>n2)?n1:n2):n3;
System.out.println(max2);
分支结构
分支结构包括if-else和switch-case
if-else:
package day02;
public class IfTest {
//分支结构中的if-else 三种结构
public static void main(String[] args) {
// TODO 自动生成的方法存根
//1.if(条件表达式){
// 执行表达式
// }
int heartBeats=70;
if(heartBeats>100||heartBeats<60) {
System.out.println("需进一步检查");
}
//2.if(条件表达式){
// 执行表达式
// }else{
//执行表达式2
//}
int age=20;
if(age>=18) {
System.out.println("你已经是一个成年人了");
}else {
System.out.println("你还是一个小孩子");
}
//3.if(条件表达式){
// 执行表达式
// }else if(条件表达式){
//执行表达式2
//}
//...
//}
if(age<0) {
System.out.println("你输入的年龄错误");
}else if(age<18) {
System.out.println("你只能看一个小时动画片");
}else {
System.out.println("你可以随时看动画片 ");
}
}
}
switch-case:需要先导入import java.util.Scanner包,创建对象Scanner sc=new Scanner(System.in),最后实现方法sc.next();
switch的构造:
switch(表达式){
case 常量1:
执行语句;
//break
case 常量2:
执行语句;
//break
...
default:
}
注意:
根据switch表达式中的值,依次匹配各个case中的值,一但匹配成功,进入相应的case语句,case中若无break语句会发生击穿现象
switch中的表达式只能是下列6种:byte,short,char,int,枚举类型(JDK5.0新增),String类型(JDK7.0新增)
case后面只能声明常量
default 相当于if-else中的else,default是可选的
若switch-case结构中的多个case的执行语句相同,则可以考虑合并
凡是可以使用switch-case的结构,都可以转换为if-else,反之,不成立