JAVA流程控制语句

一、程序流程

  1. 定义:只代码执行的先后顺序
  2. 种类

    

    顺序流程:程序默认流程,按照书写顺序执行

    选择流程:选择语句 判断语句

    重复流程: 循环控制语句

二、选择流程控制语句

  1.  判断语句

    a. 单支判断    

    语句格式:

      if(布尔表达式)

       {

        选择执行的代码分支;

       }


  1 class IfDemo1
2 {
3 public static void main(String[] args)
4 {
5 //模拟买票
6 /*
7 如果乘客身高低于1.2m,就免票
8 */
9 //不同的人,身高不同,是一个不确定的数据;
10 //不确定的数据,需要使用变量保存
11 double height = 1.0;//表示定义一个变量,用来描述乘客的身高
12
13 //因为提醒买票这句话,是根据身高判断的,不会一直执行,有可能执行到,所 以使用单只判断;
14 /*
15 if(布尔表达式)
16 {
17 选择执行的代码分支;
18 }
19 */
/*
根据要求看,因为只有身高大于或等于1.2,才会提醒买票
所以判断条件是:
*/
if(height >= 1.2)
{
//选择执行的代码分支
//用一句话表示乘务员提醒顾客买票
System.out.println("请买票!");
} System.out.println("end!");
}
}

     b. 双支判断

语句格式:

if(布尔表达式)

{

选择执行的代码分支一;

}else{

选择执行的代码分支二;

}

 class IfDemo2
{
public static void main(String[] args)
{
/*
如果考试不低于600分,就买想要的东西;
否则,就去搬砖;
*/
/*
if(布尔表达式)
{
选择执行的代码分支一;
}else{
选择执行的代码分支二;
}
*/ //实际上有两种可能会执行的动作,所以使用双支判断语句
//因为到底执行哪个分支,是根据实际的分数判断的,
//而分数是不确定的,所以要定义一个变量 int score = 699; if(score >= 600){
//第一种:买东西
System.out.println("买IPad!");
}else{
//第二种:搬砖
System.out.println("去工地搬砖!");
} System.out.println("end!");
}
}

双之判断

    c. 多只判断

    

语句格式:

if(布尔表达式一)

{

选择执行的代码分支一;

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

选择执行的代码分支二;

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

选择执行的代码分支三;

}

……

else{

选择执行的代码分支n;

}

 class IfDemo4
{
public static void main(String[] args)
{
/*
需求:
根据人物的经验,显示相应的等级; 0~10:初入江湖;
>=10~20: 展露头角;
>=20~50:行侠天下
>=50~80:名动江湖
>=80:一统江湖;
*/
/*
实际上,只会根据具体的经验,显示一个等级;
也就是说实际上只会执行一个操作
在多个选择中执行一个,就要使用多只判断语句
if(布尔表达式一)
{
选择执行的代码分支一;
}else if(布尔表达式二){
选择执行的代码分支二;
}else if(布尔表达式三){
选择执行的代码分支三;
}
……
else{
选择执行的代码分支n;
}
*/
//经验是不确定,所以要定义一个变量保存;
int jingYan = -1; if(jingYan>=0 && jingYan<10){
System.out.println("初入江湖!");
}else if(jingYan>=10 && jingYan<20){
System.out.println("展露头角!");
}else if(jingYan>=20 && jingYan<50){
System.out.println("行侠天下!");
}else if(jingYan>=50 && jingYan<80){
System.out.println("名动江湖!");
}else if(jingYan>=80){
System.out.println("一统江湖!");
} System.out.println("end!");
}
}

