Java控制语句
1.介绍
从本质上讲,程序是一系列指令。控制结构是可以改变我们如何执行这些指令的代码块。
在本教程中,我们将探讨Java中的控制结构。
有三种控制结构:
- 条件分支,用于在两条或多条路径之间进行选择。Java中有三种类型:if/else/elseif、三元运算符和switch。
- 循环;用于迭代多个值/对象并重复运行特定代码块的循环。Java中的基本循环类型是for、while和do-while。
- 分支语句,用于改变循环中的控制流。Java中有两种类型:break和continue。
2.if/else/else if结构
if/else语句是最基本的控制结构,也是众多编程语言的基础。必须熟练掌握。
虽然if可以单独使用,但最常见的使用场景是使用if/else在两个路径之间进行选择:
if (count > 2) {
System.out.println("Count is higher than 2");
} else {
System.out.println("Count is lower or equal than 2");
}
理论上,我们可以无限地链接或嵌套if/else块,但这会损害代码的可读性,所以不建议这样做。
我们将在本文的其余部分探讨其他语句。
3.三元表达式
我们可以使用三元运算符作为替代if/else语句的速记表达式。
重构以后的代码如下:
System.out.println(count > 2 ? "Count is higher than 2" : "Count is lower or equal than 2");
虽然三值化是提高代码可读性的好方法,但它并不总是if/else的好替代品。
4.Switch结构
如果我们有多个条件需要判断,可以使用switch语句。
看一个简单的例子:
int count = 3;
switch (count) {
case 0:
System.out.println("Count is equal to 0");
break;
case 1:
System.out.println("Count is equal to 1");
break;
default:
System.out.println("Count is either negative, or higher than 1");
break;
}
三个或更多if/else语句可能很难阅读。为此,我们可以使用switch,如上所示。
注意,switch有作用域和输入限制,在使用它之前我们需要记住这些限制。
5.循环(Loops)
当我们需要连续多次重复执行相同的代码时使用循环。来看一个for和while循环类型的快速比较:
for (int i = 1; i <= 50; i++) {
methodToRepeat();
}
int whileCounter = 1;
while (whileCounter <= 50) {
methodToRepeat();
whileCounter++;
}
上面的两个代码块都将调用methodToRepeat 50次。
6.结束循环(Break)
当需要退出循环时使用break关键字,此时循环体不再执行。
让我们看一个简单的例子:
List<String> names = getNameList();
String name = "John Doe";
int index = 0;
for ( ; index < names.length; index++) {
if (names[index].equals(name)) {
break;
}
}
在这里,在一个名字列表中寻找一个名字,一旦找到它,我们就要停止寻找。
7.直接执行下一循环(Continue)
简单的讲就是:结束当前循环,执行下一循环,不管当前循环下面有何代码都不再执行。
List<String> names = getNameList();
String name = "John Doe";
String list = "";
for (int i = 0; i < names.length; i++) {
// 找到同名的不会再加入到字符串中,继续判断下一个名字
if (names[i].equals(name)) {
continue;
}
list += names[i];
}
在这里,我们跳过在列表中添加重复的名称。正如我们在这里看到的,break和continue在迭代时非常方便,尽管它们通常可以用return语句或其他逻辑重写。
8.本文代码
完整程序代码:Java控制语句
Java控制语句的更多相关文章
- Java控制语句——if语句
Java控制语句分为三大类:①顺序结构:②选择结构:③循环结构. 选择结构又分为:①单选择结构:②双选择结构:③多选择结构. 主要涉及: if_else , switch , while , brea ...
- Java开发知识之Java控制语句
Java开发知识之Java控制语句 一丶复合语句 不管任何语言都有控制语句 if else if else whie do while for .... 首先讲解的是java的复合语句 1.什么是 ...
- Java 控制语句
Java 控制语句
- Java 控制语句:循环、条件判断
基础很重要,基础很重要,基础很重要.重要的事情说三遍,. 程序设计中的控制语句主要有三种:顺序.分支和循环.我们每天写的代码,除了业务相关,里面会包含大量的控制语句.但是控制语句的基本使用,是否有些坑 ...
- Java控制语句——分支、循环、跳转
分支语句(if语句,switch语句): 循环语句(for,while,do...while); 跳转语句(break,continue,return): 分支语句(if语句,switch语句) if ...
- java 控制语句、数组、方法
一.控制语句 1.if 语句 if语句是指如果满足某种条件,就进行某种处理. 流程图: 2. if…else语句 语法格式: if (判断条件){ 执行语句1 …… }else{ 执行语句2 …… } ...
- java控制语句 if-else while do-while for return break continue goto switch default
if for //: object/ForEachFloat.java package object; import java.util.Random; public class ForEachFlo ...
- Java控制语句例题,for循环语句,if条件语句等,Scanner类与Random类,Math.max()方法
例题:编写程序,生成5个1至10之间的随机整数,并打印结果到控制台 import java.util.Random;class demo09 { public static void main(Str ...
- Java控制语句——break和continue
在任何循环语句的主体部分,均可用break控制循环的流程. break用于强行退出循环,不执行循环中剩余的语句.(break语句还可用于多支语句switch中) continue 语句用于循环语句体中 ...
- Java控制语句——for循环
for循环语句是支持迭代的一种通用结构,是最有效.最灵活的循环结构. 语法形式: for(初始表达式 ; 布尔表达式 ; 步进){ 循环体 } for循环在执行条件测试后,先执行程序部分,再执行步进. ...
随机推荐
- Django应用中的静态文件处理
在日常开发中,我们都是把Django的Debug模式打开,方便调试,在这个模式下,由Django内置的Web服务器提供静态文件服务,不过需要进行一些配置,才能正确访问. 配置settings # St ...
- [转帖]OceanBase v4.2新增字符集GB18030_2022说明
OceanBase v4.2新增字符集GB18030_2022说明 https://open.oceanbase.com/blog/7698399520 1. 概述 GB18030 标准作为信息技术 ...
- [转帖]nginx中的if和else语法
https://www.dyxmq.cn/it/nginx/nginx-if.html nginx支持if语法,语法和平常的代码格式差不多: 1 2 3 if ($xxx = xxx) { ...
- [转帖]全表扫描却产生大量db file sequential read一例
老熊 Oracle性能优化 2012-05-23 开发人员在进行新系统上线前的数据校验测试时,发现一条手工执行的SQL执行了超过1小时还没有返回结果.SQL很简单: SELECT * FROM MOB ...
- [转帖]可能是最完整的 TCP 连接健康指标工具 ss 的说明
https://blog.mygraphql.com/zh/notes/low-tec/network/tcp-inspect/ 写在前面 TCP 连接健康的重要性 如何查看 TCP 连接健康 容器化 ...
- [转帖]Linux-计算毫秒数
https://www.cnblogs.com/yeyuzhuanjia/p/15822653.html date +%s返回自划时代以来的秒数. date +%s%N返回秒数+当前纳秒数. 因此,e ...
- [转帖]MegaRaidCli64 常用命令解释
MegaRaidCli64 常用命令解释 安装 查看 创建 删除 案例 安装 Centos wget https://docs.broadcom.com/docs-and-downloads/raid ...
- vue报错:'XX' is defined but never used no-unused-vars
参考地址:http://www.gold404.cn/info/87 导致这个报错的原因就是eslint校验, 就是你当初在vue创建脚手架的时候选择了eslint校验: 后面你绝对会碰到这样的报错, ...
- 【小实验】使用 wrk 的 docker 容器来压测另一个容器
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 GET 请求 想压测容器环境的服务性能,发现两个麻烦: 本 ...
- 【JS 逆向百例】HN某服务网登录逆向,验证码形同虚设
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标 目标:某政务服务 ...