【韩顺平 零基础30天学会Java】程序流程控制(2days)

news2024/9/23 7:18:02

day1
程序流程控制:顺序控制、分支控制、循环控制

顺序控制:从上到下逐行地执行,中间没有任何判断和跳转。
Java中定义变量时要采用合法的前向引用。

分支控制if-else:单分支、双分支和多分支。
单分支

import java.util.Scanner;
//定义一个Scanner对象
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年龄");
int age = myScanner.nextInt();
if(age>18){
	System.out.println("你年龄大于18,要对自己的行为负责,送入监狱"):
}

单分支流程图
在这里插入图片描述
双分支
if(条件表达式){
执行代码块1;
}
else{
执行代码块2;
}
在这里插入图片描述

万丈高楼平地起

多分支
if(条件表达式1){
执行代码块1;
}
else if(条件表达式2){
执行代码块2;
}

else{
执行代码块n;
}
在这里插入图片描述

boolean b = true
if(b = false) //(b=false)整个的结果为false
	system.out.println("a");
else if(b)
	....
else if (!b)
	.... //输出这个
else
	....

嵌套分支
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支结构称为内层分支外面的结构分支称为外层分支,建议:分支不要超过3层。
接受字符:char gender = scanner.next().charAt(0)

switch分支结构

switch(表达式){ //表达式对应一个值
	case 变量1:  //当表达式的值等于常量1,就执行语句块1,如果不匹配,就继续匹配case常量2
	语句块1;
	break;  //退出switch
	case 变量2: 
	语句块2;
	break;
	.......
	case 变量n: 
	语句块n;
	break;
	default: //一个都没匹配上,执行default
	default语句块;
	break;
}

在这里插入图片描述
穿透现象:如果执行完语句块1后面没有break的话,就会直接执行语句块2,而不去判断表达式的值是否等于常量2.

switch注意细节:
表达式数据类型应该和case后面的常量类型一致,或者是可以自动转成可以互相比较的类型。
switch(表达式)中表达式的返回值必须是 byte,short,int,char,enum,String
没有写break,程序会顺序执行到switch结尾,除非遇到break;
在这里插入图片描述

case 3:
case 4:
case 5:
	System.out.println("春季"):
	break;

在这里插入图片描述

for循环控制 让代码可以循环的执行
for(循环变量初始化;循环条件;循环变量迭代){
循环操作(可以多条语句);
}
在这里插入图片描述
for循环细节
循环条件是返回一个布尔值的表达式
for循环的初始化和变量迭代可以写在其他地方,但是两边的分号不能省略
循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开(例如int i=0,j=0),
循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开(i++,j+=2)。

内存分析法~~~
在这里插入图片描述
两个重要的编程思想:化繁为简、先死后活

  1. 化繁为简:即将复杂的需求,拆解成简单的需求逐步完成。
  2. 先死后活:先考虑固定的值,然后转成可以灵活变化的值。

for(int i=0;i<=5;i++){
System.out.println(i+" + “+(5-i)+” = 5 ");
}

while循环
循环变量初始化
while(循环条件){
循环体(语句);
循环变量迭代;
}
while循环也有四要素,四要素放的位置和for不一样
在这里插入图片描述
while循环先判断再执行

dowhile循环
循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);
也有循环四要素,位置不一样。先执行再判断(一定会执行一次)。最后有一个分号;
在这里插入图片描述
多重循环控制
将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do…while都可以作为外层循环和内层循环。【建议一般使用两层,最多不要超过3层,否则,代码的可读性很差】

嵌套循环就是把内层循环当作外层循环的循环体。当只有内层循环的循环条件为false的时候,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。

day2
经典的打印金字塔
镂空金字塔 化繁为简 先死后活
空心菱形~

跳转控制语句-break
break语句用于终止某个语句块的执行,一般使用在switch或者循环{for,while,do-while}中
{

break;

}
随机生成一个1-100整数:(int)(Math.random()*100)+1
在这里插入图片描述
(iodraw网站可以画这个流程图~)
break注意细节
break语句出现在多层嵌套的语句块中,可以通过标签指明要终止的是哪在这里插入图片描述