多支判断

    d. 嵌套循环

    

  在判断语句的代码分支里面再写判断语句,就是嵌套判断;

    if(判断条件){

      if(判断条件){

        选择执行的代码;

           }

         }

    e. 简写单支判断语句

    2. 判断语句常见错误

        a. 布尔表达式写错(即判断条件)

        b. 不该出现分号的地方加上分号

      

        c. else 判断分支条件不能加布尔表达式(判断条件)

    

        d.  else不能单独使用

    

   2. 选择语句 

    语句格式:

      switch(常量表达式){

      case 匹配值1:选择执行的语句1;

      case 匹配值2:选择执行的语句2;

      case 匹配值3:选择执行的语句3;

        ……

      case 匹配值n:选择执行的语句n;

      default:选择执行的语句n+1;

      }

   switch语句支持的数据类型

    byte;short;char;int;

    枚举(enum);

    JDK1.7之后:String;

在执行和case后面的值的匹配时,如果有匹配成功的,就不会再去匹配了;

  

 class SwitchDemo
{
public static void main(String[] args)
{
/*
需求:根据指定的日期,输出相应的星期几;
1:星期一;
2:星期二;
……
7:星期日;
*/ //指定的日期不清楚,需要使用一个变量保存:
int day = 10; switch(day){
case 1:System.out.println("星期一");break;
case 2:System.out.println("星期二");break;
// case 2:System.out.println("星期二");case标签不能重复
case 3:System.out.println("星期三");break;
case 4:System.out.println("星期四");break;
case 5:System.out.println("星期五");break;
case 6:System.out.println("星期六");break;
case 7:System.out.println("星期日");break;
//default语句可以写在上面,如果写在上面,后面的break不能省略
default:System.out.println("输入日期有误");
}
}
}

选择语句 switch

    switch 什么时候接触

     a. 遇到break;  b.遇到右边大括号

if语句和switch语句的区别:if的每一个条件判断 都要计算一次值  switch只是开始的时候获取一次常量值

对于区间范围的判断,使用if语句更合适;对于少数的固定值的匹配,使用switch语句更合适;

     4. 重复语句

     a. 定义:需要重复执行某些动作,需要用到重复流程

    b. 形式:

      语句格式:

        while(布尔表达式)

            {

              需要重复执行的代码;

            }

      

      c. do while形式

        语句格式:

            do{

                需要重复执行的代码;

             }while(布尔表达式);

      5. for 循环

          语句格式:

            for(表达式一;表达式二;表达式三)

            {

              需要重复执行的代码

            }

注意:

三种循环总结:

1、如果在开发中,要求循环体代码至少要执行一遍,应该使用do-while循环;

2、如果在开发中,控制循环次数的变量只需要在循环语句中使用,就应该使用for循环;

      4. 循环嵌套

        a.  如果在循环体里面再书写循环代码,就是嵌套循环;

总结:嵌套循环执行时,执行外层循环的循环体代码,执行一次,内层循环就要全部循环完成;

嵌套循环的执行总次数,等于外层循环的次数和内层循环的次数之积;

所以嵌套循环效率比较低,一般不建议嵌套太多层,两层就够了;

    5. 转义字符

    

    6. break & continue

      a. break

      结束当前所在语句,用于switch和循环语句中

  

总结:break在嵌套循环中,默认结束离他最近的这个循环;

总结:要结束外层循环,可以加一个标记;这个标记可以自定义;

    b. continue :

作用:表示结束本次循环,继续下一次循环;不会影响循环次数;

