流程控制分类

  • 顺序语句:从上到下按顺序依次执行
  • 分支语句:根据条件不同,执行不同语句
  • 循环语句:重复执行某些动作

单分支条件判断语句

条件语句

  只是单独的判断条件是否成立

if选择结构是根据条件判断之后再做处理

语法

if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}

注意:条件必须是boolean类型
if只带一条语句可以省略{}

双分支条件判断语句

if...else...需要对条件成立和不成立的情况分别处理

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

语法

if(条件){
//代码块1
}else{
//代码块2
}

多分支条件判断语句

if...else if...else 语句

语法

if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}

注意:多个条件用多个 else if,而if只能有一个;
      else可以省略,表示以上条件都不成立执行else
      if,else if,else只带一条语句可以省略{}

String类型比较字符串相等的方法 

字符串1.equals("字符串2");//相等 true 不相等false
== 判断的是内存地址,是否为同一对象,不是字符串值。

int num2 = input.nextInt();
boolean flag = num2.equals("+");

switch语句

switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

语法

witch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}

switch和多重if的区别

【1】switch只能进行等值的条件判断;多重if可以判断任何情况,但多用于范围的判断;

【2】同样都是等值的判断,switch效率要高一些

switch注意:

【1】支持标签堆叠:空标签罗列在一起

【2】多个条件判断可以有多个case标签

【3】default:标签可以省略

【4】break;结束switch不加 继续执行;

【5】表达式的类型与值的类型要一致,只能是byte,short,int,char,String,枚举

 package test;

 import java.util.Scanner;

 public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入一个月份:");
int month = input.nextInt();
switch(month) {
case 3:
case 4:
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
break;
case 12:
case 1:
case 2:
System.out.println("冬天");
break;
default:
System.out.println("输入的月份不正确!");
}
System.out.println("Game Over!");
}
}

分支语句嵌套

if(条件1){

   if(条件2){
代码块;
}
}

注意:只有外层 条件1 成立true,才能进行内层 条件2 的判断。

循环语句

循环:重复执行的操作。
特点:循环条件
循环操作

分类:
非固定次数循环
while
do - while

固定次数循环
for

非固定次数循环

while(条件){
循环体;//循环操作 }

特点:先进行条件判断,后执行循环操作。
解决循环次数固定的问题:
三要素:1.循环变量的初值;
    2.循环变量的终止值(条件)
    3.循环变量变化的值(迭代,增量)

解决非固定次数问题:
解题方法:1.确定循环条件
     2.确定循环体;

do-while循环

do{
循环体;
}while(循环条件);

注意:先执行,后判断条件;

固定次数循环

for(初值;条件终止值;增量){
循环操作;
}

注意:先条件判断
支持逗号表达式

跳转语句

break

【1】用在switch和循环中

【2】用在单层循环中,用来结束循环

continue

【1】continue语句用来结束本次循环

【2】用在循环语句中

  

 

Day3 分支结构和循环结构的更多相关文章

  1. Chrome弹窗的简单应用(选择结构与循环结构)

    ★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图   ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用   比较大小 ★ 判断成绩等级 ): : : : : alert(" ...

  2. 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套

    ------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...

  3. Java程序流程控制:判断结构、选择结构、循环结构

    本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ...

  4. 大数据学习--day04(选择结构、循环结构、大数据java基础面试题)

    选择结构.循环结构.大数据java基础面试题 switch: 注意: byte short int char String(jdk1.7支持) 不能是 long float double boolea ...

  5. 039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述

    039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ...

  6. java顺序结构、循环结构、选择结构

    java顺序结构.选择结构.循环结构 顺序结构: 语句与语句之间,框与框之间是从上到下的顺序进行的,它是由若干个依次执行的处理步骤执组成的,它是任何一个算法都不离开的一种基本算法结构. 选择结构: 1 ...

  7. java第三课:分支结构、循环结构

    分支结构 1.if后面可以不加{},但是不建议,容易产生误解2.写程序的时候先防屌丝测试,再写逻辑,否则会出错3.if:一条分支 if else:两条分支 if...else if...:多条分支(结 ...

  8. C#学习笔记11:C#中的顺序结构、分支结构、循环结构

    顺序结构: 代码从Main()函数开始运行,从上到下,一行一行的执行,不漏掉代码. Int a=6; int b=5; int c=a+b; Console.Write(c); 分支结构: 代码有可能 ...

  9. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...

  10. JS基础-----JS中的分支结构及循环结构

    [分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语 ...

随机推荐

  1. Java注解(三)

    上一篇了解了自定义注解的使用,不过里面的例子没有多大使用价值,这一回来个有用点的Demo. 目标:将实体bean保存到数据库 先来定义一个实体注解 import java.lang.annotatio ...

  2. WebApiTestHelpPage

    这是个什么鬼,第一次见到的时候,我也不知道就花几天时间看了下它的代码 在网上搜索WebApiTestHelpPage会出来很多相关页面   但是它们都是介绍怎么用的,要么就是怎么添加注释   它是怎么 ...

  3. Java虚拟机基础知识你知道多少?

    http://www.cnblogs.com/qlky/p/7401841.html java虚拟机结构 http://liuwangshu.cn/java/jvm/1-runtime-data-ar ...

  4. Dijkstra Java

    https://leetcode.com/problems/network-delay-time/ /* Java program to find a Pair which has maximum s ...

  5. AutoFac使用方法总结四:生命周期续

         控制反转(IoC/Inverse Of Control):   调用者不再创建被调用者的实例,由autofac框架实现(容器创建)所以称为控制反转.      依赖注入(DI/Depende ...

  6. Spring boot 入门四:spring boot 整合mybatis 实现CRUD操作

    开发环境延续上一节的开发环境这里不再做介绍 添加mybatis依赖 <dependency> <groupId>org.mybatis.spring.boot</grou ...

  7. POJ2251(KB1-B 三维BFS)

    Dungeon Master Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 40872 Accepted: 19936 Desc ...

  8. python学习之老男孩python全栈第九期_day016作业

    1. 请利用filter()过滤出1~100中平方根是整数的数,即结果应该是: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] import math def func( ...

  9. 初学JavaSE

    Java简介 Java面向对象程序设计语言和Java平台的总称. Java常用术语介绍 JVM:java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class ...

  10. ArcGIS10+:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS

    ArcGIS10+版本,使用VS创建一个简单的AE应用程序,然后拖放一个toolbar.LicenseControl以及MapControl控件. 接着编译应用程序,编译成功. 然后单击F5运行程序, ...