[Android-Java]2.分支结构-(4-7)

大家好,我又来写博客了~今天的内容还是接着上次的一样,讲分支结构,当然了,很多人说我这里面的博客只有Java,没有Android,别着急,很快就会有的。而且,可能是对于大家来说,提升阶段的Android博客。

四、if

说到if呢,很多人应该都知道意思是什么,就是如果的意思。那么我们先来看一段代码,之后再来品鉴一下这个if的真正含义。

int a = 10 ;
int b = 11 ;
if(a>b){
  System.out.println("a大于b");
}
System.out.println("我说一句话,你听着。");

很简单的几行代码,前两行就不说了,就是定义了两个变量。那么从第三行开始,if这个关键字是我们从来都没有见过的。那么下面我们来看一下他的输出结果

我说一句话,你听着。

从输出结果上可以看到,加了if之后,"a大于b"这句话并没有输出。没错,if就是这样的用法,if后面的括号中,我们发现最终得到的结果是个布尔值的变量,那么当括号中的布尔值变量为真的情况下,会执行if后代码块中的代码,如果if括号中布尔值变量为假的话,则不会执行代码块中的代码。画个简单的流程图我们来看看。

5C515DC9-60E1-4AA6-A062-36CE401D0892.png

很简单对吧。

五、if与else

如果有了,那么我们平常说话的时候,如果一般都跟否则连用,所以else也就诞生了。这个可以在if的基础上进行理解,我们做一个简单的程序,就很好理解了。

int a = 10 ; 
int b = 11 ; 
if(a>b){
  System.out.println("a>b");
}else{
  System.out.println("a<b");
}
System.out.println("我说一句话,你听着。");

那么这一段代码的输出结果是什么呢?猜也应该能猜出来。

a<b
我说一句话,你听着。

六、if与else if与else

还是一样的,看一行代码,我们来理解一下。场景也很好安排,就拿成绩来说。

// 班里a同学的考试成绩是95
// 判断一下是优秀,及格,不及格
int a = 95;
if(a>90){
  System.out.println("a同学成绩为优秀");
}else if(a>60&&a<=90){
  System.out.println("a同学成绩为及格");
}else{
  System.out.println("a同学成绩为不及格");
}

输出的结果是

a同学成绩为优秀

通过这个例子,我们也能看出来,其实if也好else if或者else也好,都是一种判断,和生活中的例子特别像。通过上面代码的组合,我们发现,它可以使代码产生分流的作用。所以被称之为分支结构。
这个地方有些同学可能记不住,哪个后面有判断用的括号。那么告诉大家一个很好记录的方法,只要看见if,后面必定加上判断用的括号~

七、switch

switch也是一个分支结构,我们先来看看他在代码中的运用。

int a = 2;
switch(a){
case 0:
  System.out.println("00000");
  break;
case 1:
  System.out.println("11111");
  break;
case 2:
  System.out.println("22222");
  break;
default:
  System.out.println("找不到你想要的结果");
  break;
} 

输出结果

22222

从上面的代码我们应该能看出来,switch是一种选择结构,就像我们平常考试的时候,会做选择题,当然是单选,那么最终的结果,必然从已知的ABCD这四个答案中做出选择。
这个地方我们要注意两个点

1.switch后面的括号中只能是整型或者char类型,当然也有特殊,java7以后,可以使用String类型。但是通常情况下,我们还是不太用String类型。所以这里大家了解就行。

2.break的作用:大家可以先尝试一下如果不加break会出现什么问题,之后你应该就能恍然大悟了。break的作用就是打断判断,如果没有break,switch判断会在选择后,继续往下运行,而不会因为case 1,case 2影响。

if与switch的区别是什么?

if更多的运用在范围选择上,还有boolean值变量上的比较多。
而switch就是选择。有几个固定选项的那种。
当然if是可以替代switch的,但是switch却替代不了if,所以在使用的时候,更多人喜欢用if,但是说句实话,如果你switch用的好的话,是会给你加分的哦~

if的图画的不好,请大家轻喷。后面其实也是可以加图的,但是,画图好累。还是请大家轻喷。

推荐阅读更多精彩内容