JAVA基础--流程控制语句02的更多相关文章

  1. Java基础 - 流程控制语句

    package com.demo4; /* * 流程控制语句 * 流程控制语句分类: * 顺序结构 * 代码从上往下按照顺序执行 * * 选择结构 * if * if (关系表达式1) { * 语句体 ...

  2. Java基础-流程控制语句与运算符

    运算符 算术运算符 ++ -- 在前时先运算后取值:在后时先取值后运算 关系运算符 == !=也可以是引用类型 位运算符 逻辑运算符 赋值运算符 条件运算符 (?:) 布尔表达式 ? 表达式1 : 表 ...

  3. java基础之 控制语句

    java基础之控制语句 在java中控制语句包括: if-else语句 swicth-case 语句 while循环 do-while循环 for循环 break语句 continue语句 其中:if ...

  4. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

  5. java自学-流程控制语句

    一件事情从开始到结束,需要先做什么,再做什么,最后再怎么做,这段过程就是一个流程.程序逻辑处理也是一个流程,java中有专门的流程控制语句,主要分为这几种:顺序,判断,选择,循环. 1.顺序流程  顺 ...

  6. Java学习笔记八:Java的流程控制语句之循环语句

    Java的流程控制语句之循环语句 一:Java循环语句之while: 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...

  7. Java学习笔记六:Java的流程控制语句之if语句

    Java的流程控制语句之if语句 一:Java条件语句之if: 我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一朵小红花 .对于这种“需要先判断条件,条件满 ...

  8. Java基础-流程控制(04)

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...

  9. 2017.10.14 Java的流程控制语句switch&&随机点名器

    今日内容介绍 1.流程控制语句switch 2.数组 3.随机点名器案例 ###01switch语句解构     * A:switch语句解构       * a:switch只能针对某个表达式的值作 ...

随机推荐

  1. NBUT 1457 Sona (莫队算法)

    题目大意: 求一段区间内 出现的数字的次数的三次方的和 思路分析: 这要水过去的题目真是难,各种优化. 不能用map , 要离散化之后 先处理lowerbound. 优化输入. . . 时间卡的非常紧 ...

  2. 为什么一个目录里放超过十个Mp4文件会导致资源管理器和播放程序变卡变慢?

    最近<鬼吹灯之精绝古城>大火,我也下载了剧集放在移动硬盘里. 起初还没事,当剧集超过十个时发现资源管理器变慢了,表现为上方的绿条总是在闪动前进,给文件改名都缓慢无比. 当剧集超过十五个时, ...

  3. PS 如何把大嘴变小嘴

    Photoshop整容教程:让MM美唇大嘴变小嘴 2009-06-17 14:15作者:佚名出处:天极网软件频道责任编辑:王健       下面就开始实际操作了.       1.首先从Photosh ...

  4. SolidEdge 如何绘制辅助视图

    如果你要创建辅助视图,则点击辅助视图按钮,然后鼠标滑过要正视的面上,出现灰色的时候向上拉即可.   你可以右击箭头,点击性质,改变箭头的符号等样式.  

  5. C#json数据的序列化和反序列化(将数据转换为对象或对象集合)

    引用 System.Runtime.Serialization.Json

  6. JS基础——构造函数VS原型

    JS是一种基于对象的语言.在使用过程中不免遇到复制对象的问题.但通常我们採用的直接赋值'obj1=obj2'这样的做法会出现数据覆盖问题. 也就是对象引用过程中引用地址一致.导致对象数据被改动的问题. ...

  7. leetcode第一刷_Best Time to Buy and Sell Stock III

    这道题还是挺难的,属于我前面提到的,给个数组,线性时间找出个什么东西,尽管上面的两个买卖股票也是这类.只是相比之下稚嫩多了.有关至少至多的问题比較烦人,不好想,等再做一些题,可能会发现什么规律.这道题 ...

  8. HDU 5344 MZL's xor (多校)[补7月28]

    MZL's xor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  9. iOS多线程编程(四)------ GCD(Grand Central Dispatch)

    一.简单介绍 是基于C语言开发的一套多线程开发机制.也是眼下苹果官方推荐的多线程开发方法.用起来也最简单.仅仅是它基于C语言开发,并不像NSOperation是面向对象的开发.而是全然面向过程的.假设 ...

  10. 【转载】FAT12格式的引导程序

    FAT12格式的引导程序 在上一篇文章中详细介绍了FAT12格式的引导扇区数据结构,详情请浏览: 地址是:http://blog.sina.com.cn/s/blog_3edcf6b80100cr08 ...