diff --git "a/33 \351\227\253\347\273\247\345\221\250/20221203 switch if\345\265\214\345\245\227 .md" "b/33 \351\227\253\347\273\247\345\221\250/20221203 switch if\345\265\214\345\245\227 .md" new file mode 100644 index 0000000000000000000000000000000000000000..ab4078ee54758c5ca619a54234a2328a1bece3a6 --- /dev/null +++ "b/33 \351\227\253\347\273\247\345\221\250/20221203 switch if\345\265\214\345\245\227 .md" @@ -0,0 +1,115 @@ +# switch语句、if嵌套 + +笔记部分 + +```java +if的嵌套 + if(关系式){ + if(){ + System.out.prinln() + }else{ + System.out.prinln() + } +}else{ + if(){sout} + + //字符串不可以直接比大小。判断是否相等,要用equals 比如,要判断"a"是否等于“b” + //if(a.equals(b)) + //char a= sc.next().charAt(0)##固定格式##从字符串中截取第一个字符。因为计算机通常单位是计“0” “abc”——>"a" + switch 语句 + switch( ){ + case 1 : + sout + break; + case 2 + sout + break; + default: + sout + } + switch 的穿透 + 如果switch语句中后续的case中无break,就会执行到有break那里。如果都没有就会执行完整个switch语句 + + 小结: + if和switch的区别 + switch能做的if也能做,但if能做的switch不一定可以做到。if可以判断一个范围(区间的值),而switch只能判断特定的值。 + //根据成绩判断等级,60分以下不及格,以上及格,这是一个区间,是一个范围,只能用if,而不能用switch。 + //switch支持字符串的判断和char的判断。但switch不支持boolean类型变量。 +``` + +### 作业部分 + +### 1 + +```java +import java.util.Scanner; + +public class taxi { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in);//创建扫描器 + System.out.println("请输入你的车型");//打印提示用户输入 + String car = sc.next(); + System.out.println("请输入你的路程"); + double km = sc.nextDouble(); + double xl = 2.1 * (km - 3) + 3;//xl是夏利 + double fk = 2.4 * (km - 3) + 3;//fk是富康 + double stn = 2.7 * (km - 3) + 3;//sth是桑塔纳 + switch (car) { + case "夏利": + if (km <= 3) { + System.out.println("起步价3块钱"); + } else if (km > 3) { + System.out.println("价格: "+xl);//我的理解是收3元起步价,超出部分另外算。如4公里就是收3块钱, + } break; //还有1公里是另外的,再加上2.1*1=2.1元也就是说3+2.1=5。1元 + + + case "富康": + if (km <= 3) { + System.out.println("起步价3块钱"); + } else if (km > 3) { + System.out.println("价格: "+fk);} + break; + case "桑塔纳": + if (km <= 3) { + System.out.println("起步价3块钱"); + } else if (km > 3) { + System.out.println("价格: "+stn);} + break; + default: + System.out.println("非法输入,请检查你的车型是否正确"); + + + } + } + } +``` + +### 2 + +```java +kuzhan + import java.util.Scanner; + +public class year { + public static void main(String[] args) { + Scanner scanner=new Scanner(System.in);//创建扫描器 + System.out.println("请输入_____年"); + int year = scanner.nextInt(); + System.out.println("月"); + int moon = scanner.nextInt(); + System.out.println("日"); + int day = scanner.nextInt(); + int a=year%4; + String nian = "瑞年"; + switch (nian){ + case "瑞年": + case "平年": + }//下次补上 + + + + } +} + +``` + diff --git "a/33 \351\227\253\347\273\247\345\221\250/2022121 if\350\257\255\345\217\245\344\270\211\345\205\203.md" "b/33 \351\227\253\347\273\247\345\221\250/2022121 if\350\257\255\345\217\245\344\270\211\345\205\203.md" new file mode 100644 index 0000000000000000000000000000000000000000..ba5d02a118bb8fcfe85eee6e9d3527c0f9b7c7c5 --- /dev/null +++ "b/33 \351\227\253\347\273\247\345\221\250/2022121 if\350\257\255\345\217\245\344\270\211\345\205\203.md" @@ -0,0 +1,107 @@ +# 我的第三次作业 + +```Java +//1.隐式转换byte,short,char在参与运算时自动转化成int型 +强制转化int 变量名 = (int)+需要转化的变量的变量名 +``` + +### 运算符 + +```java +"/"除,程序里取结果的商 + "%"取余,做除法取结果的余数 + "+"1作为加法运算符 2.连接符,拼接数字,变量和字符串 + ++自增1,有其他运算符在前面时=++c(c=1)结果为2;=c++ + --自减1 +``` + + + +### 赋值运算符 + +```java += + +=》》》a+=b——>a=a+b + -= + *= + /= + %=——————————>a=a%b +``` + +### 关系运算符 + +```java +==判断前后是否相等ture|false + !=反等于,也就是不等于的意思,成立ture,不成立false + >~ ~ ~ ~ ~ ~ ~ + <~ ~ ~ + >=~ ~ ~ ~ ~ + <=~ ~ ~ ~ ~ + ps:运算符都是Boolean型,要么是ture要么是false +``` + +### 逻辑运算符 + +```java +&与——>and + |或or + ^异或——>结果不同真假 + !非 例i(!(i>j))——>!false输出ture +``` + +### 短路逻辑符 + +```java +&& + ||上一步可以判断出来就不执行下一步了 +``` + +三元运算符 + +```java +int c =a>b ? a : b;//判断a>b是否为真,如果为真取a,如果为假,取b值 +``` + +### 流程控制语句 + +```java +if(关系表达式){ + 语句体 +} +else if(关系表达式) { + 语句体 +} +else { + 语句体 +} +``` + + + +```java +import java.util.Scanner; + +public class Score { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in);//chuanjiansaomiaoqi + System.out.println("请输入中国得分"); + int China = sc.nextInt(); + System.out.println("输入日本得分"); + int Japan = sc.nextInt(); + int score = China - Japan; + if (China > 10 | Japan > 10) { + System.out.println("足球赛不可能出现这种得分吧"); + } else if (score > 0) { + System.out.println("中国战胜日本 " + score + " 球。奖励一辆车"); + } else if (score == 0) { + System.out.println("平局,下次踢不赢不让吃海参"); + } else if (score < 0) { + System.out.println("***,退钱,你对得起我们吗?"); + } + } +} + +``` + + +