Java-三种基本控制结构及相关面试题

news/2024/11/15 21:38:44/

文章目录

  • 前言
  • 一、 顺序控制结构
    • 1.1 概念
    • 1.2 代码
    • 1.3 NS图中体现
  • 二、分支控制结构
    • 2.1 概念
    • 2.2 if语句
    • 2.3 switch语句
    • 2.4 NS图中的体现
  • 三、循环控制结构
    • 3.1 概念
    • 3.2 for循环
    • 3.3 while循环
    • 3.4 do-while循环
    • 3.5 增强 for 循环
    • NS图中的体现
  • 四、相关面试题
    • 什么是控制流语句?
    • Java中的嵌套循环有哪些特点?
    • Java中的循环结构有哪些特点?
    • 请说明Java中的break关键字和continue关键字?

前言

Java是一种广泛使用的编程语言,它提供了三种基本的控制结构,即顺序结构、分支结构和循环结构。这些结构是Java程序设计中不可或缺的要素,也是Java语言的重要基础。

在本文中,我们将深入探讨这三种基本控制结构的特点和用法。通过了解它们的逻辑,您可以更好地理解和运用它们,从而提高Java程序的设计水平和效率。

一、 顺序控制结构

1.1 概念

顺序控制结构是Java中最简单的控制结构,也是默认的控制结构。在顺序控制结构中,代码按照从上到下的顺序执行,每个语句都会被依次执行。

1.2 代码

public class SequentialControlExample {public static void main(String[] args) {int x = 5;System.out.println("x = " + x); // 输出 x = 5x = x * 2;System.out.println("x = " + x); // 输出 x = 10}
}

在这里插入图片描述

1.3 NS图中体现

在这里插入图片描述

二、分支控制结构

2.1 概念

分支控制结构允许根据条件来执行不同的代码块。Java中的分支控制结构包括if语句和switch语句。

2.2 if语句

if语句允许在满足条件时执行代码块。

一个 if 语句包含一个布尔表达式和一条或多条语句。

if(布尔表达式)
{//如果布尔表达式为true将执行的语句
}

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

if(布尔表达式){//如果布尔表达式的值为true
}else{//如果布尔表达式的值为false
}

以下是一个使用if语句的示例:

public class IfControlExample {public static void main(String[] args) {int x = 5;if (x > 0) {System.out.println("x is positive");} else if (x < 0) {System.out.println("x is negative");} else {System.out.println("x is zero");}}
}

在这里插入图片描述
嵌套的 if…else 语句:可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。

if(布尔表达式 1){如果布尔表达式 1的值为true执行代码if(布尔表达式 2){如果布尔表达式 2的值为true执行代码}
}

在这里插入图片描述

2.3 switch语句

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

switch语句允许根据不同的条件执行不同的代码块。

switch(expression){case value ://业务语句break; //可写可不写case value ://业务语句break; //可写可不写//可以有任意数量的case语句default : //可选//语句
}

switch 语句中的变量类型可以是: byte、string、short、int 或者 char。

以下是一个使用switch语句的示例:

public class SwitchControlExample {public static void main(String[] args) {char grade = 'B';switch (grade) {case 'A':System.out.println("Good job!");break;case 'B':System.out.println("Keep it up!");break;case 'C':System.out.println("You can do better.");break;default:System.out.println("Invalid grade.");}}
}

在这里插入图片描述

2.4 NS图中的体现

在这里插入图片描述

三、循环控制结构

3.1 概念

顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,就需要使用循环结构。

循环控制结构允许重复执行代码块。Java中的循环控制结构包括for循环、while循环和do-while循环。

3.2 for循环

for循环允许在已知的循环次数内重复执行代码块。

以下是一个使用for循环的示例:

public class ForControlExample {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println("i = " + i);
}
}
}

关于for循环的说明:
1、执行过程:
for 循环会遍历列表或可迭代对象中的每个元素,并将每个元素赋值给变量名。
执行循环体中的代码,即对每个元素执行相同的操作。
循环体执行完毕后,继续遍历下一个元素,直到遍历完所有元素。
2、循环结束条件:
列表或可迭代对象中的所有元素都被遍历完毕。
用户手动调用 break 语句跳出循环。
3、注意事项:
for 循环中的变量名只存在于循环体中,循环结束后会被销毁。
循环体中的代码可以修改列表或可迭代对象中的元素,但不会影响列表或可迭代对象的长度。

3.3 while循环

while循环允许在满足条件时重复执行代码块。

语法格式如下:

while( 布尔表达式 ) {//循环内容
}

以下是一个使用while循环的示例:

public class WhileControlExample {public static void main(String[] args) {int i = 0;while (i < 5) {System.out.println("i = " + i);i++;}}
}

在这里插入图片描述

3.4 do-while循环

对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

do-while循环允许在执行一次代码块后,在满足条件时重复执行代码块。

我们可以看到布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。

