1运算符
1.1算数运算符
加减乘除取余(+- * / %)
变量++; 先执行当前的操作 ,然后自身在增加1
a++;
++变量;先自身加1,然后再执行其他的操作
++a;
变量--; 先执行当前的操作,然后执行自身减1
a--;
--变量; 先自身减1,然后再执行其他的操作
--a;
package com.qf.a_yunsuan;
public class Demo1 {
public static void main(String[] args) {
int num1 = 10;
System.out.println(num1++);
System.out.println(num1);
int num2 = 5;
System.out.println(++num2);
System.out.println(num2);
int num3 = 4;
System.out.println(num3--);
System.out.println(num3);
int num4 = 3;
int ret = num4++ * num4;
System.out.println(ret);
System.out.println(num4);
int num5 = 3;
int ret1 = num5 * num5++;
System.out.println(ret1);
int num6 = 2;
int ret2 = ++num6 * num6;
System.out.println(ret2);
int num7 = 2;
int ret3 = num7 * ++num7;
System.out.println(ret3);
}
}
1.2关系运算符
> (大于) <(小于) >=(大于等于) <= (小于等于) ==(是否等于) !=(是否不等于)
变量1 > 变量2 例如: a > b
常量1 > 常量2 例如: 2 > 3
他们结果 是布尔类型的数据 true or false
package com.qf.a_yunsuan;
public class Demo2 {
public static void main(String[] args) {
//将 3 > 4的结果赋值给 ret1 变量
boolean ret1 = 3 > 4;
System.out.println(ret1);//false
int a = 3;
int b = 4;
System.out.println(a < b);//true
System.out.println(a++ >= b);//false
System.out.println(a >= b);//true
int c = 8;
int d = 7;
System.out.println(--c <= d);//true
System.out.println(c++ == d);//true
System.out.println(1 != 1);//fasle
}
}
1.3逻辑运算符
与 &&
package com.qf.a_yunsuan;
public class Demo3 {
public static void main(String[] args) {
boolean ret = (4 > 1) && (7 < 8);
System.out.println(ret);
boolean ret1 = 1 < 3 && 2 > 4 && 7 > 1;
System.out.println(ret1);
int a = 20;
int b = 30;
int c = 10;
int d = 80;
boolean ret2 = (a > b) && (c > d);
System.out.println(ret2);
}
}
或||
package com.qf.a_yunsuan;
public class Demo4 {
public static void main(String[] args) {
boolean ret = 2 > 3 || 6 > 1;
System.out.println(ret);//true
boolean ret1 = 1 > 3 || 3 > 7 || 8 > 9 || 10 > 8;
System.out.println(ret1);
}
}
非!
package com.qf.a_yunsuan;
public class Demo5 {
public static void main(String[] args) {
boolean ret = !(3 > 4);
System.out.println(ret);
boolean ret1 = (3 > 2) && (4 > 5) || (5 > 3);
System.out.println(ret1);//true
boolean ret2 = !(((8 > 7) || (7 > 9)) && (8 < 4) || (6 > 7) && (6 > 7));
System.out.println(ret2);
}
}
1.4逻辑运算符的短路原则
逻辑与的短路原则:
表达式1 && 表达式2 &&...
如果表达式1 为false 的话,整体就为false了, 表达式2 和以后的表达式就不再执行了
为啥? 逻辑与 只要有一个为false,整体就为false了。表达式1位f已经为false了。已经决定了
整体的结果了。Jav为了执行的效率的问题,所以短路了
逻辑或的短路原则:
表达式1 || 表达式2 || ...
如果出现表达式为true的,整体就为true,从为true的表达式开始后面的表达式就不再执行了
package com.qf.a_yunsuan;
public class Demo6 {
public static void main(String[] args) {
int num1 = 10;
boolean ret = (3 < 1) && (++num1 > 8);
System.out.println(ret);//false
System.out.println(num1);//10
int a = 11;
boolean ret1 = (3 < 1 ) ||(a++ > 12) || (a++ >=11);
System.out.println(ret1);
System.out.println(a);
}
}
2分支
2.1if
package com.qf.a_yunsuan;
public class Demo7 {
public static void main(String[] args) {
if (false) {
System.out.println("嘻嘻 ");
}
System.out.println("呵呵");
}
}
2.2if-else
package com.qf.a_yunsuan;
public class Demo10 {
public static void main(String[] args) {
if (false) {
System.out.println("呵呵");
} else {
System.out.println("嘿嘿");
}
}
}
2.3if-else if
package com.qf.a_yunsuan;
public class Demo13 {
public static void main(String[] args) {
/**
* 学生成绩的等级问题:
* 90~100 打印优秀
* 80~89 打印良好
* 70~79 打印一般
* 60~69 打印及格
* 60分以下 叫家长
* 结果是多个分支 用if-esle if
*/
int score = 31;
if (score <= 100 && score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {//代码能够执行到 这一步
System.out.println("良好");
} else if ( score >= 70) {
System.out.println("一般");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("叫家长");
}
}
}
2.4switch
package com.qf.a_yunsuan;
public class Demo15 {
public static void main(String[] args) {
//使用switch-case 写
/**
* 按1 给妈妈打电话
* 按2 给爸爸打电话
* 按3 给奶奶打电话
* 按4给爷爷打电话
* 按其他键 个110
*/
int num = 1;
switch (num) {
case 1:
System.out.println("给妈妈打电话");
break;//终止 打断
case 2:
System.out.println("给爸爸打电话");
break;
case 3:
System.out.println("给奶奶打电话");
break;
case 4:
System.out.println("给爷爷打电话");
break;
default:
System.out.println("110");
break;
}