1 if
为什么会有选择结构?
生活中我们会遇到许多选择,比如:一个未知数跟0的大小关系,大于0、小于0、等于0。所以,选择结构很久之前就已经存在我们的生活中
在if选择结构中,最重要的是什么?
*判断条件是否全面。
2 if多分支
基本语法:
if(判断语句){
执行的内容
}else if(判断语句){
执行的内容
}else{
执行的内容
}
If也可以多嵌套,比如:
If(){
If(){
}
}else if(){
}else{
}
3 switch
开关。可以离开break,告诉我们哪个地方是程序的入口。
案例:输入一个日期,判断这个日期是这一年的第多少天?
public static void main(String[] args) { Scanner sc = new Scanner(System.in); /* * 1.接收输入的月份a和具体的哪一天b * 2.根据月份a进入到对应的入口,然后进行对前面几月份的天数累加,最后加上这个b * 3.在最后输出结果 * */ System.out.print("请输入月份:"); int num1 = sc.nextInt(); System.out.print("请输入哪一天:"); int num2 = sc.nextInt(); int sum = 0; switch (num1){ case 12: sum+=30; case 11: sum+=31; case 10: sum+=30; case 9: sum+=31; case 8: sum+=31; case 7: sum+=30; case 6: sum+=31; case 5: sum+=30; case 4: sum+=31; case 3: sum+=28; case 2: sum=sum+31; case 1: sum=sum+num2; System.out.println("今天是今年的第"+sum+"天"); }}
switch是引导你从那个入口进去,后面的事就不管了。
case x:是标号,而不是“如果……” 标号记录了某条指令的地址。
所以上面的在内存中存储的是:
switch (grade/10){
System.out.println("成绩为A!");
System.out.println("成绩为B!");
System.out.println("成绩为C!");
System.out.println("成绩为D!");
所以执行了某个分支后,会自动执行后续的代码,因为他本质上就是顺序结构,如果需要改变流程,可以借助break,但要注意break不是必须的。
Math.ceil()向上取整
Math.floor()向下取整
Math.abs()绝对值
1e-6==10-6