原创

【每天十分钟JAVA快速入门】(五)条件与循环

条件与循环

条件和循环语句在程序设计中用来控制程序运行的流程,就如同大街小巷的道路以及红绿灯一样。

块作用域
Java中的可执行代码都是包含在一个个的“块”中的,这些所谓的“块”就是被大括号({ })所包含的若干条Java语句,一个块可以嵌套在另一个块中,块决定了变量的作用域。块作用域有点类似于“向下兼容”,即在外部块中定义的变量,在内部块中是可以访问的,但是Java不允许内部块定义与外部块相同的变量。例如:
public static void main(String[] args) {
int x = 0;
{
int y = 1; // y作用域只在当前块中
System.out.println(x);
int x = 1; // 编译错误,x已经在外部块中定义过了
}
}

条件语句
使用if ... else if ... else 根据条件是否成立来执行相应的代码块。例如:
if(condition1){
...
}else if(condition2){
...
}else{
...
}
很简单,so easy! 这里的 else if 可以没有也可以有多个,else 要么没有,要么只有一个。
另外提一句,如果这里的代码块里只有一行代码,是可以不用写大括号的,但是个人还是强烈建议即使只有一行代码,还是把它用大括号括起来,这样大大增强可读性,避免意外错误,比少写一个大括号带来的好处大多了。

switch语句
如果你发现自己写了很多if,看起来很low,你可以试着使用switch语句来写:
switch(option){
case option1:
...
break;
case option2:
...
break;
case option3:
break;
default:
...
break;
}
option的类型可以是int、short、byte、char、枚举、String
如果没有break,即使运行到相匹配的case语句,程序还是会继续向下执行,直到遇到break,或者执行到switch语句结束。如果没有相匹配的case,或者一直没有遇到break,但是又有default,就继续执行default下的代码。

因此个人并不推荐使用switch,在break使用不当的情况下,常常会带来错误。


循环
while循环
while(condition){
...
}
当满足条件时,执行代码块。因此while循环可能执行0次,也可能是个无限循环。
如果希望至少执行一次代码块,可以使用如下结构:
do {
...
}
while(condition);
这样无论条件是否满足,代码块都会先执行一次。

for循环
for(int i = 0 ; i < 10; i++){
System.out.println(i);
}
上面的代码在控制台循环打印 0 - 9。好像没什么需要说的,还是那句话 so easy!
for循环只是while循环的另一种写法而已,比如上面的代码使用while循环可以写成如下形式:
int i = 0;
while(i < 10){
System.out.println(i);
i++;
}

for each循环
for each循环是在java5新增的一种循环结构。可以方便的对操作对象内的元素进行遍历,例如,下面的代码遍历数组中的元素并打印在控制台:
int[] intArray = {0,1,2,3,4,5,6,7,8,9};
for(int i : intArray){
System.out.println(i);
}

中断语句
如果我们希望在程序执行过程中的某些情况下中断,则可以使用break(终止当前的循环,执行循环后面的程序)和continue(不再执行循环体剩余部分,开始执行下一个循环)。例如:
for(int i = 0 ; i < 10; i++){
if (i == 3){
break;
}
System.out.println(i);
}
这段代码只能打印出 0 1 2 循环就终止了。
for(int i = 0 ; i < 10; i++){
if (i == 3){
continue;
}
System.out.println(i);
}
这段代码执行的结果是0 - 9中的数字除了3都打印出来了。
正文到此结束