java中字符串内容比较方法equals,例如"丁真".equals(name)【推荐这种写法,避免空指针】
思路分析比代码实现更重要~~~

跳转控制语句continue
在这里插入图片描述
again:内存分析法~~~

跳转控制语句-return
return使用在方法,表示跳出所在的方法。如果return写在main方法,退出程序…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/908693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【校招VIP】测试专业课之OSI七层模型

考点介绍&#xff1a; 在 OSI 模型中&#xff0c;每一层都依赖于下一层&#xff0c;并将数据传递给下一层。同时&#xff0c;每一层也可以向上一层提供特定的服务。这种分层结构使得网络管理员可以更轻松地管理网络&#xff0c;同时使得网络协议的设计更加灵活。 『测试专业课…

学习设计模式之观察者模式,但是宝可梦

前言 作者在准备秋招中&#xff0c;学习设计模式&#xff0c;做点小笔记&#xff0c;用宝可梦为场景举例&#xff0c;有错误欢迎指出。 观察者模式 观察者模式定义了一种一对多的依赖关系&#xff0c;一个对象的状态改变&#xff0c;其他所有依赖者都会接收相应的通知。 所…

阿里云通用算力型u1云服务器CPU性能详细说明

​阿里云服务器u1是通用算力型云服务器&#xff0c;CPU采用2.5 GHz主频的Intel(R) Xeon(R) Platinum处理器&#xff0c;通用算力型u1云服务器不适用于游戏和高频交易等需要极致性能的应用场景及对业务性能一致性有强诉求的应用场景(比如业务HA场景主备机需要性能一致)&#xff…

外贸邮箱前缀选择指南:技巧揭秘!

外贸邮箱前缀用什么好&#xff1f;常见的外贸邮箱前缀有 zoho.com.cn&#xff0c; foxmail.com&#xff0c; hotmail.com&#xff0c; outlook.com&#xff0c; yahoo.com等等。那么这些前缀之间又有什么区别呢&#xff1f;选择哪个前缀对外贸业务更有利呢&#xff1f; 首先&am…

如何通过Side Effects来使得你使用Compose变的得心应手?

作者&#xff1a;clwater 虽然我使用Compose已经有了一段时间的, 但我还是觉得使用起来束手束脚的. 究其原因, 大概是coding时的思路还没有完全转换过来, 还没有沉浸在"Compose is Function"之中. 和我们熟悉的View不同, 当我们调用Compose之后, 我们就失去了它的修改…

代码审计-审计工具介绍-DAST+SAST+IAST项目

DASTSASTIAST项目介绍 DAST&#xff1a; 动态应用程序安全测试&#xff08;Dynamic Application Security Testing&#xff09;技术在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击&#xff0c;分析应用程序的反应&#xff0c;从而确定该We…

*看门狗2_思考多组看门狗对多任务的监控

多任务系统中 一般结合嵌入式操作系统&#xff0c;设置一个优先级级别最高的任务作为监视器&#xff0c;以监视各个应用任务是否正常运行&#xff0c;该监视器即为软件看门狗&#xff0c;该任务对其他任务都设定一个计时器&#xff0c;每个被监视的任务在设定的时间内对软件看门…

企业级私有化部署即时通讯,完美替代SaaS平台

在数字化转型的时代&#xff0c;企业越来越需要安全、高效和可扩展的解决方案来管理其运营。作为通用办公行业的领军品牌&#xff0c;WorkPlus在企业级私有化部署领域成为改变者。凭借其尖端功能和全面的功能性&#xff0c;WorkPlus提供了传统的软件即服务&#xff08;SaaS&…

SELinux 入门 pt.1

哈喽大家好&#xff0c;我是咸鱼 文章《SELinux 导致 Keepalived 检测脚本无法执行》以【keepalived 无法执行检测脚本】为案例向大家简单介绍了关于 SELinux 的一些概念 比如说什么是自主访问控制 DAC 和 强制访问控制 MAC&#xff1b;SELinux 安全上下文的概念等等 那么今…

