顺序结构:

Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
顺序结构是最简单的算法结构
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,
他是任何一个算法都离不开的一种基本结构。

选择结构:

if单选结构

if(布尔){
//如果布尔表达式的值为true
}
if双选结构
if(布尔){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if多选结构
if(布尔1){
//如果布尔表达式1的值为true执行代码
}else if(布尔2){
//如果布尔表达式2的值为true执行代码
}else if(布尔3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式的值不为true执行代码
}
嵌套的if结构
使用嵌套的if…else语句是合法的,也就是说你可以在另一个if或者else if语句中使用if或者else if语句。你可以像if语句一样嵌套else if…else。
if(布尔1){
//如果布尔表达式1的值为true执行代码
if(布尔2){
//如果布尔表达式2的值为true执行代码
}
}
switch多选结构
switch(exprression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的case语句
default://可选
//语句
}

从Jdk7开始 switch开始支持字符串String类型了

字符的本质还是数字

反编译:java->class(字节码文件)->反编译(IDEA让我们能看懂内容)

循环结构:
while循环:
while是最基本的循环,它的结构为:
while(布尔){
//循环内容
}
只要布尔表达式为true,循环就会一直执行下去
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式失效的方式来结束循环
少部分情况需要循环一直执行,比如服务器的请求响应监听等
循环条件一直为true就会造成无限循环(死循环),我们正常的业务编码中应该尽量避免死循环,会影响程序性能或者造成程序卡死崩溃!
//死循环
while (true){
//等待用户连接
// 定时检查
// 。。。。。
}
do…while循环:
do{
//循环内容
}while(布尔);
while与do while的区别:
while先判断后执行,do while先执行后判断
do while总是保证循环体至少被执行一次,这是主要区别
for循环
for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构
for循环执行的次数是在执行前就确定的
for(初始化;布尔表达式;更新){
//代码语句
}
//死循环
for (; ; ) {
//循环体
}

package com.zdz.struct;

import java.util.Scanner;

public class Demo {
public static void main(String[] args) {
//顺序结构
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5"); System.out.println("====================");
//选择结构
//if单选结构
Scanner scanner=new Scanner(System.in);
System.out.println("请输入:");
String s=scanner.nextLine();
//equals:判断字符串是否相等
if(s.equals("Hello")){
System.out.println(s);
}
System.out.println("End"); System.out.println("===================");
//if双选结构
//考试分数大于60就是及格,小于60就不及格
scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=scanner.nextInt();
if (score>=60){
System.out.println("及格");
}else {
System.out.println("不及格");
} System.out.println("=======================");
//if多选结构
/*
if语句至多有一个else语句;else语句在所有if else语句之后;
if语句可以有若干个else if语句,它们必须在else语句之前
一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行
*/
scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int sc=scanner.nextInt();
if (sc==100){
System.out.println("恭喜满分");
}else if (sc<100&&sc>=90){
System.out.println("优秀");
}else if (sc<90&&sc>=75){
System.out.println("良好");
}else if (sc<75&&sc>=60){
System.out.println("及格");
}else if (sc<60&&sc>=0){
System.out.println("不及格");
}else{
System.out.println("成绩不合法");
} System.out.println("=======================");
//switch选择
//switch 匹配一个具体的值
/*
从Jdk7开始 switch开始支持字符串String类型了
字符的本质还是数字 反编译:java->class(字节码文件)->反编译(IDEA让我们能看懂内容)
*/
scanner=new Scanner(System.in);
System.out.println("input your grade (like A):");
String grade = scanner.next();
switch (grade){
case "A":
System.out.println("优秀");
break;//可选
case "B":
System.out.println("良好");//case语句不加break会输出,此为case穿透
case "C":
System.out.println("及格");
break;//可选
case "D":
System.out.println("再接再厉");
break;//可选
case "E":
System.out.println("挂科");
break;//可选
default://可选
System.out.println("未知等级");
}
scanner.close(); System.out.println("====================");
//while循环
//输出1~100
int i=0;
while (i<100){
i++;
System.out.println(i);
}
//计算1+2+…+100=?
int j=0;
int sum=0;
while (j<=100){
sum+=j;
j++;
}
System.out.println(sum); System.out.println("=====================");
//do while循环
int j1=0;
int sum1=0;
do {
sum1+=j1;
j1++;
}while (j1<=100);
System.out.println(sum1);
//while与do while的区别
int a=0;
while(a<0){
System.out.println(a);//没有执行
a++;
}
System.out.println("---------------------");
do {
System.out.println(a);//执行了一次
a++;
}while (a<0); System.out.println("======================");
//for循环
for (int k=0;k<100;k++){
//初始化;布尔表达式;更新
System.out.println(k);
}
System.out.println("for循环结束");
/*
关于for循环的说明:
最先执行初始化步骤,可以声明一种类型,但初始化一个或多个循环控制变量,也可以是空语句
然后,检查布尔值,如果的是true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句
执行一次循环后更新循环控制变量(迭代因子控制循环变量的增减)
再次检测布尔值,循环执行上面的过程
*/
System.out.println("-----------------------");
//for循环练习
//计算0~100之间的奇数和偶数的和
int oddSum=0;//奇数
int evenSum=0;//偶数 for (int i1 = 0; i1 < 100; i1++) {
if (i1%2!=0){//奇数
oddSum+=i1;
}else {//偶数
evenSum+=i1;
}
}
System.out.println("奇数和:"+oddSum);
System.out.println("偶数和:"+evenSum);
System.out.println("-----------------------");
//用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个
for (int i1 = 0; i1 <= 1000; i1++) {
if(i1%5==0){
System.out.print(i1+"\t");
}
if(i1%15==0){
System.out.println("");
}
}
}
}

