在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

全面掌握Java中的循环控制语句与条件判断语句的使用

2016-8-29 13:11| 发布者: zhangjf| 查看: 599| 评论: 0

摘要: 循环控制 可能存在一种情况,当我们需要执行的代码块数次,通常被称为一个循环。 Java有非常灵活的三循环机制。可以使用以下三种循环之一: while 循环 do...while 循环 for 循环 截至Java5,对增强的for循 ...

循环控制
可能存在一种情况,当我们需要执行的代码块数次,通常被称为一个循环。
Java有非常灵活的三循环机制。可以使用以下三种循环之一:

  • while 循环
  • do...while 循环
  • for 循环

截至Java5,对增强的for循环进行了介绍。这主要是用于数组。

while 循环
while循环是一个控制结构,可以重复的特定任务次数。

语法

while循环的语法是:

  1. while(Boolean_expression)
  2. {
  3. //Statements
  4. }
复制代码

在执行时,如果布尔表达式的结果为真,则循环中的动作将被执行。只要该表达式的结果为真,执行将继续下去。

在这里,while循环的关键点是循环可能不会永远运行。当表达式进行测试,结果为假,循环体将被跳过,在while循环之后的第一个语句将被执行。

示例

  1. public class Test {
  2. public static void main(String args[]) {
  3. int x = 10;
  4. while( x < 20 ) {
  5. System.out.print("value of x : " + x );
  6. x++;
  7. System.out.print("n");
  8. }
  9. }
  10. }
复制代码

这将产生以下结果:

  1. value of x : 10
  2. value of x : 11
  3. value of x : 12
  4. value of x : 13
  5. value of x : 14
  6. value of x : 15
  7. value of x : 16
  8. value of x : 17
  9. value of x : 18
  10. value of x : 19
复制代码

do...while 循环
do ... while循环类似于while循环,不同的是一个do ... while循环是保证至少执行一次。

语法

do...while循环的语法是:

  1. do
  2. {
  3. //Statements
  4. } while (Boolean_expression);
复制代码

请注意,布尔表达式出现在循环的结尾,所以在循环中的语句执行前一次布尔测试。

如果布尔表达式为真,控制流跳回,并且在循环中的语句再次执行。这个过程反复进行,直到布尔表达式为假。

示例

  1. public class Test {
  2. public static void main(String args[]){
  3. int x = 10;
  4. do{
  5. System.out.print("value of x : " + x );
  6. x++;
  7. System.out.print("n");
  8. }while( x < 20 );
  9. }
  10. }
复制代码

这将产生以下结果:

  1. value of x : 10
  2. value of x : 11
  3. value of x : 12
  4. value of x : 13
  5. value of x : 14
  6. value of x : 15
  7. value of x : 16
  8. value of x : 17
  9. value of x : 18
  10. value of x : 19
复制代码

for 循环
for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环。

知道一个任务要重复多少次的时候,for循环是有好处的。

语法

for循环的语法是:

  1. for(initialization; Boolean_expression; update)
  2. {
  3. //Statements
  4. }
复制代码

下面是一个for循环的控制流程:

初始化步骤首先被执行,并且仅一次。这个步骤可声明和初始化任何循环控制变量。不需要把一个声明放在这里,只需要一个分号出现。

接下来,布尔表达式求值。如果是 true,则执行循环体。如果是false,则循环体不执行, 并且流程控制的跳转到经过for循环的下一个语句。

之后循环体在for循环执行时,控制流程跳转备份到更新语句。该语句允许更新任何循环控制变量。这个语句可以留空,只要一个分号出现在布尔表达式之后。

布尔表达式现在再次评估计算。如果是true,循环执行,并重复这个过程(循环体,然后更新的步骤,然后布尔表达式)。之后,布尔表达式为 false,则循环终止。
示例

  1. public class Test {
  2. public static void main(String args[]) {
  3. for(int x = 10; x < 20; x = x+1) {
  4. System.out.print("value of x : " + x );
  5. System.out.print("n");
  6. }
  7. }
  8. }
复制代码

这将产生以下结果:

  1. value of x : 10
  2. value of x : 11
  3. value of x : 12
  4. value of x : 13
  5. value of x : 14
  6. value of x : 15
  7. value of x : 16
  8. value of x : 17
  9. value of x : 18
  10. value of x : 19
复制代码

