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 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
随机推荐
- 02、scrapy安装
1.安装scrapy 采用pip的安装方式,从豆瓣源获取 pip install -i https://pypi.douban.com/simple/ scrapy 安装过程中会报出错误: build ...
- OPENSOURCE - libcurl
本文仅做备份存档,原文地址如下,请点链接进入 https://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html https://www.c ...
- 网站日志统计以及SOA架构
网站日志统计相关术语 PV(Page View):页面浏览量或点击量,衡量用户访问的网页数量 UV(Unique Visitor):独立设备的访问次数,根据客户端发送的 Cookie 区分 IP(In ...
- docker07-数据存储
Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式: 数据卷(Volumes) 挂载主机目录 (Bind mounts) 数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 U ...
- front-end & web & best code editor
front-end & web & best code editor 2019 VS Code https://designrevision.com/best-code-editor/ ...
- TypeScript——02——TS基本数据类型介绍和使用
一,TS的数据类型 ES6的数据类型: 6种基本数据类型 Boolean Number String Symbol undefined null 3种引用类型 Array Function Objec ...
- 详解稳定币圣杯USDN
稳定币飞速发展,USDN 一骑绝尘,但因合规问题饱受质疑.合规稳定币作为后来者,奋起直追,亦光耀夺目.而更符合区块链精神的稳定币(抵押其他资产生成稳定币),长期以来只有 Maker 的 DAI 能够在 ...
- 大小厂必问Java后端面试题(含答案)
你好,我是yes. 这个系列的文章不会是背诵版,不是那种贴上标准答案,到时候照着答就行的面试题汇总. 我会用大白话尽量用解释性.理解性的语言来回答,但是肯定没有比平时通过一篇文章来讲解清晰,不过我尽量 ...
- Python数据结构与算法_回文数(03)
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121输出: true 示例 2: 输入: -121输出: false解释: 从左向右读, ...
- IdentityServer4之持久化很顺手的事
前言 原计划打算在春节期间多分享几篇技术文章的,但到最后一篇也没出,偷懒了吗?算是吧,过程是这样的:每次拿出电脑,在孩姥姥家的院子总有阳光沐浴,看不清屏幕,回屋又有点冷(在强行找理由),于是又带着娃遛 ...