Java基础之结构

Java中程序流程控制语句包括条件结构、循环结构和跳转语句

4.1条件结构

条件结构包括顺序结构和选择结构。顺序结构在程序执行中没有跳转和判断,知道程序结束为止。选择结构包括 if 语句,if-else 语句,switch 语句,在程序执行过程中可以改变程序的执行流程。

4.1.1 if 语句

if 语句是条件判断后再处理的一种语法结构

if(条件表达式){     //条件成立后执行  一条或多条语句   }//条件表达式的值只能是 boolean 类型 false / true

4.1.2 if-else 语句

if-else 语句又称为双分支选择结构

if(条件表达式){  语句1           //当条件表达式成立,执行1}else{  语句2           //当条件表达式不成立,执行2}

示例:

int num1 = 60;int num2 = 90;if(num1 > num2){  System.out.println("num1大于num2");   }else{  System.out.println("num2大于num1");   }// num2大于num1

4.1.3 if-else-if 语句

if(条件表达式1){                 //如果条件表达式1成立  语句块1                       //就执行语句块1的代码}else if(条件表达式2){           //否则,如果条件表达式2成立  语句块2                       //就执行语句块2的代码}else if(条件表达式n){          //如果条件表达式n成立  语句块n                       //就执行语句块n的代码}....                           //对其他条件进行判断else{                           //如果以上所有条件都不成立语句块 n+1                   //就执行语句块 n+1 代码}

根据学生成绩,判断属于哪个档次,并输出:

class twoday {public static void main(String[] args)      {int score = 100;if(score>=90){            System.out.println("优");        }else if(score >=80){            System.out.println("良");        }else if(score>=60){            System.out.println("合格");        }else{            System.out.println("不合格");        }    }}// 优

4.1.4 选择语句的嵌套

选择语句的嵌套是指在 if 语句中再嵌套 if 语句

if(条件表达式1){if(条件表达式2){                语句块1            }else{                    语句块2                }        }else{if(条件表达式3){                语句块3            }else{                    语句块4                }        }

使用嵌套的 if 语句,根据学生成绩判断属于哪个档次

class twoday {public static void main(String[] args)      {int score = 85;         if(score >=60){if(score>=80){if(score>=90){                    System.out.println("优");                }else{                    System.out.println("良");                }            }else{                System.out.println("合格");                }        }else{            System.out.println("不合格");        }    }}//良

4.1.5 switch 语句

switch 语句属于多分支结构,可以代替复杂的 if-else-if 语句,表达式的结果类型只能是 byte ,short , int ,char 类型,switch 语句是多分支的开关语句

switch(表达式){case 常量表达式1 :                    语句组 1;break;case 常量表达式2 :                    语句组 2;break;case 常量表达式3 :                    语句组 3;break;            .....default:                    语句组 n;        }

用switch语句输出学生成绩:

class twoday {public static void main(String[] args)      {int score = 80;int rank = score /10;         //将100分制转换为 10分制,方便判断switch( rank ){case 10:case 9:                System.out.println("优");break;case 8:case 7:                System.out.println("良");break;case 6:                System.out.println("合格");break;default:                System.out.println("不合格");        }    }}//良

4.1.6 if 与 switch 的区别

if 语句和 switch 语句结构很相似,都是多分枝选择语句,但是switch 结构只能处理等值条件判断,而且必须是整型变量或者字符型变量,而多重 if 结构没有这个限制。使用 switch 结构时不要忘记每个 case 最后加 break ;通常情况,分支超过3层,使用 switch 语句,如果条件判断一个范围,使用 if-else-if 语句。

4.2 循环结构

循环结构一般包括 for , while , do-while 共3种循环语句

4.2.1 while 循环语句

while 循环首先判断循环条件是否满足,如果第一次循环条件不满足,直接跳出循环,循环不会执行,while 循环的特点,先判断,后执行。

while (布尔表达式) {     语句或语句块;   }

使用while 循环输出1~100

class twoday {public static void main(String[] args)      {int i=1;while(i<=100){     //循环表达式            System.out.println(i);            i++;    //循环变量自增1        }    }}

4.2.2 do-while 循环语句

先执行 do 后面的循环体语句,然后对 while 后面的布尔表达式进行判断,如果为 true,则再次执行 do 后面的循环体,并再次对布尔表达式的值进行判读。否则结束循环体,do-while 特点是条件表达式无论是否成立,都至少会执行一次。

do{   语句或语句块   }while(布尔表达式);

通过 do-while 输出1~100

class twoday {public static void main(String[] args)      {int i=1;do{            System.out.println(i);    //do 先执行一次输出i++;        }while(i<=100);    }}

4.2.3 while 与 do-while 的区别

while 语句是先判断后执行,do-while 是先执行后判断,(如果条件表达式不成立,while不会执行。do-while 语句至少会执行一次)。

4.2.4 for循环语句

for(初始化表达式;条件表达式;迭代语句){    循环体语句;}

初始化表达式只在循环前执行一次,通常作为迭代变量的定义。条件表达式是一个布尔表达式,当值为 true 时,才会继续执行 for 语句的循环体语句,迭代表达式用于改变循环条件的语句,如自增,自减等运算。

for循环语句的执行过程:

①执行初始化表达式

②对中间的条件表达式值进行判断,如果为 true,则继续执行后面的循环体语句

③执行迭代表达式,改变循环变量的值

④重复执行上述两步,开始下一次循环,直到某次中间的条件表达式为 false,结束整个循环语句

用for 循环输出 1~100

class twoday {public static void main(String[] args)      {for(int i=0;i<=100;i++){    //定义循环变量,循环语句,初始化值为 0 ;            System.out.println(i);        }    }}

注:即使表达式为空,分隔3个表达式的分号“;”也不能省略。

for(;;;){}//合法的,正确的

4.2.5 嵌套循环语句

①while 语句嵌套

while(条件表达式1){while(条件表达式2){    .....        }}

②do-while 语句嵌套

do{do{                ...            }while(条件表达式1);        }while(条件表达式2);

③for语句与while循环嵌套

for(;;){while(条件表达式){...}}

④for语句嵌套

for(;;){for(;;){...}}

⑤for 循环与 do-while循环嵌套

for(;;){do{...}while(条件表达式);}

⑥while循环与for循环嵌套

while(条件表达式){for(;;){...}}

⑦do-while循环与for循环嵌套

do{for(;;){...}}while(条件表达式);

⑧do-while循环与while循环嵌套

do{while(条件表达式1){...}}while(条件表达式2);

⑨while循环与do-while循环嵌套

while(条件表达式1){do{...}while(条件表达式2);}

使用嵌套循环用“*”输出直角三角形

class twoday {public static void main(String[] args)      {int i, j;for(i=0;i<6;i++){      //第一重循环控制行数for(j=0;j<i;j++){          //第二重循环控制*数量System.out.print("*");   //输出*            }            System.out.println();     //换行        }    }}/*****************/

4.3 跳转语句

跳转语句有 break,continue和return

4.3.1 break 跳转语句

当循环结构中执行到 break 语句时,它立即停止当前循环并执行循环下面的语句

在循环结构中使用 break 输出0~99

class twoday {public static void main(String[] args)      {int i;for(i=1;i<101;i++){if(i==100){break;       //当i=100时停止循环                }            System.out.println(i);        }    }}// 1 2 3 4 5 ...99

当i=100时,执行break语句,终止循环,在一个循环中可以有多个break语句,break不是专门用来终止循环的,只有在某些情况下来取消一个循环。

4.3.2 continue 跳转语句

continue 是跳过本次循环,执行下一次循环语句

class twoday {public static void main(String[] args)      {int i;for(i=1;i<101;i++){if(i==3){               //当i=3时,跳过本次循环,继续执行后面continue;                }            System.out.println(i);        }    }}// 1 2  4 5 ...99

4.3.3 break和continue的区别

continue 语句只结束本次循环,而不是终止整个循环的执行。而break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

4.3.4 return 跳转语句

return 语句是终止当前方法运行,返回到调用该方法的语句处,该语句还提供相应返回值

if(x>=0){return true;        }return false;    }

当 if 条件语句结果为true 时,执行第一条 return 语句,退出方法。下面(return false)跳过不执行

非常感谢<从零开始学Java>一书对我的帮助,本文借鉴于此,仅用来学习,回顾,巩固。再次感谢。

(0)

相关推荐

  • Java学习——20基本结构(五)

    本篇介绍 for循环. 1.       语法格式 for(表达式1:表达式2:表达式3) 循环体语句: for循环语句将循环控制变量初值 .循环条件和变量的变化规律都以表达式形式写在循环体之前. & ...

  • For循环和while循环如何区分?

    学习Python的时候,我们经常会听到循环这个词,它是Python最基础的知识点之一,下面我们一起来学习一下for循环和while循环,看看它们之间有何区别. 什么是for循环? For循环可以遍历任 ...

  • 科技·Kotlin从入门到精通,条件控制

    条件控制可根据不同的条件执行不同的语句.IF表达式一个if语句包含一个布尔表达式和一条或多条语句.// 传统用法var max = aif (a < b) max = b// 使用elsevar ...

  • java流程控制的一些说明和分析

    Scanner工具类(流程控制的基础) 在当前阶段,java中,可以进行人机交互的一个前提就是Scanner工具. 语法: Scanner scanner = new Scanner(System.i ...

  • Java学习——10基本结构(一)

    Java虽然是面向对象的语言,但在其内部,还是要借助于结构化程序设计的基本流程结构来组织语句块,完成其相应的逻辑功能. 有三种结构:顺序.选择和循环结构. 此三种结构的执行顺序有所不同. 1.顺序结构 ...

  • JavaSE流程控制(Scanner,顺序结构,选择结构,循环结构,break和continue)

    流程控制 用户交互Scanner 1.Scanner对象 Java提供了一个工具类可以获取用户的输入.java.util.Scanner是Java5的新特性,通过Scanner类来获取用户的输入. S ...

  • Java基础之:泛型

    Java基础之:泛型 在不使用泛型的情况下,在ArrayList 中,添加3个Dog. Dog对象含有name 和 age, 并输出name 和 age (要求使用getXxx()). package ...

  • 静态阻力基础2B结构价格吸筹——(林荣节奏博弈论)

    清空 王忻辰;苏星婕 - 清空 作者:西南刘林荣 2B法则,想必大家都看过,但是国内的交易员很多都是找的一边的阻力,在静态阻力结构中可以理解为价格吸筹,但是稍微有点不一样. 如上图,此方法是大部分人做 ...

  • Java 基础知识

    Java 基础知识

  • Java 基础语法

    注释 #单行注释 // 这里是单行注释 #多行注释 /* 这里是 多行注释 */ #JavaDoc /* *@Description: *@Author: */ Java可以使用中文命名 但不建议使用 ...

  • Java基础(第二期)

    数据类型扩展以及面试题讲解 整数拓展:进制 int i=10; int i2=010; //八进制0 int i3=0x10; //十六进制0x 0~9 A~F 16 相关进制转换自行学习,用的不多 ...

  • Java开发工程师最新面试题库系列——Java基础部分(附答案)

    JAVA基础 如果你有更好的想法请在评论区留下您的答案,一起交流讨论 面向对象有哪些特征? 答:继承.封装.多态 JDK与JRE的区别是什么? 答:JDK是java开发时所需环境,它包含了Java开发 ...

  • 全栈必备 Java基础

    那一年,从北邮毕业,同一年,在大洋的彼岸诞生了一门对软件业将产生重大影响的编程语言,它就是--Java.1998年的时候,开始学习Java1.2,并在Java Orbix 上做服务,而如今Java 9 ...

  • 100个你应该知道的java基础知识

    100个你应该知道的java基础知识

  • 作为一名程序猿,你不可不知的Java基础知识的三十个经典问答

    作为一名程序猿,你不可不知的Java基础知识的三十个经典问答