for 循环在 Java 中新特性
截至Java5,对增强的for循环进行了介绍。这主要是用于数组。

语法

增强的for循环的语法是:

  1. for(declaration : expression)
  2. {
  3. //Statements
  4. }
复制代码

声明: 新声明块变量,这是一种与你所正在访问数组中的元素兼容的变量。该变量在for块内可被利用并且它的值作为当前的数组元素将是相同的。

表达: 这个计算结果完成需要循环数组。表达式可以是一个数组变量或返回一个数组的方法调用。
示例

  1. public class Test {
  2. public static void main(String args[]){
  3. int [] numbers = {10, 20, 30, 40, 50};
  4. for(int x : numbers ){
  5. System.out.print( x );
  6. System.out.print(",");
  7. }
  8. System.out.print("n");
  9. String [] names ={"James", "Larry", "Tom", "Lacy"};
  10. for( String name : names ) {
  11. System.out.print( name );
  12. System.out.print(",");
  13. }
  14. }
  15. }
复制代码

这将产生以下结果:

  1. 10,20,30,40,50,
  2. James,Larry,Tom,Lacy,
复制代码

break 关键字
关键字break是用来停止整个循环的。 break关键字必须使用于任何循环中或一个switch语句中。

关键字break将停止最内层循环的执行,并开始执行在块之后的下一行代码。

语法

break语法是任何循环中一个单独的语句:

代码如下:break
示例

  1. public class Test {
  2. public static void main(String args[]) {
  3. int [] numbers = {10, 20, 30, 40, 50};
  4. for(int x : numbers ) {
  5. if( x == 30 ) {
  6. break;
  7. }
  8. System.out.print( x );
  9. System.out.print("n");
  10. }
  11. }
  12. }
复制代码

这将产生以下结果:

  1. 10
  2. 20
复制代码

continue 关键字
continue关键字可以在任一环的控制结构使用。它使循环立即跳转到循环的下一次迭代.

在for循环中,continue关键字会导致控制流立即跳转到更新语句。
在一个while循环或do/while循环,控制流立即跳转到布尔表达式。
语法

continue 语法是任何循环中一个单独的语句:

代码如下:continue
示例

  1. public static void main(String args[]) {
  2. int [] numbers = {10, 20, 30, 40, 50};
  3. for(int x : numbers ) {
  4. if( x == 30 ) {
  5. continue;
  6. }
  7. System.out.print( x );
  8. System.out.print("n");
  9. }
  10. }
  11. }
复制代码


这将产生以下结果:

  1. 10
  2. 20
  3. 40
  4. 50
复制代码


条件判断
在 Java 中有两种类型的条件判断语句,它们分别是:

  • if 语句
  • switch 语句

if 语句:

if 语句由一个布尔表达式后跟一个或多个语句组成。

语法

if 语句的语法是:

  1. if(Boolean_expression)
  2. {
  3. //Statements will execute if the Boolean expression is true
  4. }
复制代码

如果布尔表达式的值为 true,那么代码里面的块 if 语句将被执行。如果不是 true,在 if 语句(大括号后)结束后的第一套代码将被执行。

示例

  1. public class Test {
  2. public static void main(String args[]){
  3. int x = 10;
  4. if( x < 20 ){
  5. System.out.print("This is if statement");
  6. }
  7. }
  8. }
复制代码

这将产生以下结果:

  1. This is if statement
复制代码

if...else 语句
任何 if 语句后面可以跟一个可选的 else 语句,当布尔表达式为 false,语句被执行。

语法

if...else 的语法是:

  1. if(Boolean_expression){
  2. //Executes when the Boolean expression is true
  3. }else{
  4. //Executes when the Boolean expression is false
  5. }
复制代码

示例

  1. public class Test {
  2. public static void main(String args[]){
  3. int x = 30;
  4. if( x < 20 ){
  5. System.out.print("This is if statement");
  6. }else{
  7. System.out.print("This is else statement");
  8. }
  9. }
  10. }
复制代码

这将产生以下结果:

  1. This is else statement
复制代码

if...else if...else 语句
if 后面可以跟一个可选的 else if...else 语句,在测试不同条件下单一的 if 语句和 else if 语句是非常有用的。