洛谷 P2715 ccj与zrz之在回家的路上 艰辛的解题过程

时隔将近两个月&#xff0c;我回来了哈哈哈哈哈哈哈哈哈。 看着一周小结的排名越来越低太难受了&#xff0c;于是我回来继续写文章 今天这道题其实不难&#xff0c;重点是说一下解题过程中遇到的麻烦和坑点 题目描述 给出一个算式&#xff08;a*bc或a/bc或abc或a-bc&#xff0…

深入理解JMM和并发三大特性

并发和并行 并发和并行的目的都是为了使CPU的使用率最大化&#xff0c;这两个概念也是我们容易混淆的。 并行&#xff08;Parallel&#xff09; 并行是指在同一时刻&#xff0c;有多条指令在多个处理器上同时执行&#xff0c;因为并行要求程序能同时执行多个操作&#xff0c…

APP上线为什么要提前部署安全产品呢?

一般平台刚上线或者日活跃量比较高的时候&#xff0c;很容易成为攻击者的目标&#xff0c;服务器如果遭遇黑客攻击&#xff0c;资源耗尽会导致平台无法访问&#xff0c;业务也无法正常开展&#xff0c;服务器一旦触发黑洞机制&#xff0c;就会被拉进黑洞很长一段时间&#xff0…

MySQL下载安装配置

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

微信聊天记录词云制作

文章目录 一&#xff1a;聊天记录传输至电脑二&#xff1a;聊天记录破解三&#xff1a;聊天记录分析&#xff08;1&#xff09;字段含义&#xff08;2&#xff09;词频统计和词云制作&#xff08;3&#xff09;效果展示 一&#xff1a;聊天记录传输至电脑 在雷电模拟器中打开r…

独家|2023 Q2业内3D-NAND研发动态最全一览表

有粉丝私信&#xff0c;希望可以看到业内比较全的3D-NAND动态。经过小编的找寻&#xff0c;结合TechInsight的信息以及各家原厂官网消息&#xff0c;整理出2023 Q2业内3D-NAND研发动态最全一览表&#xff0c;供大家参考。 声明&#xff1a;本表格均为公开信息整理&#xff0c;如…

AI提示语-让每个人都能轻松使用 AI,提高 10 倍生产力

AI提示语简介 无需代码&#xff0c;连接模型快速构建AI应用。让每个人都能轻松使用 AI&#xff0c;提高 10 倍生产力。 AI提示语介绍 AI 提示语致力于为各类AI应用搭建、运行和推广的基础平台&#xff0c;让广大用户都能将AI的力量运用到实际的工作与生活场景中。 AI提示语…

国产SSD崛起!2023年发展趋势解析

随着科技的不断进步&#xff0c;SSD已经成为了现代计算机不可或缺的一部分。而在这个市场中&#xff0c;国产SSD也逐渐崭露头角。 国产SSD市场份额继续扩大 根据市场调研机构IDC的数据显示&#xff0c;2023年中国SSD市场份额排名前五的厂商中有四家是国内企业&#xff0c;分别是…

【第三阶段】kotlin语言的内置函数apply

1.普通方式输出一个字串的信息 fun main() {var info"Ktolin"//普通方式println("info的长度为${info.length}")println("info的最后一个字符${info[info.length-1]}")println("info全转换为大写${info.toLowerCase()}") }执行结果 …

Go 语言在 Windows 上的安装及配置

1. Go语言的下载 Golang官网&#xff1a;All releases - The Go Programming Language Golang中文网&#xff1a;Go下载 - Go语言中文网 - Golang中文社区 两个网站打开的内容只有语言不同而已&#xff0c;网站上清晰的标注了不同操作系统需要对应安装哪个版本&#xff0c;其中…

对类加载过程的通俗理解

开局一张图 一般来说&#xff0c;类加载分为&#xff1a;加载、验证、准备、解析、初始化 5个步骤。 各阶段略叙 1、加载 将.class文件加载进内存 2、验证 判断.class文件的格式是否正确 3、准备 为类的静态变量分配内存并设置初始值。只有b、c会在此阶段进行处理。 //…