语法格式如下:

do {//业务语句
}while(布尔表达式);

以下是一个使用do-while循环的示例:

public class DoWhileControlExample {public static void main(String[] args) {int i = 0;do {System.out.println("i = " + i);i++;} while (i < 5);}
}

在这里插入图片描述

3.5 增强 for 循环

增强 for 循环是Java5 引入了一种主要用于数组的循环

public class Test {public static void main(String[] args){int [] numbers = {10, 20, 30, 40, 50};for(int x : numbers ){System.out.print( x );System.out.print(",");}System.out.print("\n");String [] names ={"heihei", "azhen", "aqiu", "aqing"};for( String name : names ) {System.out.print( name );System.out.print(",");}}
}

在这里插入图片描述

NS图中的体现

在这里插入图片描述

四、相关面试题

什么是控制流语句?

控制流语句是指用于控制程序执行流程的语句。Java中的控制流语句包括if语句、switch语句、for循环、while循环和do-while循环等。

Java中的嵌套循环有哪些特点?

Java中的嵌套循环具有以下特点:可以嵌套多层,外层循环会影响内层循环的执行,内层循环不会影响外层循环的执行。

Java中的循环结构有哪些特点?

Java中的循环结构具有以下特点:for循环适用于已知循环次数的情况,while循环适用于未知循环次数的情况,do-while循环保证至少执行一次循环体。

请说明Java中的break关键字和continue关键字?

Java中的break语句主要有两个作用,分别是用于跳出循环和用于跳出switch语句。
Java中的continue语句主要有两个作用,分别是用于结束本次循环和用于在switch语句中跳过当前case。


http://www.ppmy.cn/news/456443.html

相关文章

【干货】Android系统定制基础篇:第三部分(Android静默安装、Android支持usb打印机)

1、Android静默安装 一些产品要求APP在升级时能够实现静默安装&#xff0c;而无需弹出安装界面让用户确认。这里提出两种实现方案&#xff1a; 方案一 APP调用『pm』命令实现静默安装&#xff0c;此方案无须修改Android源码&#xff0c;但需要root权限。 方案二 修改Android …

linux内核驱动的显卡型号,[图]Linux Kernel 5.9代码统计:10.5%是AMD Radeon显卡驱动

原标题&#xff1a;[图]Linux Kernel 5.9代码统计&#xff1a;10.5%是AMD Radeon显卡驱动 在 Linux Kernel 5.9 发布前夕&#xff0c;外媒 Phoronix 使用 cloc(源代码行数统计工具)对接近正式版的 5.9 进行了统计。根据统计数据显示&#xff0c;在 Linux 5.9 Git 中内核代码大约…

38深入聚合数据分析_实战hitogram按价格区间统计电视销量和销售额

histogram&#xff1a;类似于terms&#xff0c;也是进行bucket分组操作&#xff0c;接收一个field&#xff0c;按照这个field的值的各个范围区间&#xff0c;进行bucket分组操作 "histogram":{ "field": "price","interval": 2000 }i…

mysql 计算经纬度范围内的数据

利用谷歌方案 The SQL statement that will find the closest 20 locations that are within a radius of 30 miles to the 78.3232, 65.3234 coordinate. It calculates the distance based on the latitude/longitude of that row and the target latitude/longitude, and t…

matlab的上机报告,数理统计和Matlab上机报告.doc

数理统计和Matlab上机报告.doc 统计分析软件(matlab)实验报告1序号班级姓名学号日期时间地点信计1302张温柔4136309620150706实验楼102指导教师李娜实验名称1、 matlab基本操作、概率计算实验任务【练习1_01】生成a,b上的均匀分布的随机数&#xff1b;生成Nnu,sigma.2上的正态分…

Python数据分析之对一个游戏的运营情况进行分析

Python数据分析之对一个游戏的运营情况进行分析 文章目录 **Python数据分析之对一个游戏的运营情况进行分析** 一、分析目标二、数据介绍三、结论1.新增用户分析2.玩家活跃度分析3.玩家付费情况分析4.玩家游戏习惯分析 四、详细分析1.新增玩家分析1.1新增玩家数量1.2新增付费玩…

python基于pingouin统计分析:pairwise_gameshowell函数执行Games-Howell检验进行事后分析(Pairwise Games-Howell post-hocs)

python基于pingouin包进行统计分析:使用pairwise_gameshowell函数执行Games-Howell检验进行事后分析(Pairwise Games-Howell post-hocs) 目录

mysql分类统计roll_MySQL复习汇总

mysql复习 一:复习前的准备 1:确认你已安装wamp 2:确认你已安装ecshop,并且ecshop的数据库名为shop 二基础知识: 1.数据库的连接 mysql -u -p -h -u 用户名 -p 密码 -h host主机 2:库级知识 2.1 显示数据库: show databases; 2.2 选择数据库: use dbname; 2.3 创建数据库: crea…