java自学-流程控制语句
一件事情从开始到结束,需要先做什么,再做什么,最后再怎么做,这段过程就是一个流程。程序逻辑处理也是一个流程,java中有专门的流程控制语句,主要分为这几种:顺序,判断,选择,循环。
1.顺序流程
顺序流程就是代码一行一行往下执行,不根据条件判断是否需要执行。
示例代码:
public static void main(String[] args){
//顺序执行,根据编写的顺序,从上到下运行
int a=1;
int b=2;
System.out.println(a+b);
}
2.判断流程
判断流程就是根据条件判断是不是要去执行这段代码,在生活中比如如果下雨就要带伞,不下雨就不带伞,这就是一个判断流程。java中判断流程控制语句是if...else...,if...else if...else
if...else... 语法:
if(条件) {
处理流程1;
}else {
处理流程2;
}
如果满足if里的条件,就会走if后边大括号里的流程1,否则就会走else后的大括号里的流程2;也可以只写if,不写else,既:
if(条件) {
处理流程1;
}
这样如果满足条件就走处理流程1,不满足就什么流程也不走。
示例代码:
public static void main(String[] args){
// 定义变量
int a = 1;
if(a>= 0) {//条件
System.out.println("流程1");
} else{
System.out.println("流程2");
}
}
if..else...语句作用等同于之前说的三目运算符
示例代码:
public static void main(String[] args) {
int a = 1;
int b = 2;
int max;//定义变量,保存a和b的较大值
if(a > b) {
max = a;
} else {
max = b;
}
//等同于三元运算符形式
max = a > b ? a:b;、、如果a>b,max=a,否则max=b
}
if...else if...else语法:
if (条件1) {
流程1;
} else if (条件2) {
流程2;
}
...
}else if (条件n) {
流程n;
} else {
流程n+1;
}
这种可以有多个判断条件,如果满足if里的条件,就会走if后边大括号里的流程,不满足if但是满足else if里的条件,就会走else if后边大括号里的流程,否则就会走else后的大括号里的流程;也可以不写最后的else
示例代码:
public static void main(String[] args) {
int score = 100;
if(score<0 || score>100){
System.out.println("你的成绩是错误的");
}else if(score>=90 && score<=100){
System.out.println("你的成绩属于优秀");
}else if(score>=80 && score<90){
System.out.println("你的成绩属于好");
}else if(score>=70 && score<80){
System.out.println("你的成绩属于良");
}else if(score>=60 && score<70){
System.out.println("你的成绩属于及格");
}else {
System.out.println("你的成绩属于不及格");
}
}}
3.选择流程
switch语法:
switch(表达式) {
case 常量值1:
流程1;
break;
case 常量值2:
流程2;
break;
...
default:
流程n+1;
break;
}
switch括号里是一个表达式,如果表达式值和case后的常量相等,就走对应流程,如果都没有对应的,就走default,default也可以不写,但是推荐写上。每个case后的流程最后都要写break;否则会继续走下一个case。
示例代码:
public static void main(String[] args) {
int i = 3;
switch (i){
case 1:
System.out.println("1");
break;
case 3:
System.out.println("3");//i为3,会走这里流程,但是因为没有break,还会走下个case,一直到遇到break或者走到default
case 5:
System.out.println("5");
break;
default:
System.out.println("default");
}
}
4.循环流程
循环就是一段代码执行多次,就像小时候老师罚写作业一样,一个字写20遍。java循环流程控制语句有:for,while,do...while
for语法:
for(初始化表达式1; 布尔表达式2; 步进表达式3){
流程
}
初始化表达式1定义一个变量并赋一个值,布尔表达式2会判断这个值是否满足条件,满足就走大括号里流程,然后按照步进表达式3改变初始表达式1定义的变量值,再根据布尔表达式2判断,一直这样循环,知道不满足布尔表达式,for循环结束。
示例代码:
public static void main(String[] args) {
//定义变量i从0开始,循环条件为i<10,每次i会+1,直到i=10时,不满足条件,循环结束,结果会输出0 1 2 3 4 5 6 7 8 9
for(int i = 0; i< 10; i++) {
System.out.println(i);
}
}
while语法:
初始化表达式1
while(布尔表达式2){
循环体
步进表达式3
}
while语法是先定义一个初始化变量,在初始化表达式1赋值,然后判断是否满足布尔表达式2,满足就进入大括号内,执行循环体,步进表达式3是对初始化变量的操作,每次循环之后判断是否符合布尔表达式2,不符合则结束循环。
示例代码:
public static void main(String[] args) {
//while循环10次
int i = 1;//定义初始化变量
while(i<=10){//循环条件<=10
System.out.println(i);
i++;//步进
}
}
do...while...语法:
初始化表达式1
do{
循环体
步进表达式2
}while(布尔表达式3);
do...while...语句先定义一个初始化变量,在初始化表达式1赋值,然后就进入大括号内,执行循环体,步进表达式2是对初始化变量的操作,执行大括号内代码后,判断是否满足布尔表达式3,满足就循环,不满足就结束循环。do...while...和while相比是先执行循环内容,然后再判断是否继续循环。
最后再说两个关键字,break和continue。break用在循环体中直接结束循环,continue用在循环体中,continue之后代码不执行,跳出本次循环,开始下次循环。
java自学-流程控制语句的更多相关文章
- Java学习笔记八:Java的流程控制语句之循环语句
Java的流程控制语句之循环语句 一:Java循环语句之while: 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...
- Java学习笔记六:Java的流程控制语句之if语句
Java的流程控制语句之if语句 一:Java条件语句之if: 我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一朵小红花 .对于这种“需要先判断条件,条件满 ...
- 2017.10.14 Java的流程控制语句switch&&随机点名器
今日内容介绍 1.流程控制语句switch 2.数组 3.随机点名器案例 ###01switch语句解构 * A:switch语句解构 * a:switch只能针对某个表达式的值作 ...
- JAVA基础--流程控制语句02
JAVA流程控制语句 一.程序流程 定义:只代码执行的先后顺序 种类 顺序流程:程序默认流程,按照书写顺序执行 选择流程:选择语句 判断语句 重复流程: 循环控制语句 二.选择流程控制语句 判断语句 ...
- Java基础 - 流程控制语句
package com.demo4; /* * 流程控制语句 * 流程控制语句分类: * 顺序结构 * 代码从上往下按照顺序执行 * * 选择结构 * if * if (关系表达式1) { * 语句体 ...
- Java SE ---流程控制语句
java的控制流程有三种: 一,顺序流程 自上而下,按照代码的先后顺序执行 二,分支流程 1,if/else语句 2,swit ...
- Java 程序流程控制语句
顺序语句 语句:使用分号分隔的代码称作为一个语句 注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句 顺序语句就是按照从上往下的顺序执行的语句 Scanner scanner = new ...
- Java之流程控制语句
一.Java条件语句(if...else) ifelse语法: 多重if语法: ...
- Java学习笔记七:Java的流程控制语句之switch
Java条件语句之 switch 当需要对选项进行等值判断时,使用 switch 语句更加简洁明了.例如:根据考试分数,给予前四名不同的奖品.第一名,奖励笔记本一台:第二名,奖励 IPAD 2 一个: ...
随机推荐
- ROS(机器视觉)
通过ROS打开摄像头 查看话题信息和消息 图像数据: 默认调用笔记本自带摄像头,如需调用外接摄像头,需要将其中video0改成video1.
- 前端传给后端的数据类型为ImmutableMultiDict 咋办
https://segmentfault.com/q/1010000002802028 偷得人家的答案 以下是解决办法:::: -------------------------------- ...
- python+selenium 定位隐藏元素
定位隐藏要素的原理:页面主要通过“display:none”来控制元素不可见.所以我们需要通过javaScript修改display的值得值为display="block,来实现元素定位的. ...
- Flink学习笔记-新一代Flink计算引擎
说明:本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKh ...
- 构造函数详解,explicit,初始化列表
一.构造函数 在类中有一种特殊的成员函数,它的名字与类名相同,我们在创建类的时候,这个特殊的成员函数就会被系统调用.这个成员函数,就叫“构造函数”. 因为构造函数会被系统自动调动,构造函数的目的就是初 ...
- 安装配置python、beautifulsoup4、pip的心酸总结
1.python下载安装不纠结,但如果要加入到eclipse里面就要注意一下版本,版本不匹配会造成,要不python降级,要不eclipse升级的情况 2.在稍新版本的python立面就附带下载在了p ...
- eclipse如何设置UTF-8
一.Eclipse设置utf-8编码包括两个方面,一方面可以设置workspace工作间编码,另一方面可以设置Android Project项目编码,设置步骤: 1)设置workspace工作间编码: ...
- Python基础部分的疑惑解析——运算符和数据类型(3)
补充上一篇: #! /user/bin/env python 代码内声明这一个就可以用1.py类似的文件直接执行,但是要在linux内加权限, 不需要在前面加python 1.py执行了.文件可以 ...
- Flask-mail 发邮件慢(即使异步)
Flask-mail 发邮件慢(即使异步) 一开始,按照狗书上的代码异步发邮件,但是发现原本响应只需要150ms的页面加了邮件发送就变成了5s响应(这怕不是假异步) 狗书的异步发邮件代码: def s ...
- 【GIS新探索】GeoHash原理和编解码实现
1.什么是GeoHash geohash基本原理是将地球理解为一个二维平面,将平面递归分解成更小的子块,每个子块在一定经纬度范围内拥有相同的编码.不好理解,没关系,我来找个图. 就像上面这张图,一个坐 ...