Java入门教程三(流程控制)
概述
程序有 3 种结构:顺序结构、选择结构和循环结构。分别为:if elseswitch case,while与do while,for, foreach,return,break ,continue
if else
if 选择结构是根据条件判断之后再做处理的一种语法结构。默认情况下,if 语句控制着下方紧跟的一条语句的执行。不过,通过语句块,if 语句可以控制多个语句。

public static void main(String[] args)
{
int a=1,b=2;
if(a>b){
System.out.println("a大于b");
}else{
System.out.println("a小于b");
}
}
swithc case
switch 语句能解决 if 分支过多的情况,提供一种简洁的方法来处理对应给定表达式的多种情况。

public static void main(String[] args)
{
int a=1;
switch(a)
{
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
break;
default:
System.out.println("1");
break;
}
}
while与do while
while
while 循环语句可以在一定条件下重复执行一段代码。该语句需要判断一个测试条件,如果该条件为真,则执行循环语句(循环语句可以是一条或多条),否则跳出循环。

public static void main(String[] args)
{
int a=0,b=0;
while(a<10)
{
b++;
}//b为10
}
do while
do…while 循环语句也是 Java 中运用广泛的循环语句,它由循环条件和循环体组成,但它与 while 语句略有不同。do…while 循环语句的特点是先执行循环体,然后判断循环条件是否成立。

public static void main(String[] args)
{
int a=0,b=0;
do
{
b++;
}while (a<10);//b为10
}
for
for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。for 语句通常使用在知道循环次数的循环中。

public static void main(String[] args)
{
int a=0;
for(int i=0;i<5;i++)
{
a++;//a为5
}
}
foreach
foreach 循环语句是 for 语句的特殊简化版本,主要用于执行遍历功能的循环。

