diff --git "a/22 \350\202\226\351\222\237\345\207\257\351\237\251/20221201 \350\277\220\347\256\227\347\254\246 \344\270\211\345\205\203\350\277\220\347\256\227 \351\200\273\350\276\221\350\277\220\347\256\227 if\350\257\255\345\217\245.md" "b/22 \350\202\226\351\222\237\345\207\257\351\237\251/20221201 \350\277\220\347\256\227\347\254\246 \344\270\211\345\205\203\350\277\220\347\256\227 \351\200\273\350\276\221\350\277\220\347\256\227 if\350\257\255\345\217\245.md" new file mode 100644 index 0000000000000000000000000000000000000000..4a1d4e40fef6c389faeccfe81018a9e7598523e7 --- /dev/null +++ "b/22 \350\202\226\351\222\237\345\207\257\351\237\251/20221201 \350\277\220\347\256\227\347\254\246 \344\270\211\345\205\203\350\277\220\347\256\227 \351\200\273\350\276\221\350\277\220\347\256\227 if\350\257\255\345\217\245.md" @@ -0,0 +1,211 @@ +## 笔记 + +#### 运算符 + +自增 自减 + +~~~java +a++ a-- + 自增自减可以放在前面,也可以放在后面 + 当单独使用时,也就是除了++,没有其他运算符的时候,在前在后都可以,当有其他运算符在++所在的表达式的时候,有区别,谁在前就是谁先用 +~~~ + +1、赋值运算符 + +~~~java + = 赋值 + += 将a+b的值给a a+=b + -= 将a-b的值给a a-=b + *= 将a*b的值给a a*=b + /= 将a/b的值给a a/=b + %= 将a%b的值给a a%=b +~~~ + +2、关系运算符 + +~~~java + == 等于 + > 大于 + >= 大于等于 + < 小于 + <= 小于等于 + !== 不等于 + 结果一定是boolean类型,所以也可以将运算结果赋值给变量 +~~~ + +3、逻辑运算符&短路逻辑运算符 + +~~~Java +与(并且) & 只要一个条件不成立,整个结果就不成立 +或(或者) | 只要一个条件成立,整个结果就成立 +非(不是) ! 结果和a的结果正好相反 +逻辑异或 ^ 不能有相等的关系^ a和b结果不同为true,相同为false +短路 && 前面结果为false,整个就是false,后面的式子就不执行了 + || 前面的式子为true,整个式子就为true,后面的式子就不执行了 +~~~ + +4、三元运算符 + +~~~java +int a = 10; +int b = 20; +int c = a > b ? a : b; // 判断 a>b 是否为真,如果为真取a的值,如果为假,取b的值 +先执行关系表达式 看结果 是不是执行 如果执行 就执行关系表达式1 否则执行表达式2 + 关系表达式 ?表达式1 : 表达式2 +~~~ + +#### 流程控制语句 + +分支结构之if语句 + +~~~java +格式1: +if (关系表达式) { + 语句体; +}else{ + +} + 如果 就……否则……一定会两者选一个执行 + if else 里的每个条件都是互相排斥的,意思是只要前面有一个条件成立了,后面的条件就不会执行了 + +~~~ + +## 作业 + +4.利用三元运算符求任意三个数中最大者 【三元】 + +~~~java +import java.util.Scanner; + +public class a { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入第一个数:"); + int a = sc.nextInt(); + System.out.println("请输入第二个数:"); + int b =sc.nextInt(); + System.out.println("请输入第三个数:"); + int c = sc.nextInt(); + int shu = a>b?a:b; + int shuzi = shu>c?shuzi:c; + System.out.println("最大的是:" + shuzi); + } +} + +~~~ + +若任意两数和是3的倍数或其中一个为3,则输出true,否者输出false 【断路或】 + +~~~java +import java.util.Scanner; + +public class a2 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入第一个数:"); + double a = sc.nextDouble(); + System.out.println("请输入第二个数:"); + double b = sc.nextDouble(); + double h = a+b; + if (h%3==0 || a==3 || b==3){ + System.out.println("true"); + }else { + System.out.println("false"); + } + } +} + +~~~ + +5.身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下: + +> 儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2 +> +> 女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2 +> +> 现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少?【使用变量的定义和算术运算符完成本题】 + +~~~java +public class a3 { + public static void main(String[] args) { + double f = 177; + double m = 165; + double e = (f+m)*1.08/2; + double n = (f*0.923+m)/2; + System.out.println("儿子的身高是:" + e); + System.out.println("女儿的身高是:" + n); + + + } +} + +~~~ + +6.红茶妹妹有21元钱,她攒了几天钱之后自己的钱比原来的两倍还多三块。绿茶妹妹有24元钱,她攒了几天钱之后自己的钱正好是原来的两倍。 + + 那么红茶和绿茶现在的钱一样多,请问对么?【使用赋值运算符和算术运算符计算各自的钱,使用比较运算符对比大小】 + +~~~java +public class a4 { + public static void main(String[] args) { + int hcmm = 21; + int lcmm = 24; + int hc = hcmm*2+3; + int lc = lcmm*2; + if (hc==lc){ + System.out.println("对的"); + }else { + System.out.println("错的"); + } + } +} + +~~~ + +7.小明想在食堂打包一份午饭,商家的优惠方式如下:鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。订单满30元8折优惠。鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。那么这个小伙要点这三样东西,最少要花多少钱?【使用算术运算符、赋值运算符和三元运算符联合完成本题】 + +~~~java +public class a5 { + public static void main(String[] args) { + int yxrs=24; + int yzhs=8; + int mf=3; + int rs=16; + int yh=rs+yzhs+mf; + double mj =( yxrs+yzhs+mf)*0.8; + double qb = (yxrs+yzhs)*0.8+3; + double a=yh < mj ?yh :mj; + double b = a3){ + System.out.println("继续努力吧,少吃点海参"); + } + } +} + +~~~ +