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 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
随机推荐
- 揭秘井井有条的流水线(ZooKeeper 原理篇)
本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. Z ...
- K8S(12)配置中心实战-多环境交付apollo三组件
k8s配置中心实战-多环境交付apollo三组件 目录 k8s配置中心实战-多环境交付apollo三组件 1.环境准备工作 1.1 zk环境拆分 1.2 namespace分环境 1.3 数据库拆分 ...
- virtualBox 设置增强功能粘贴和拖放
virtualBox 5.2.8 (在运行的虚拟里中) 设备 -> 安装增强功能 virtualBox 管理器中设置(要在虚拟机关机的情况下配置) 常规 -> 高级里设置双向粘贴和拖放
- 力扣485. 最大连续1的个数-C语言实现-简单题
题目 [题目传送门] 给定一个二进制数组, 计算其中最大连续1的个数. 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3 ...
- μC/OS-III---I笔记4---软件定时器
软件定时器是在硬件定时器的基础上开发的,通过将一个硬件定时器进行分频及管理就可以的到多个软件定时器.他和时间管理共同组成了系统的时间管理大部分的内容.系统一开始的系统初始化函数OSInit函数内调用了 ...
- React Creating Elements All In One
React Creating Elements All In One https://reactjs.org/docs/react-api.html#creating-react-elements h ...
- convert URL Query String to Object All In One
convert URL Query String to Object All In One URL / query string / paramas query string to object le ...
- mobile css & rem & em & px
mobile css & rem & em & px 1 rem === 16px 任意浏览器的默认字体高都是 16px, 所有未经调整的浏览器都符合: 1em=16px, 那 ...
- javascript disable scroll event
javascript disable scroll event Document: scroll event https://developer.mozilla.org/en-US/docs/Web/ ...
- ip/udp/tcp包 学习
/** * 以太网 */ class Ethernet { static readonly size = 14; get Destination(): string { return [ this.v ...