当前位置: 首页 > news >正文

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

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)整个的结果为falsesystem.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;  //退出switchcase 变量2: 语句块2;break;.......case 变量n: 语句块n;break;default: //一个都没匹配上,执行defaultdefault语句块;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.lryc.cn/news/133578.html

相关文章:

  • 从入门到精通Python隧道代理的使用与优化
  • 19万字智慧城市总体规划与设计方案WORD
  • [赛博昆仑] 腾讯QQ_PC端,逻辑漏洞导致RCE漏洞
  • python Requests
  • 【深入解析:数据结构栈的魅力与应用】
  • 安卓机显示屏的硬件结构
  • 基于swing的超市管理系统java仓库库存进销存jsp源代码mysql
  • 常用系统命令
  • 【Spring专题】Spring之Bean生命周期源码解析——阶段四(Bean销毁)(拓展,了解就好)
  • 配置Docker,漏洞复现
  • 微信小程序 游戏水平评估系统的设计与实现_pzbe0
  • moba登录不进去提示修改问题问题解决方式
  • Unsafe upfileupload
  • 机器人制作开源方案 | 滑板助力器
  • 飞机打方块(二)游戏界面制作
  • 自我理解:精度(precision)和召回(recall)
  • Nginx 使用 HTTPS(准备证书和私钥)
  • Java:集合框架:Set集合、LinkedSet集合、TreeSet集合、哈希值、HashSet的底层原理
  • 自定义Taro的navBar的宽度和高度
  • 用Python编程实现百度自然语言处理接口的对接,助力你开发智能化处理程序
  • 系统架构设计专业技能 · 系统工程与系统性能
  • 初识网络原理(笔记)
  • 嵌入式C语言基本操作方法之经典
  • postgresql \watch实用的使用方法
  • Cocos2d 项目问题记录
  • 系统架构合理性的思考 | 京东云技术团队
  • Amelia预订插件:WordPress企业级预约系统
  • 共享门店模式:线下门店的商家如何利用它增加客户
  • 实现矩阵地图与rviz地图重合
  • 设计模式十九:备忘录模式(Memento Pattern)