java中if与switch-case语句的使用及一些注意事项

来源:互联网 发布:华西附二院抢号软件 编辑:程序博客网 时间:2024/05/22 05:32

1.if语句的嵌套

import java.util.Scanner;public class Text1 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int a =in.nextInt();int b =in.nextInt();int c =in.nextInt();int max;if(a>b){if(a>c)max=a;elsemax=c;}else{if(b>c)max=b;elsemax=c;}System.out.println(max);}}
上述代码是输出三个数中的最大数,这里我们应该注意的是else只与最近的if匹配。

2.级联的if-else语句

import java.util.Scanner;public class Text2 {public static void main(String[] args) {Scanner in = new Scanner(System.in);double x = in.nextDouble();double f;if(x<0){f=-1;//System.out.println("-1");}else if(x==0){f=0;//System.out.println("0");}else{f=2*x;//System.out.println(2*x);}System.out.println(f);}}
上述代码采用了单一出口的原则,目的是为了后期代码的维护增加了代码的可扩展性。

3.switch-case语句

import java.util.Scanner;public class Text3 {public static void main(String[] args) {Scanner in =new Scanner(System.in);int type = in.nextInt();switch(type){case 1:case 2:System.out.println("这是2");break;case 3:System.out.println("这是3");break;case 4:System.out.println("这是4");break;default:System.out.println("您的输入有误!");break;}}}
上述代码中type是控制表达式,控制表达式的结果必须是整数型。switch语句执行时根据控制表达式的结果寻找匹配的case,并执行后面的语句,如果没有break,将会顺序执行下一个case语句,一直到break为止或switch语句结束。所以break在switch语句中是很关键的。如果找不到,则执行default内的语句。如果没有default,那就什么都不做。

下面补充一些关于java关系运算的一些知识:

在java中关系运算的结果只有true和false

所有关系运算符的优先级都会低于算术运算符,但比赋值运算的高

在关系运算符中,==和!=的优先级比其他的低,而连续的关系运算是从左到右进行的

如何判断两个double类型的变量是否相等?

double a=1.0;

double b=0.2+0.2+0.2+0.2+0.2;

system.out.println(a==b);

这样直接用==来判断是不行的,答案肯定是false。

判断两个double类型的变量是否相等,我们应该通过Math.abs(a-b)<1e-6来判断,如果为true,则相等。否则不相等。




原创粉丝点击