Java控制语句——分支、循环、跳转
分支语句(if语句,switch语句);
循环语句(for,while,do...while);
跳转语句(break,continue,return);
分支语句(if语句,switch语句)
if判断语句的格式:
格式1:适用于一种情况使用。
if(判断的条件){
符合条件执行的代码;
}
格式2 : 适用于两种情况下去使用的。
if(判断条件){
符合条件执行的代码
}else{
不符合条件执行的代码;
}
if-else 与三元运算符非常像:
三元运算符的优点: 结构比较简洁。
三元运算符的缺点: 符合条件必须要返回一个结果,不能执行语句。
格式3: 适用于多种情况下去使用的。
if(判断条件1){
符合条件1执行的代码
}else if(判断条件2){
符合条件2执行的代码
}else if(判断条件3){
符合条件3执行的代码
}......else{
都不符合上述 的条件执行的代码
}
switch的英文解释为开关,正如它的解释一样,switch循环的特点就像开关一样,跳到哪一个条件即会出现某一种结果。
写法:
switch(需要循环判断的变量) {
需要循环判断的变量值:
需要执行的语句;
break;//表示变量满足此条件,并且执行完对应的语句之后,跳出循环。否则代码会继续向下执行,知道遇到break跳出循环,否则其他判断条件的程序也会被执行。
......
default:
需要执行的语句;
break;
}
如果在条件语句中不加break的话,程序会继续向下执行,直到遇到循环控制语句break跳出循环,否则程序继续向下执行。
循环语句(for,while,do...while)
for循环语句可以说是Java语言中最有效,最灵活的循环结构,一般用在循环次数已知的情况下。
一、for循环语法
for(initialization; condition; update){
statements;
}
语法解释:for语句执行时,首先执行初始化操作(initialization),然后判断终止条件表达式( condition)是否满足,如果满足终止条件,则退出循环。否则执行循环体中的语句,接着执行迭代部分(update),完成一次循环。下次循环从判断终止条件开始,根据结果进行相应的操作。
例:
public class ForDemo1{
piblic static void main(String[] args){
for(int i=0;i<5;i++){
for(int j=i;j<5;j++){
System.out.print("*");
}
System.out.println();
}
}
}
打印如下图形(正立三角形)

