浏览以下内容前,请点击并阅读 声明

一般情况下,代码的执行按照从上到下的顺序,然而通过加入一些判断,循环和跳转语句,你可以有条件地执行特定的语句。

接下来分三部分介绍Java的控制流语句,他们是判断语句(if-then, if-then-else, switch),循环语句(for, while, do-while)和跳转语句(break, continue, return)。

判断语句

  if-then语句

if-then语句是控制流语句中最基本的语句,它告诉程序如果制定的条件为true,则执行一段特定代码。

  if-then-else语句

if-then-else语句提供了两条或者多条可执行的路径。

     int testscore = 76;
char grade; if (testscore >= 90) {//如果if后条件返回true,则执行该花挂号内代码,接着执行最后一行代码,否则判断下一个条件句,依次类推
grade = 'A';
} else if (testscore >= 80) {
grade = 'B';
} else if (testscore >= 70) {
grade = 'C';
} else if (testscore >= 60) {
grade = 'D';
} else {
grade = 'F';
}
System.out.println("Grade = " + grade);

switch语句

  switch语句像是匹配执行的语句。switch后的括号内的数据类型可以是基础类型中的byte,short,char,和int。也可使用枚举类型和String(字符串),封装了基础类型的Character,Byte,Short,Integer。其用法如下代码所示:

public class SwitchDemo {
public static void main(String[] args) { int month = 8;
String monthString;
switch (month) {
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
default: monthString = "Invalid month";
break;
}
System.out.println(monthString);
}
}

switch语句的主体又被称为switch代码块,switch代码块内可以多个case标签标记的代码,default标签可有可无,它表示如果没有匹配的结果,则执行default标记的代码,注意break的作用,如果没有break,则从匹配的case开始,switch代码块内的所有代码都会被执行。

循环语句

while语句

如果特定的条件为true时,while语句就会继续执行一段代码,执行后再对条件进行判断不断循环,条件为false时,循环终止。

while (expression) {//当条件为true时,执行花括号内代码,并再次判断
statement(s)
}

do-while语句

do-while语句的作用与while语句类似,不过它是先执行代码,后判断条件,循环至条件为false为止。

do {//无论expression是否为true,先执行花挂号内代码,然后判断循环的条件
statement(s)
} while (expression);

for语句