当使用 if , else if , else 语句时有几点要牢记。

  • 一个 if 语句可以有0个或一个 else 语句 且它必须在 else if 语句的之后。
  • 一个 if 语句 可以有0个或多个 else if 语句且它们必须在 else 语句之前。
  • 一旦 else if 语句成功, 余下 else if 语句或 else 语句都不会被测试执行。

语法

if...else 的语法是:

  1. if(Boolean_expression 1){
  2. //Executes when the Boolean expression 1 is true
  3. }else if(Boolean_expression 2){
  4. //Executes when the Boolean expression 2 is true
  5. }else if(Boolean_expression 3){
  6. //Executes when the Boolean expression 3 is true
  7. }else {
  8. //Executes when the none of the above condition is true.
  9. }
复制代码

示例

  1. public class Test {
  2. public static void main(String args[]){
  3. int x = 30;
  4. if( x == 10 ){
  5. System.out.print("Value of X is 10");
  6. }else if( x == 20 ){
  7. System.out.print("Value of X is 20");
  8. }else if( x == 30 ){
  9. System.out.print("Value of X is 30");
  10. }else{
  11. System.out.print("This is else statement");
  12. }
  13. }
  14. }
复制代码

这将产生以下结果:

  1. Value of X is 30
复制代码

嵌套 if...else 语句
它始终是合法的嵌套 if-else 语句,这意味着你可以在另一个 if 或 else if 语句中使用一个 if 或 else if 语句。

语法

嵌套 if...else 的语法如下:

  1. if(Boolean_expression 1){
  2. //Executes when the Boolean expression 1 is true
  3. if(Boolean_expression 2){
  4. //Executes when the Boolean expression 2 is true
  5. }
  6. }
复制代码

因为我们有嵌套的 if 语句,所以可以用类似的方式嵌套 else if...else。

示例

  1. public class Test {
  2. public static void main(String args[]){
  3. int x = 30;
  4. int y = 10;
  5. if( x == 30 ){
  6. if( y == 10 ){
  7. System.out.print("X = 30 and Y = 10");
  8. }
  9. }
  10. }
  11. }
复制代码

这将产生以下结果:

  1. X = 30 and Y = 10
复制代码

switch 语句
switch 语句允许一个变量来对一系列值得相等性进行测试。每个值被称为一 case,并且被启动的变量会为每一个 case 检查。

语法

增强的 for 循环的语法是:

  1. switch(expression){
  2. case value :
  3. //Statements
  4. break; //optional
  5. case value :
  6. //Statements
  7. break; //optional
  8. //You can have any number of case statements.
  9. default : //Optional
  10. //Statements
  11. }
复制代码

以下规则适用于 switch 语句:

  • 在 switch 语句中使用的变量只能是一个字节,short,int 或 char。
  • 在一个 switch 语句中可以有任何数量的 case 语句。每个 case 后跟着即将被比较的值和一个冒号。
  • 对于 case 的值必须是相同的数据类型作为开关变量,它必须是一个常量或文字。
  • 当被启动了的变量与 case 是相等的,那 case 后的语句将执行,一直到 break 为止。
  • 当达到一个 break 语句,switch 终止,并且控制流跳转到跟着 switch 语句的下一行。
  • 不是每一个 case 需要包含一个 break。如果没有出现 break,控制流将贯穿到后面的 case 直到 break 为止。
  • switch 语句可以有一个可选默认 case ,它必须出现在 switch 的结束处。在执行一项任务时没有任何 case 是真,那默认 case 可被使用。在默认 case 中不需要 break。

示例

  1. public class Test {
  2. public static void main(String args[]){
  3. //char grade = args[0].charAt(0);
  4. char grade = 'C';
  5. switch(grade)
  6. {
  7. case 'A' :
  8. System.out.println("Excellent!");
  9. break;
  10. case 'B' :
  11. case 'C' :
  12. System.out.println("Well done");
  13. break;
  14. case 'D' :
  15. System.out.println("You passed");
  16. case 'F' :
  17. System.out.println("Better try again");
  18. break;
  19. default :
  20. System.out.println("Invalid grade");
  21. }
  22. System.out.println("Your grade is " + grade);
  23. }
  24. }
复制代码

编译并运行上面使用各种命令行参数的程序。这将产生以下结果:

  1. $ java Test
  2. Well done
  3. Your grade is a C
复制代码


最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-9-14 00:12

Copyright 2015-2025 djqfx

返回顶部