JAVA基础--流程控制语句02
JAVA流程控制语句
一、程序流程
- 定义:只代码执行的先后顺序
- 种类
顺序流程:程序默认流程,按照书写顺序执行
选择流程:选择语句 判断语句
重复流程: 循环控制语句
二、选择流程控制语句
- 判断语句
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的更多相关文章
- Java基础 - 流程控制语句
package com.demo4; /* * 流程控制语句 * 流程控制语句分类: * 顺序结构 * 代码从上往下按照顺序执行 * * 选择结构 * if * if (关系表达式1) { * 语句体 ...
- Java基础-流程控制语句与运算符
运算符 算术运算符 ++ -- 在前时先运算后取值:在后时先取值后运算 关系运算符 == !=也可以是引用类型 位运算符 逻辑运算符 赋值运算符 条件运算符 (?:) 布尔表达式 ? 表达式1 : 表 ...
- java基础之 控制语句
java基础之控制语句 在java中控制语句包括: if-else语句 swicth-case 语句 while循环 do-while循环 for循环 break语句 continue语句 其中:if ...
- [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...
- java自学-流程控制语句
一件事情从开始到结束,需要先做什么,再做什么,最后再怎么做,这段过程就是一个流程.程序逻辑处理也是一个流程,java中有专门的流程控制语句,主要分为这几种:顺序,判断,选择,循环. 1.顺序流程 顺 ...
- Java学习笔记八:Java的流程控制语句之循环语句
Java的流程控制语句之循环语句 一:Java循环语句之while: 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...
- Java学习笔记六:Java的流程控制语句之if语句
Java的流程控制语句之if语句 一:Java条件语句之if: 我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一朵小红花 .对于这种“需要先判断条件,条件满 ...
- Java基础-流程控制(04)
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...
- 2017.10.14 Java的流程控制语句switch&&随机点名器
今日内容介绍 1.流程控制语句switch 2.数组 3.随机点名器案例 ###01switch语句解构 * A:switch语句解构 * a:switch只能针对某个表达式的值作 ...
随机推荐
- Python机器学习--降维
主成分分析(PCA) 测试 # -*- coding: utf-8 -*- """ Created on Thu Aug 31 14:21:51 2017 @author ...
- 前端高频面试题 CSS篇
通过从网上看到的面经,总结的一些高频的前端CSS面试题,有很多不会,于是找资料,并通过代码实现,自己提供了一些参考答案. 目录 1.怎样会产生浮动? 2.如何清除浮动? 3.盒子模型,以及IE和其他浏 ...
- 玩转Bash脚本:循环结构之while循环(转)
转自:http://blog.csdn.net/guodongxiaren/article/details/43341769 总第8篇 本系列(玩转Bash脚本)更多文章,请访问:http://b ...
- 李洪强iOS开发之 - enum与typedef enum的用法
李洪强iOS开发之 - enum与typedef enum的用法 01 - 定义枚举类型 上面我们就在ViewController.h定义了一个枚举类型,枚举类型的值默认是连续的自然数,例如例子中的T ...
- 全志Android SDK编译详解(一)
1.编译环境说明 Linux 服务器(任意电脑都可以,建议选择配置高的)安装ubuntu 10.04 作为编译的主机,其他开发者在xp 下,通过SSH/Telent 等协议登录linux 主机进行编. ...
- Creating a .bash_profile on your mac
A typical install of OS X won't create a .bash_profile for you. When you want to run functions from ...
- Golang-interface(二 接口与nil)
github: https://github.com/ZhangzheBJUT/blog/blob/master/nil.md 一 接口与nil 前面解说了go语言中接口的基本用法,以下将说一说nil ...
- SpringMVC中返回JSON时乱码的解决方案
springMVC中返回JSON会出现乱码,解决如下: produces = "text/html;charset=UTF-8" @ResponseBody @RequestMap ...
- hive增加Update、Delete支持
一.配置hive-site.xml二.建表三.操作四.总结 一.配置hive-site.xml CDH版本先进入Hive配置页 选择高级,找到hive-site.xml 的 Hive 客户端高级配置代 ...
- inheritance super overrides printMethod in Superclass override重写父方法
Core Java Web Page http://horstmann.com/corejava.html [ inheritance ] package v1ch05.inheritance; im ...