Java流程控制:三种基本结构
顺序结构:
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流程控制:三种基本结构的更多相关文章
- Java流程控制03:顺序结构
顺序结构 Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行. 顺序结构是最简单的算法结构.从上到下 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处 ...
- Java流程控制04——Switch选择结构
switch 多选择结构 switch case 语句判断一个变量与一系列值中某个值是否相等,每个支撑位一个分支. switch语句中的变量类型可以是: byte short int 或者 char ...
- 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...
- 040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程
040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程 本文知识点:while循环的执行流程 三种循环结构中的第一种--wh ...
- 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...
- Java流程控制:顺序结构
一.流程控制 Java中的流程控制语句可以这样分类:顺序结构.选择结构.循环结构.这三种结构就足够解决所有的问题了! 二.顺序结构 描述: Java流程控制的基本结构就是顺序结构,除非特别指明,否则J ...
- 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...
- 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围
045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...
- 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构
037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
随机推荐
- 国产网络损伤仪 SandStorm -- 什么是链路规则?
"链路规则"是网络损伤仪SandStorm(又名弱网测试仪)里面非常重要的功能,主要用于不同仿真链路之间的选择. 如下图的所示: ...
- 国产网络损伤仪SandStorm -- 主界面简介
国产网络损伤仪SandStorm可以模拟出带宽限制.时延.时延抖动.丢包.乱序.重复报文.误码.拥塞等网络状况,在实验室条件下准确可靠地测试出网络应用在真实网络环境中的性能,以帮助应用程序在上线部署前 ...
- 国产网络测试仪MiniSMB - 如何3秒内创建出16,000条源/目标MAC地址号递增流
国产网络测试仪MiniSMB(www.minismb.com)是复刻smartbits的IP网络性能测试工具,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此以太 ...
- spring再学习之AOP实操
一.spring导包 2.目标对象 public class UserServiceImpl implements UserService { @Override public void save() ...
- 一个http请求的完整详细过程
整个流程 域名解析: 与服务器建立连接:tcp连接: 发起HTTP请求: 服务器响应HTTP请求,浏览器得到html代码: 浏览器解析html代码,并请求html代码中的资源(如js.css.图片): ...
- MDK5生成BIn文件的方法
配置MDK5 生成bin文件的 第一步:方法打开option for Target 第二步:选择 user 第三步:找到After Build/Rebuild 第四步:勾选run,点击文件选择小图标选 ...
- Prometheus Monitoring Solution
Prometheus Monitoring Solution 普罗米修斯 https://prometheus.io/ 警报 监控 增强指标和警报 领先 开源监控解决方案 https://promet ...
- Dart DevTools & Flutter
Dart DevTools & Flutter https://flutter.dev/docs/development/tools/devtools/overview https://dar ...
- css & focus-within & pseudo class
css & focus-within & pseudo class demo :focus-within https://developer.mozilla.org/en-US/doc ...
- lua调用dll导出的函数
参考手册 hello.dll #include "pch.h" #include "lua.hpp" #pragma comment(lib, "lu ...