块(block),即复合语句,是由一对大括号括起来的若干条件简单的Java语句。。块确定了变量的作用域,一个块可以嵌套在另一个块中。
static {
}
在Java中,条件语句的格式为:if(condition) statement ,这里的条件必须用括号括起来
if循环有三种,上面是流程图解,下面我们用代码来实现。
public static void main(String[] args) {
boolean a = true;
boolean b = true;
boolean c = true;
boolean d = true;
if( a ) {
System.out.println("a");
}
if( a ) {
System.out.println("a");
}else {
System.out.println("a_else");
}
if( a ) {
System.out.println("a");
}else if( b ) {
System.out.println("b");
}else if( c ) {
System.out.println("c");
}else if( d ) {
System.out.println("d");
}else {
System.out.println("!abcd");
}
}
输出结果为:
a
a
a
当条件为true时,while循环值性一条语句(也可以是一个语句块)。一般格式为
while(condition) statement
上图是while循环的流程图,下面我们用代码做具体实现:
public static void main(String[] args) {
int num = 10;
while( num > 5 ) { //条件判断
System.out.println("+++"); //代码块
num--; //条件改变
}
}
输出结果为:
+++
+++
+++
+++
+++
while循环语句首先检测循环条件,因此,循环体中的代码可能不会被执行。如果希望循环体至少执行一次,则应该将检测条件放在最后。使用do、while循环语句可以实现这种操作方式。他的语法格式为:
do statement while(condition)
上图是do/while循环的流程图,下面我们用代码做具体实现:
public static void main(String[] args) {
int num = 10;
do{
System.out.println("+++"); //代码块
num--; //条件改变
}while( num > 15 ); //条件判断
}
输出结果为:
+++
还有一种循环模式叫做for循环,他是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数。
for(初始定义;条件判断;更改条件) statement
上图是for循环的程序流程图,接下来我们用代码实现:
public static void main(String[] args) {
int num = 6;
for(int i = 0 ; i < num ; i++) { //条件声明 ; 条件判断 ; 条件改变
System.out.println("+++---"); //代码块
}
}
输出结果为:
+++---
+++---
+++---
+++---
+++---
+++---
在处理多个选项时,使用if/else结构显得有些笨拙。Java有一个与C/C++一样的swich语句。
switch(choice){
case 1:........break;
case 2:........break;
case 3:........break;
case 4:........break;
default:........break;
}
注意,如果在case分支语句的末尾没有break语句,那么就接着执行下一个case语句分支。这种情况相当危险,常常会引发错误。
下面我们用代码来实现:
public static void main(String[] args){
int key = 111;
switch (key) {
case 111:System.out.println("111");
break;
case 222:System.out.println("222");
break;
case 333:System.out.println("333");
break;
default:System.out.println("444");
break;
}
}
输出结果为:
111
444
尽管Java的设计者将goto作为保留字,但实际上并没有打算在语言中使用它。我们一般都用break,continue
下面先看一下不在标签的break语句,用于退出switch语句的break语句一样,他可以用于退出循环语句。例如:
接下来,我们来看一下continue语句,与break一样,他将中断正常的控制流程,他只是跳出了当前循环,然后马上有开始下一次循环,示例如下:
public static void main(String[] args) {
for(int i = 0 ;i< 5 ;i++) {
System.out.println("1111");
continue;
}
}
输出结果为:
1111
1111
1111
1111
1111
如果是break;那么情况会变成什么样,我们来接着看;
public static void main(String[] args) {
for(int i = 0 ;i< 5 ;i++) {
System.out.println("1111");
break;
}
}
那么输出结果就会变成
1111