首页 > 编程语言 >Java编程里的控制语句

Java编程里的控制语句

时间:2023-07-04 19:44:59浏览次数:46  
标签:语句 循环体 Java 编程 else 循环 表达式 布尔

控制语句:把语句组合成能完成一定功能的小逻辑模块。它分为三类:顺序、选择和循环。

1.“顺序结构”代表“先执行a,再执行b”的逻辑。

2.“条件判断结构”代表“如果…,则…”的逻辑。

3.“循环结构”代表“如果…,则重复执行…”的逻辑。

条件判断结构(选择结构)

条件判断结构有:if结构和switch结构。而if结构又可以分为if单分支结构、if-else双分支结构、if-else if-else多分支结构。

Math类的使用:

Math.random()该方法用于产生0到1区间的double类型的随机数,但是不包括1。

int i = (int) (6 * Math.**random**()); //产生:[0,5]之间的随机整数

if-else双分支结构:

语法结构:

if(布尔表达式){

    语句块1

}else{

  语句块2

}

当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。

if-else if-else多分支结构

语法结构:

if(布尔表达式1) {

    语句块1;

} else if(布尔表达式2) {

    语句块2;

}……

else if(布尔表达式n){

    语句块n;

} else {

    语句块n+1;

}

当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;

如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分。

switch语句

语法结构:

switch (表达式) {

    case 值1:

        语句块1;

        [break];

    case 值2:

         语句块2;

        [break];

   … … …   … …

    [default:

         默认语句块;]

}

1.switch会根据表达式的值从相匹配的case标签处开始执行,一直执行到break处或者是switch的末尾。如果表达式的值与任一case值不匹配,则进入default语句。

2.switch中表达式的值,是int(byte、short、char也可,long不行)、枚举,字符串。

循环结构

循环结构分两大类,一类是当型,一类是直到型。

当型:当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。

直到型:先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。

while循环

while (布尔表达式) {

      循环体;

}

1.在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。

2.语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。

do-while循环

do {

      循环体;

   } while(布尔表达式) ;

1.do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。

2.do-while循环的循环体至少执行一次。

循环结构(for)

for (初始表达式; 布尔表达式; 迭代因子) {

      循环体;

}

1.初始化部分设置:循环变量的初值

2.条件判断部分为:布尔表达式

3.迭代因子:控制循环变量的增减

4.for循环在执行条件判定后,先执行的循环体部分,再执行步进。

break语句和continue语句

1.break用于强行退出整个循环

2.continue用于结束本次循环,继续下一次

方法的重载(overload)

重载:一个类中可以定义多个名称相同,但形式参数列表不同的方法。

构成方法重载的条件:

1.形参列表不同的含义:形参类型、形参个数、形参顺序不同

2.只有返回值不同不构成方法的重载。如:int a(String str){}与 void a(String str){}不构成方法重载

3.只有形参的名称不同,不构成方法的重载。如:int a(String str){}与int a(String s){}不构成方法重载

递归结构

1.递归是一种常见的算法思路,在很多算法中都会用到。比如:深度优先搜索(DFS:Depth First Search)等。

2.递归的基本思想就是“自己调用自己”。

递归结构包括两个部分:

1.定义递归头。 解决:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。

2.递归体。 解决:什么时候需要调用自身方法。

递归的缺陷:

算法简单是递归的优点之一。但是递归调用会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度要比循环慢的多,所以在使用递归时要慎重。

标签:语句,循环体,Java,编程,else,循环,表达式,布尔
From: https://www.cnblogs.com/shidawuyu/p/17526805.html

相关文章

  • PAT乙级【Java题解合集】
    ✨说在前面       这个暑假博主用大概两周不到的闲暇时间把PAT乙级的110道算法题全部肝完了,个人感觉题目的难度大部分在中等偏下,大概有二十道左右的题目还是蛮有意思的,值得细细去钻研,本专栏非常适合新手入门算法,也适合Java算法老手巩固一些基本知识点,由于C站上关于PAT乙级J......
  • 简单了解java
    Java各版本的含义JavaSE(JavaStandardEdition):标准版,定位在个人计算机上的应用JavaEE(JavaEnterpriseEdition):企业版,定位在服务器端的应用JavaME(JavaMicroEdition):微型版,定位在消费性电子产品的应用上Java的特性和优势1.跨平台/可移植性:这是Java的核心优势。2.安全性3.面......
  • 常用的前端JavaScript方法封装
     1、输入一个值,返回其数据类型**functiontype(para){returnObject.prototype.toString.call(para)} 2、数组去重functionunique1(arr){return[...newSet(arr)]}functionunique2(arr){varobj={};returnarr.filter(ele=>{if......
  • 【10.0】前端基础之JavaScript进阶
    【10.0】前端基础之JavaScript进阶【一】自定义对象可以看成Python中的字典,但是在JS中的自定义对象要比Python里面的字典操作起来更方便【1】创建自定义对象方式一vard={"键":"值",};操作方法vardict={"name":"dream","age":18};vardict={"name":"dream&......
  • java http大文件断点续传上传示例
    ​ 4GB以上超大文件上传和断点续传服务器的实现随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基......
  • java开发环境的搭建
    卸载JDK1、删除java的安装目录2、删除JAVA_HOME3、删除path下关于java的目录4、打开命令提示符,输入java-version检查jdk是否卸载成功 安装JDK1、百度搜索jdk8,找到下载地址2、下载电脑对应的版本3、双击安装JDK4、记住安装的路径5、配置环境变量:1)我的电脑→右键......
  • JavaScript 数组的 reduce 方法有哪些应用
    JavaScript数组的reduce方法有哪些应用JavaScript中的reduce()方法可以用于将数组元素汇总为单个值,它接受一个回调函数作为参数,并在每个数组元素上调用该函数,以便将其累加到一个累加器变量中。下面是一些实际应用:数组求和:使用reduce()方法将数组元素相加,从而计算数组的总......
  • 【8.0】前端基础之JavaScript引入
    【8.0】前端基础之JavaScript引入【一】什么是JavaScriptjs也是一门编程语言,他可以写后端代码JavaScript想一统天下,前后端都写于是node.js支持JS代码跑在后端服务器上但是并不能完美的实现JavaScript和Java一毛钱关系都没有,纯粹是为了蹭Java的热度【二】JavaScrip......
  • 【9.0】前端基础之JavaScript初识
    【9.0】前端基础之JavaScript初识js也是一门面向对象的编程语言,一切皆对象【一】变量命名规范变量名只能是数字/字母/下划线/$变量名命名规范(js中推荐驼峰式命名法)变量民不能用关键字作为变量名【二】JS代码的书写位置可以单独开设JS文件书写还可以直接在浏览......
  • Java 委托和继承(Delegation and Inheritance)
    https://blog.csdn.net/Seriousplus/article/details/80462722委派和继承都是为了提高代码的复用性,只是方式不同。委派:一个对象请求另一个对象的功能,捕获一个操作并将其发送到另一个对象。继承:利用extends来扩展一个基类。Delegation(委托)委托依赖于动态绑定,因为它要求特定......