湖南Java
1. Java运算符
1.运算符
运算符速查表
2. 拓展补充
2.1总结1:算术运算符之自增自减运算符
a是操作数,++是自增运算符,- -是自减运算符,自增和自减运算符即可以放在变量的前面,也可以放在变量的后面,例如:a++、++a、a- -、- -a等。
自增(++):将变量的值加1
分前缀式(如++a)和后缀式(如a++)。前缀式是先加1再使用;后缀式是先使用再加1。
自减(- -):将变量的值减1
分前缀式(如- -a)和后缀式(如a- -)。前缀式是先减1再使用;后缀式是先使用再减1。
2.2总结2:逻辑运算符
逻辑运算符连接两个关系表达式或布尔变量,用于解决多个关系表达式的组合判断问题
注意逻辑运算符返回的运算结果为布尔类型
通常,我们用0表示false,用1表示true
与:表示并且的关系
&单与: 1 & 2 ,结果想要是true,要求1和2都必须是true
&&双与(短路与):1 && 2 ,当1是false时,2会被短路,提高程序的效率
或:表示或者的关系
|单或: 1 | 2,结果想要是true,要求1和2只要有一个为true就可以
||双或(短路或):1 || 2,当1是true时,2会被短路,提高程序效率
2.3总结3:优先级控制
当一个表达式包含多个运算符时,就需要考虑运算符的优先级,优先级高的运算符先参与运算,优先级低的运算符后参与运算。在实际的开发中,不需要特别去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号辅助进行优先级管理。
2.Java分支结构 switch结构 for循环
1.if循环
2.练习
2.1商品打折案例
package cn.tedu.basic;
import java.util.Scanner;
/**需求:接收用户输入的原价,满1000打9折,满2000打8折,满5000打5折*/
public class TestDiscount {
public static void main(String[] args) {
//1.提示用户输入原价
System.out.println("请输入商品原价:");
//2.接收用户输入的原价
double price = new Scanner(System.in).nextDouble();
//3.计算打折后的价格
//3.1定义变量用来保存打折后的价格
double count = price;//初始值是商品的原价
//3.2判断用户的打折段位并打折
if(price >= 5000) {//满5000
count = price *0.5;//打5折
}else if(price >= 2000) {//满2000
count = price * 0.8;//打折8折
}else if(price >= 1000) {//满1000
count = price *0.9;//打9折
}
// if(1000 <= price && price< 2000) {
// count = price *0.9;
// }else if(2000 <= price && price < 5000) {
// count = price * 0.8;
// }else if(price >= 5000) {
// count = price *0.5;
// }
//3.3输出用户实际支付的价格
System.out.println("您实际应该支付:"+count);
}
}
3.switch结构
4.练习
/本类用于练习switch结构/
/**总结:
- 1.变量a的类型byte short char int String
- 2.会拿着变量a的值依次与case后的值做比较,如果不加break,
-
会向后穿透所有case,包括default
- 3.如果设置了default“保底选项”,并且没有任何case匹配到的话,就执行default
- 4.break与default是可选项,根据具体业务来决定加不加
- */
public class TestSwitch {
//1.创建程序的入口函数main
public static void main(String[] args) {
//2.定义一个变量
int a = 19;
//3.完成switch结构的测试
switch(a) {
case 1 : System.out.println(1);break;
case 2 : System.out.println(2);break;
case 3 : System.out.println(3);break;
case 4 : System.out.println(4);break;
case 5 : System.out.println(5);break;
default : System.out.println(0);
}}}
5.for循环
6.练习
//需求:打印8,88,888,8888,
//8 88 888 8888
//从何开始:8
//到哪结束:8888
//如何变化:*10+8
for(int i =8 ; i <= 8888 ; i=i*10+8) {
System.out.print(i+",");//使用的是print(),打印后不换行
}