博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java三种流程结构介绍
阅读量:2167 次
发布时间:2019-05-01

本文共 3441 字,大约阅读时间需要 11 分钟。

流程结构


顺序结构

  • Java的基本结构就是顺序结构, 除非特别指明, 否则就按照顺序一句一句执行

  • 顺序结构是最简单的算法结构

  • 语句与语句之间, 框与框之间,是按从上到下的顺序进行的, 它是由若干个依次执行

图片


选择结构

if单选择结构

  • 我们很多时候需要去判断一个东西是否可行, 然后我们再去执行, 这样一个过程在程序中用if语句来表示
package com.Flonx.Practice;import java.util.Scanner;public class Practice{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); System.out.println("请输入内容: "); String s = scanner.nextLine(); if (s.equals("Hello")){
System.out.println(s); } System.out.println("End"); scanner.close(); }}

if双选择结构

package com.Flonx.Practice;import java.util.Scanner;public class Practice{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int score = scanner.nextInt(); if (score > 60){
System.out.println("及格"); } else{
System.out.println("不及格"); } scanner.close(); }}

if多选择结构

package com.Flonx.Practice;import java.util.Scanner;public class Practice{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩: "); int score = scanner.nextInt(); // 一旦其中一个else if 语句检测为true, 其他的else if 以及else语句都将跳过执行 if (score == 100){
System.out.println("恭喜满分"); }else if (score < 100 && score >= 90){
System.out.println("A"); }else if (score < 90 && score > 80){
System.out.println("B"); }else{
System.out.println("C"); } }}

嵌套的if结构

  • 使用嵌套的if … else 语句是合法的, 也就是说你可以在另一个 if或者 else if 语句中使用 if 或者 else if 语句, 你可以像 if 语句一样嵌套 else if… else

switch多选择结构

  • 多选择结构还有一个实现方式就是 switch case 语句
  • switch case 语句判断一个变量与一系列值中的某个值是否相等, 每个值称为一个分支
  • 变量类型可以是: byte, short, int, case, String (java 7开始) , 同时 case 标签必须为字符串常量或者字面量

循环结构

while循环

  • while 是最基本的循环
  • 只要布尔表达式为true, 循环就会一直执行下去
  • 我们大多数情况是会让循环停止下来的, 我们需要一个让表达式失效的方式来结束循环
  • 少部分情况需要循环一直执行, 比如服务器的请求监听等
  • 循环条件一直为true就会造成无限循环 [死循环], 我们正常的业务编程中应该尽量避免死循环, 会影响程序性能或者造成程序卡死奔溃

do…while 循环

  • 对于 while 语句而言, 如果不满足条件, 则不能进入循环. 但有时候我们需要即使不满足条件, 也至少执行一次
  • do … while 循环和 while 循环相似, 不同的是, do … while循环相似, 不同的是, do … while 循环至少会执行一次
  • while 和 do … while 循环的区别:
    • while 先判断后执行, do … while 是先执行后判断
    • do … while 总是保证循环体会被至少执行一次, 这是他们的主要差别

for 循环

  • 虽然有很多循环结构都可以用 while 或者 do … while 表示, 但 Java 提供了另一种语句 ------ for循环, 使一些循环结构变得更加简单
  • for 循环语句是支持迭代的一种通用结构, 是最有效, 最灵活的循环结构
  • for 循环执行的次数是在执行前就确定的

增强for循环 (Java 5)

  • Java5 引入了一种主要用于数组或集合的增强 for 循环

  • 语法格式:

    for (声明语句: 表达式){
    //代码句子}
  • 声明语句: 声明新的局部变量, 该变量的类型必须和数组元素的类型匹配, 其作用域限定在循环语句块, 其值与此时数组元素的值相等

  • 表达式: 表达式是要访问的数组名, 或者是返回值为数组的方法

int[] numbers = {
10, 20, 30, 40, 50};//遍历数组的元素 for (int x: numbers){
System.out.println(x);}

break continue

  • break 在任何循环语句的主体部分, 均可用 break 控制循环的流程, break 用于强行退出循环, 不执行循环中剩余的语句, (break 语句也在 switch 语句中使用)

  • continue 语句用在循环语句体中, 用于终止某次循环过程, 即跳过循环体中尚未执行的语句, 接着进行下一次是否执行循环的判定

  • 关于 goto 关键字

    • goto 关键字很早就在程序设计中出现, 尽管 goto 仍是 Java 的一个保留字, 但并未在语言中得到正式使用; Java 没有 goto, 然而, 在 break 和 continue 这两个关键字的身上, 我们仍然能看出一些 goto 的影子---- 带标签的break 和continue
    • “标签” 是指后面跟一个冒号的标识符, 例如: label;
    • 对 Java 来说唯一用到标签的地方是在循环语句之前, 而在循环之前设置标签的唯一理由是: 我们希望在其中嵌套另一个循环, 由于 break 和 continue 关键字通常只中断 当前循环, 但若随同标签使用, 它们就会中断到存在标签的地方
    int count = 0;outer: for (int i = 101; i < 150; i++){
    for (int j = 2; j < i/2; j++){
    if (i % j == 0){
    continue outer; } } System.out.println(i + " ");}

转载地址:http://gpvzb.baihongyu.com/

你可能感兴趣的文章
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>
简述极大似然估计
查看>>
用线性判别分析 LDA 降维
查看>>
用 Doc2Vec 得到文档/段落/句子的向量表达
查看>>
使聊天机器人具有个性
查看>>
使聊天机器人的对话更有营养
查看>>
一个 tflearn 情感分析小例子
查看>>
attention 机制入门
查看>>
手把手用 IntelliJ IDEA 和 SBT 创建 scala 项目
查看>>
双向 LSTM
查看>>
GAN 的 keras 实现
查看>>
AI 在 marketing 上的应用
查看>>
Logistic regression 为什么用 sigmoid ?
查看>>
Logistic Regression 为什么用极大似然函数
查看>>
SVM 的核函数选择和调参
查看>>
LightGBM 如何调参
查看>>
用 TensorFlow.js 在浏览器中训练神经网络
查看>>
cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset
查看>>
梯度消失问题与如何选择激活函数
查看>>