public static void main(String[] args)
{
String[] a={"HelloWorld","HelloWorld","HelloWorld","HelloWorld"};
//使用 foreach 循环语句遍历数组
for(String b: a)
{
System.out.println(b);//全部输出HelloWorld
}
}
return
return 语句用于终止函数的执行或退出类的方法,并把控制权返回该方法的调用者。如果这个方法带有返回类型,return 语句就必须返回这个类型的值;如果这个方法没有返回值,可以使用没有表达式的 return 语句。
public static int main()
{
return 1;//该方法体返回1
}
break
在 switch 语句中终止一个语句序列、使用 break 语句直接强行退出循环和使用 break 语句实现 goto 的功能。
在 switch 语句中终止一个语句序列
在 switch 语句中终止一个语句序列,就是在每个 case 子句块的最后添加语句“break;”
public static void main(String[] args)
{
int a=1;
switch(a)
{
case 1:
System.out.println("a等于1直接跳出");
break;
default:
System.out.println("默认跳出与!");
break;
}
}
使用 break 语句直接强行退出循环
可以使用 break 语句强行退出循环,忽略循环体中的任何其他语句和循环的条件判断。在循环中遇到 break 语句时,循环被终止,在循环后面的语句重新开始。
public static void main(String[] args)
{
for(int i=0;i<10;i++)
{
if(i==5){
System.out.println("i为5时跳出循环");
break;
}
}
}
使用 break 语句实现 goto 的功能
break 语句可以实现 goto 的功能,并且 Java 定义了 break 语句的一种扩展形式来处理退出嵌套很深的循环这个问题。
public static void main(String[] args)
{
label:for(int i=0;i<10;i++)
{
for(int j=0;j<8;j++)
{
System.out.println(j);
if(j%2!=0)
break label;
}
}
}
}
//输出0、1
continue
continue 语句是跳过循环体中剩余的语句而强制执行下一次循环,其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
public static void main(String[] args)
{
for(int i=0;i<10;i++)
{
if(i>2)//如果i>6执行下一次循环
{
continue;
}
System.out.println(i);
}
}
//输出0、1、2
Java入门教程三(流程控制)的更多相关文章
- Swift中文教程(三)--流程控制
原文:Swift中文教程(三)--流程控制 Swift用if和switch编写条件控制语句,用for-in,for,while和do-while编写循环.条件控制语句和循环语句中,小括号是可选的,但花 ...
- JAVA入门基础及流程控制
JAVA入门基础及流程控制 数据类型 位 存储单位 eg:0001 0011 八位 字节 byte 处理数据单位 一字节等于八位 eg:1b=0011 0001 类变量: static int num ...
- Shell入门教程:流程控制(1)命令的结束状态
在Bash Shell中,流程控制命令有2大类:“条件”.“循环”.属于“条件”的有:if.case:属于“循环”的有:for.while.until:命令 select 既属于“条件”,也属于“循环 ...
- Java基础教程(9)--流程控制
一.分支结构 1.if语句 if语句会与其后的第一条语句或代码块结合,且只有当判断条件为true时才执行语句或代码块.例如,自行车只有在运动的时候才可以减速,就像下面这样: void applyB ...
- 【重点】Shell入门教程:流程控制(3)条件判断式的真假值
之前曾提到,在Bash中什么是真什么是假,是以命令的结束状态是否为0来做判断.传回0,即为真:传回非0,即为假. 在Bash中,这种可以影响程序流程的式子,称为条件判断式.判断式的操作数分成“单元”及 ...
- 【重点】Shell入门教程:流程控制(2)条件判断的写法
第三节:条件判断的写法 if条件判断中,if的语法结构中的“条件判断”可以有多种形式.测试结果是真是假,就看其传回的值是否为0. 条件测试的写法,有以下10种: 1.执行某个命令的结果 这里的命令,可 ...
- Shell入门教程:流程控制(4)case 条件判断
case的语法结构: case 待测项 in 样式串1] 命令区域1 ;; (样式串2) 命令区域2 ;; 样式串3) 命令区域3 ;; *) 命令区域 ;; esac 命令区域,可以是单一指令或多行 ...
- Shell入门教程:流程控制(5)for 循环
for循环的运作方式,是将 串行 的元素的元素一一取出,依序放入制定的变量中,然后重复执行含括的命令区域(在 do 与 done 之间),直到所有元素取尽为止. 其中,串行是一些字符串的组合,彼此用 ...
- Shell入门教程:流程控制(6)while 循环
while循环的语法: while 条件测试 do 命令区域 done 举例: #!/bin/bash declare -i i=1 declare -i sum=0 while ((i< ...
随机推荐
- poj-3662 Telephone Lines 二分答案+最短路
链接:洛谷 POJ 题目描述 Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone co ...
- git命令简单使用
git config --global user.name 'sss' git config --global user.email 'huahua@163.com' cd d:/mywork git ...
- 四剑客(awk)
AWK AWK简介 虽然sed编辑器是非常方便自动修改文本文件的工具,但其也有自身的限制.通常你需要一个用来处理文件中的数据的更高级工具,它能提供一个类编程环境来修改和重新组织文件中的数据.这正是ga ...
- Oracle中的 timestamp 和 timestamp with time zone, timestamp with local time zone
SQL> select dbtimezone, sessiontimezone from dual; DBTIME ------ SESSIONTIMEZONE ---------------- ...
- 修改hosts文件不需要重启的方法
显示DNS缓存内容: ipconfig /displaydns 更新DNS缓存内容: ipconfig /flushdns
- Django学习之视图层
视图层 小白必会三板斧 HttpResponse render redirect django视图函数必须要给返回一个HttpResponse对象(render和redirect内部返回的也是一个Ht ...
- [LC] 203. Remove Linked List Elements
Remove all elements from a linked list of integers that have value val. Example: Input: 1->2-> ...
- as和强制类型转换的区别
之前一直以为as就是强制类型转换,只是as是AS3中新的语法,之前用在有继承关系的对象之间的转换也无甚区别,但是今天却让我领悟到了它俩之间的区别. 原起:今天要给ColorPicker控件动态赋值,它 ...
- Qt 线程池QThreadPool类、QRunnable类
QThreadPool类 用来管理 QThreads.此类中的所有函数都是线程安全的. 主要属性: 1.activeThreadCount: 此属性表示线程池中的活动线程数,通过activeThrea ...
- IPC|同族专利|专利法|Soopat|专利之星|derwent innovations index|espacenet|j-piatpat|
信息检索: 同族专利是基于同一优先权文件,在不同国家或地区,以及地区间专利组织多次申请.多次公布或批准的内容相同或基本相同的一组专利文献.同族专利检索用于同一个专利在其他国家的申请情况,查看类似专利的 ...