流程控制分类

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

单分支条件判断语句

条件语句

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

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. HTML列表(组标签)+div(布局标签)与span

    一.列表 HTML中常见的列表有三种,分别是: 1.无序列表,是一组描述列表语义的组标签,列表中每个项之间没有先后顺序:如图: 1)组标签:组标签就是由多个标签组成的一个整体,它们之间共同存在:例如 ...

  2. win Apache服务消失或无法启动

    在bin目录中找到httpd.exe命令,如下图所示.启动cmd,即命令行,使用管理员身份运行,cd至该bin目录下.   使用cmd执行如下命令进行服务的安装:httpd.exe -k instal ...

  3. 浅谈一致性哈希(My转)

    一致性哈希(Consistent hashing)算法是由 MIT 的Karger 等人与1997年在一篇学术论文(<Consistent hashing and random trees: d ...

  4. cookie函数封装

    var cookieUtil = { setCookie :function (cname, cvalue, exdays) { var exdate = new Date(); exdate.set ...

  5. Spring Boot—09通过Form提交的映射

    package com.sample.smartmap.controller; import org.springframework.beans.factory.annotation.Autowire ...

  6. Memory map of an object array

    Student类: package com.itheima; /* * 自动生成构造方法: * 代码区域右键 -- Source -- Generate Constructors from Super ...

  7. mybatis 一对多 id标签作用

    一对多 MyBatis的resultMap只用于配置结果如何映射,id的唯一作用就是在嵌套的映射配置时判断数据是否相同,当配置id标签时,MyBatis只需要逐条比较所有数据中id标签字段值是否相同即 ...

  8. jedis spring集成

    jedis spring集成把jedis的核心对象交给spring管理.jedis核心对象:配置文件.连接池配置对象.连接池.集成方式有两种:spring-data-redis:自己封装 前提:要有一 ...

  9. 为什么选用 React 创建混合型移动应用?

    [编者按]本文作者为 14islands 联合创始人.创新 Web 开发者 David Lindkvist,主要介绍有关混合型应用搭建的方方面面.文章系国内 ITOM 管理平台 OneAPM 编译呈现 ...

  10. eval解析json字符串

    场景:在springMVC,手动拼接的list,转成本json字符串后,传到前台, 解决:需要解析成json对象,获取对象的属性,动态生成table. 首先,以下是后台准备好的list,list中有两 ...