while循环语句用法比for语句用起来简单,格式也对的简单;
while(判断条件){
循环体
}
与while对应的还有一个do while,与while的差别在于,do while的格式为;
do {
循环体
}whil(判断语句);
do while 是先执行循环体语句,然后进行判断语句,就是说无论判断是否为true都会至少执行一次循环体语句。
跳转语句(break,continue,return)
Java 支持 3 种跳转语句:break,continue 和return 。这些语句把控制转移到程序的其他部分。下面对每一种语句进行讨论。
注意:除了这里讨论的跳转语句,Java 还支持另一种能改变你程序执行流程的方法:通过异常处理。异常处理提供了一种结构化的方法,通过该方法可以使你的程序捕获并处理运行时刻错误。它由下列五个关键字来控制:try,catch,throw,throws,和 finally 。实质上,异常处理机制允许你的程序完成一个非局部的分支跳转。
在Java 中,break语句有3种作用。
- 你已经看到,在switch语句中,它被用来终止一个语句序列。
- 它能被用来退出一个循环。
- 它能作为一种“先进”的goto 语句来使用。
使用break 退出循环
可以使用break 语句直接强行退出循环,忽略循环体中的任何其他语句和循环的条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面的语句重新开始。
continue语句
continue语句只能应用在for,while和do…while循环语句中,用于让程序直接跳过其后面的语句,进行下一次的循环。
return语句用来明确地从一个方法返回。
也就是,return 语句使程序控制返回到调用它的方法。因此,将它分类为跳转语句。这里对其作简要地介绍。
在一个方法的任何时间,return 语句可被用来使正在执行的分支程序返回到调用它的方法。下面的例子说明这一点。下例中,由于是Java 运行系统调用main() ,因此,return语句使程序执行返回到Java 运行系统。
// Demonstrate return.
class Return {
public static void main(String args[]) {
boolean t = true;
System.out.println("Before thereturn.");
if(t) return; // return to caller
System.out.println("This won'texecute.");
}
}
该程序的结果如下:
Before the return.
正如你看到的一样,最后的println( ) 语句没有被执行。一旦return语句被执行,程序控制传递到它的调用者。
最后一点:在上面的程序中,if(t)语句是必要的。没有它,Java 编译器将标记“执行不到的代码”(unreachable code )错误,因为编译器知道最后的println ()语句将永远不会被执行。为阻止这个错误,为了这个例子能够执行,在这里使用if语句来“蒙骗”编译器。
Java控制语句——分支、循环、跳转的更多相关文章
- C控制语句--分支和跳转
/*C控制语句--分支和跳转*/ /*关键字 if else switch continue break case default goto 运算符:&&(且) ||(或) ?:(三元 ...
- Java 控制语句:循环、条件判断
基础很重要,基础很重要,基础很重要.重要的事情说三遍,. 程序设计中的控制语句主要有三种:顺序.分支和循环.我们每天写的代码,除了业务相关,里面会包含大量的控制语句.但是控制语句的基本使用,是否有些坑 ...
- Java控制语句——for循环
for循环语句是支持迭代的一种通用结构,是最有效.最灵活的循环结构. 语法形式: for(初始表达式 ; 布尔表达式 ; 步进){ 循环体 } for循环在执行条件测试后,先执行程序部分,再执行步进. ...
- 第十九节:Java基本数据类型,循环结构与分支循环
基本数据类型 Java中的基本数据类型,有8种,在Java中有四种类型,8种基本数据类型. 字节 boolean 布尔型为1/8 byte 字节类型为1 short 短整型为2 char 字符型为2 ...
- Java之分支和循环
Java中的分支语句: if语句: if语句的四种写法: (1) if(表达式_布尔值) { ... } (2) if(表达式_布尔值) { ... } else { ... } (3) if(表达式 ...
- “全栈2019”Java第二十七章:流程控制语句中循环语句for
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十六章:流程控制语句中循环语句do-while
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十五章:流程控制语句中循环语句while
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Java学习笔记九:Java的循环跳转语句
Java的循环跳转语句 一:Java循环跳转语句之break: 生活中,我们经常会因为某些原因中断既定的任务安排.如在参加 10000 米长跑时,才跑了 500 米就由于体力不支,需要退出比赛.在 J ...
随机推荐
- Xcode删除Project上层group
本来想在Project下New Group,结果点了New group from selection, 结果在Project上级新建了一个group,邮件菜单中无删除项…… 解决方法: 1,关闭Xco ...
- python之MySQL学习——防止SQL注入(参数化处理)
import pymysql as ps # 打开数据库连接 db = ps.connect(host=', database='test', charset='utf8') # 创建一个游标对象 c ...
- ffmpeg命令
1 将mp4格式的视频文件转换成mkv格式 ffmpeg -i input.mp4 -vcodec copy -acodec copy output.mkv
- 解决ajax post json数据 后端无法收到的问题
如图,想把input框中的文字以json格式post出去,结果后端收不到 使用wireshark抓包,根本没有抓到发往服务器的包,说明错误在前端. 后来发现ajax post json数据的时候key ...
- MySQL优化方案二
摘自:http://www.thinkphp.cn/topic/3855.html 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需 ...
- 【我的Android进阶之旅】Android插件化开发学习资料
1.目前开源的插件开发框架大致有哪些? 1. 任玉刚 的 dynamic-load-apk Github 地址:https://github.com/singwhatiwanna/dynamic-lo ...
- 【Oracle】OGG数据初始化之RMAN
实验环境: 源端.目标端: DataBase:10.2.0.1.0 OS:OEL5.6 OGG:fbo_ggs_Linux_x86_ora11g_32bit 源端使用rman进行备份全库: RMAN& ...
- matplotlib作图——plot() 线图
线图 #定义 matplotlib.pyplot.plot() plot([x], y, [fmt], data=None, **kwargs) plot([x], y, [fmt], [x2], y ...
- Delphi 正则表达式语法(2): 或者与重复
Delphi 正则表达式语法(2): 或者与重复 // | 号的使用, | 是或者的意思 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create ...
- 虚拟环境virtualenv和virtualenvwrapper(转)
virtualenv是用来创建一个独立的Python虚拟环境的工具,通过virtualenv可以创建一个拥有独立的python版本和安装库的虚拟开发环境.这样一来我们就可以在虚拟环境中安装各种各种所需 ...