————————————————
版权声明:本文为CSDN博主「张生说」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangduang1/article/details/114524133

Java流程控制:三种基本结构的更多相关文章

  1. Java流程控制03:顺序结构

    顺序结构 Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行. 顺序结构是最简单的算法结构.从上到下 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处 ...

  2. Java流程控制04——Switch选择结构

    switch 多选择结构 switch case 语句判断一个变量与一系列值中某个值是否相等,每个支撑位一个分支. switch语句中的变量类型可以是: byte short int 或者 char ...

  3. 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

    047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...

  4. 040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程

    040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程 本文知识点:while循环的执行流程 三种循环结构中的第一种--wh ...

  5. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  6. Java流程控制:顺序结构

    一.流程控制 Java中的流程控制语句可以这样分类:顺序结构.选择结构.循环结构.这三种结构就足够解决所有的问题了! 二.顺序结构 描述: Java流程控制的基本结构就是顺序结构,除非特别指明,否则J ...

  7. 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...

  8. 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围

    045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...

  9. 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构

    037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...

  10. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

随机推荐

  1. 一篇文章图文并茂地带你轻松学完 JavaScript 闭包

    JavaScript 闭包 为了更好地理解 JavaScript 闭包,笔者将先从 JavaScript 执行上下文以及 JavaScript 作用域开始写起,如果读者对这方面已经了解了,可以直接跳过 ...

  2. .Net Core 国际化

    创建项目什么的就不说了吧 直接进入正题吧 我这里建的是个webapi 添加资源文件 1.首先我们创建一个Language文件夹,这就是我们在后面Startup类中需要配置的目录名. 2.然后我们在La ...

  3. CF1463-D. Pairs

    CF1463-D. Pairs 题意: 有从\(1\)到\(2n\)一共\(2n\)个数字,让你将这\(2n\)个数字分成\(n\)组,每组有两个数字.对于这\(n\)组数字,你可以从中挑选\(x\) ...

  4. word2vector论文笔记

    背景 很多当前的NLP系统和技术都把单词像ont-hot一样当做原子性的一个概念去对待,单纯就是一个索引,无法表示词之间的相似性.原因就是往往一个简单的.鲁棒的.可观测的模型在海量数据集上的学习效果要 ...

  5. spring再学习之AOP事务

    spring中的事务 spring怎么操作事务的: 事务的转播行为: 事务代码转账操作如下: 接口: public interface AccountDao { //加钱 void addMoney( ...

  6. spring再学习之整合JDBC

    一.JDBCTemplate JDBC模板 user类 package cn.itcast.bean; import java.util.Date; public class User { priva ...

  7. 101道Numpy、Pandas练习题

    无论是数据分析还是机器学习,数据的预处理必不可少. 其中最常用.最基础的Python库非numpy和pandas莫属,很多初学者可能看了很多教程,但是很快就把用法忘光了. 光看不练假把式,今天向大家推 ...

  8. TypeScript TSConfig All In One

    TypeScript TSConfig All In One tsconfig.json https://www.typescriptlang.org/tsconfig https://www.typ ...

  9. Flutter App 真机调试

    Flutter App 真机调试 Deploy to iOS devices https://flutter.dev/docs/get-started/install/macos#deploy-to- ...

  10. CSS Architecture & CSS Design Patterns

    CSS Architecture & CSS Design Patterns BEM Block, Element, Modifier https://en.bem.info/methodol ...