for语句有两种用法,一种是:

  • for (initialization; termination;increment) {//注意圆括号内用分号隔开 statement(s) }
  • initialization 表达式是对整个循环的初始化,在循环开始的时候只执行一次。
  • termination表达式用于判断循环是否终止,如果为false,则终止。
  • increment表达式每次循环都会执行一次,通常用来对一个变量增加一个值。

另外一种用法是通常是对一个数组或者集合进行遍历:

         int[] numbers =
{1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {//注意圆括号内用表达式引号隔开
System.out.println("Count is: " + item);

其中,左边表达式是声明一个与数组元素类型一致,或者兼容(继承或实现)的变量右侧则是数组变量。

跳转语句

break语句

break语句分为有标记的和无标记的两种情况,break语句除了可以用于switch语句中之外,也可用于打断循环语句,当没有标记时,break打断最内层的循环,有标记时则打断制定标记处的循环:

class BreakWithLabelDemo {
public static void main(String[] args) { int[][] arrayOfInts = {
{ 32, 87, 3, 589 },
{ 12, 1076, 2000, 8 },
{ 622, 127, 77, 955 }
};
int searchfor = 12; int i;
int j = 0;
boolean foundIt = false; search://标记用在循环的语句之前
for (i = 0; i < arrayOfInts.length; i++) {
for (j = 0; j < arrayOfInts[i].length;
j++) {
if (arrayOfInts[i][j] == searchfor) {
foundIt = true;
break search;//如果打断标记处循环,则要指出标记名称,此处为search
}
}
} if (foundIt) {
System.out.println("Found " + searchfor + " at " + i + ", " + j);
} else {
System.out.println(searchfor + " not in the array");
}
}
}

上述代码输出位:Found 12 at 1, 0

continue语句

continue用于跳过循环中剩余的部分代码,继续下一次循环,continue语句也分为标记代码和未标记的用法:

class ContinueDemo {
public static void main(String[] args) { String searchMe = "peter piper picked a " + "peck of pickled peppers";
int max = searchMe.length();
int numPs = 0; for (int i = 0; i < max; i++) {
// interested only in p's
if (searchMe.charAt(i) != 'p')
continue;//此处跳过循环中的余下代码 // process p's
numPs++;
}
System.out.println("Found " + numPs + " p's in the string.");
}
}

上述代码输出为:Found 9 p's in the string.

return语句

return语句用于方法中的返回,return语句有两种用法,后带返回值和不带返回值。执行return语句后,程序会退出该方法的执行。

java基础-控制流语句的更多相关文章

  1. Java实例 Part1:Java基础输出语句

    ** Part1:Java基础输出语句 ** 第一部分最基础,就是标准的输出语句. ps:(目前还没熟悉这个编辑器,先尝试一下) Example01 : 输出"hello world&quo ...

  2. Java基础——选择语句

    Java基础--选择语句     1. if语句 规律: 1. 首先计算表达式的值. 2. 若表达式为真,则执行对应语句,为假则不执行.   第一种: if(表达式) 语句;//多个语句可用{} 例如 ...

  3. 《Java基础——循环语句》

    Java基础--循环语句       1. while语句: 规则: 1. 首先计算表达式的值. 2. 若表达式为真,则执行循环语法,直至表达式为假,循环结束.   格式: while(表达式) 语句 ...

  4. 《Java基础——选择语句》

    Java基础--选择语句       1. if语句; 规则: 1. 首先计算表达式的值. 2. 若表达式为真,则执行对应语句,为假则不执行.   格式一: if(表达式) 语句;//多个语句可用{} ...

  5. 【BigData】Java基础_switch语句

    语法 switch(表达式) { case x: // 代码块 break; case y: // 代码块 break; default: // 代码块 } switch语句是这样工作的: switc ...

  6. java基础:switch语句应用,循环的详细介绍以及使用,附练习案列

    1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default ...

  7. java基础-表达式,语句和代码块

    浏览以下内容前,请点击并阅读 声明 表达式 表达式由变量,操作符和方法调用组成,表达式的返回值类型由表达式中的元素(如操作符,变量等)决定如: cadence = 0 上述代码将返回一个int类型的值 ...

  8. Java基础(2):Java中的四个跳转语句总结goto,break,continue,return

    跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这 ...

  9. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

随机推荐

  1. java annotation

    import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.an ...

  2. 把Git Repository建到U盘上去(转)

    把Git Repository建到U盘上去 转 把Git Repository建到U盘上去 Git很火.原因有三: 它是大神Linus Torvalds的作品,天然地具备神二代的气质和品质: 促进了生 ...

  3. UVA 10192 Vacation

    裸最长公共子序列 #include<time.h> #include <cstdio> #include <iostream> #include<algori ...

  4. 三、jQuery--Ajax基础--Ajax全接触--JSON

    JSON基本概念 JSON:JavaScript对象表示法(JavaScript Object Notation) JSON是存储和交换文本信息的语法,类似XML.它采用键值对的方式来组织,易于人们阅 ...

  5. Java集合源码学习(一)集合框架概览

    >>集合框架 Java集合框架包含了大部分Java开发中用到的数据结构,主要包括List列表.Set集合.Map映射.迭代器(Iterator.Enumeration).工具类(Array ...

  6. Platform SDK、Windows SDK简介

    Platform SDK及Windows SDK是由微软公司出品的一个软件开发包,向在微软的Windows操作系统和.NET框架上开发软件和网站的程序员提供头文件.库文件.示例代码.开发文档和开发工具 ...

  7. git中使用.gitignore文件

    在进行协作开发代码管理的过程中,常常会遇到某些临时文件.配置文件.或者生成文件等,这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push ...

  8. Linux环境下使用C/C++编写CGI(httpd)

    step1下载: ftp://ftp.gnu.org/gnu/cgicc/ step2: tar xzf cgicc-X.X.X.tar.gz(用最新版本) cd cgicc-X.X.X ./conf ...

  9. wp8 入门到精通 聊天控件

    <Grid > <Grid x:Name="bubble_right" VerticalAlignment="Center" RenderTr ...

  10. hdu 3032 sg打表找规律 *

    有n堆石子,alice先取,每次可以选择拿走一堆石子中的1~x(该堆石子总数) ,也可以选择将这堆石子分成任意的两堆.alice与bob轮流取,取走最后一个石子的人胜利. 打表代码: #include ...