【韩顺平 零基础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方法,退出程序…

公式分子1写成1.0才能得到精确的小数。

内存分析法
化繁为简 先死后活~

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Appium-移动端自动测试框架,如何入门?

Appium是一个开源跨平台移动应用自动化测试框架。 既然只是想学习下Appium如何入门&#xff0c;那么我们就直奔主题。文章结构如下&#xff1a; 1、为什么要使用Appium&#xff1f; 2、如何搭建Appium工具环境?(超详细&#xff09; 3、通过demo演示Appium的使用 4、Appium如何…

《学爸》成爆款背后,马栏山以BOT模式示范“文化+科技”路径

文|智能相对论 作者|范柔丝 今年暑期档的爆款电影&#xff0c;必有《学爸》一席之地。 这部给众多深陷教育旋涡的家长带来深刻思考的电影&#xff0c;就是马栏山视频文创产业园经过3年筹备&#xff0c;首部本土孵化出品的教育现实体裁院线大电影。 据猫眼专业版数据&#x…

优于立方复杂度的 Rust 中矩阵乘法

中途&#xff1a;三次矩阵乘法 一、说明 几年前&#xff0c;我在 C 年编写了 Strassen 矩阵乘法算法的实现&#xff0c;最近在 Rust 中重新实现了它&#xff0c;因为我继续学习该语言。这是学习 Rust 性能特征和优化技术的有用练习&#xff0c;因为尽管 Strassen 的算法复杂性优…

【LLM数据篇】预训练数据集+指令生成sft数据集

note 在《Aligning Large Language Models with Human: A Survey》综述中对LLM数据分类为典型的人工标注数据、self-instruct数据集等优秀的开源sft数据集&#xff1a;alpaca_data、belle、千言数据集、firefly、moss-003-sft-data多轮对话数据集等 文章目录 note构造指令实例…

【Linux】网络层协议:IP

我们必须接受批评&#xff0c;因为它可以帮助我们走出自恋的幻象&#xff0c;不至于长久在道德和智识上自我陶醉&#xff0c;在自恋中走向毁灭&#xff0c;事实上我们远比自己想象的更伪善和幽暗。 文章目录 一、IP和TCP之间的关系&#xff08;提供策略 和 提供能力&#xff09…

QT 基本对话框

包括&#xff1a; 1.标准文件对话框 dialog.h #ifndef DIALOG_H #define DIALOG_H#include <QDialog> #include <QTextCodec> #include <QLabel> #include <QLineEdit> #include <QPushButton> #include <QGridLayout> #include <QFr…

通过DBeaver 给Postgre SQL表 设置主键自增

1.创建表 CREATE TABLE public.company ( id int4 NOT NULL , name text NOT NULL, age int4 NOT NULL, address bpchar(50) NULL, salary float4 NULL, join_date date NULL, CONSTRAINT company_pkey PRIMARY KEY (id) ); 2.插入数据&#xff08;不传入id&#xff…

【Leetcode】104.二叉树的最大深度

一、题目 1、题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例1: 输入:root = [3,9,20,null,null,15,7] 输出:3示例2: 输入:root = [1,null,2] 输出:2提示: 树中节点的数量在 [0, 104…

并查集及其简单应用

文章目录 一.并查集二.并查集的实现三.并查集的基本应用 一.并查集 并查集的逻辑结构:由多颗不相连通的多叉树构成的森林(一个这样的多叉树就是森林的一个连通分量) 并查集的元素(树节点)用0~9的整数表示,并查集可以表示如下: 并查集的物理存储结构:并查集一般采用顺序结构实…

【Redis】——Redis基础的数据结构以及应用场景

什么是redis数据库 Redis 是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成&#xff0c;因此读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列、分布式锁等场景。&#xff0c;Redis 还支持 事务 、持久化、Lua 脚本、多种集群方案&#xff08;主…

Centos7卸载|安装JDK1.8|Xshell7批量控制多个终端

一: 使用yum安装的好处是较为方便|环境变量自动配置完成。 1.1: 执行下面的命令,检查是否已安装了jdk # 查看当前是否安装了JDK&#xff0c; [rootwww ~]# rpm -qa |grep java [rootwww ~]# rpm -qa |grep jdk [rootwww ~]# rpm -qa |grep gcj [rootwww ~]# rpm -qa | grep -…

数据结构——二叉搜索树(附带C++实现版本)

文章目录 二叉搜索树概念 二叉树的实际应用二叉树模拟实现存储结构二叉搜索树构成二叉搜索树的查找插入操作中序遍历二叉树的删除循环(利用左子树最右节点&#xff09;递归(利用右子树根节点) 二叉树拷贝二叉树资源的销毁 二叉树实现完整代码总结 二叉搜索树 概念 二叉搜索树…

PHPStudy 安装tp8 php8.2.9

一、PhpStudy升级PHP版本&#xff0c;安装PHP8.2操作步骤 1.1、官网下载最新的php版本 打开Windows版的官网下载&#xff0c;地址&#xff1a;https://windows.php.net/download/ 页面上有不同的PHP版本&#xff0c;这里我们下载的是64位nts版的PHP8.2.9。 1.2、解压下载的文…

2023.8 - java - 泛型

泛型问题的引出&#xff1a; jdk 1.5 引出泛型 // package 泛型; public class index {public static void main (String[] args){test t new test();t.setContent("aaa");int a (int) t.getContent();System.out.println(a);} }class test{Object content;publi…

国内常见的几款可视化Web组态软件

组态软件是一种用于控制和监控各种设备的软件&#xff0c;也是指在自动控制系统监控层一级的软件平台和开发环境。这类软件实际上也是一种通过灵活的组态方式&#xff0c;为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。通常用于工业控制&#xff0c;自动…

[SWPUCTF 2022 新生赛]ez_ez_php

这段代码是一个简单的PHP文件处理脚本。让我们逐行进行分析&#xff1a; error_reporting(0); - 这行代码设置了错误报告的级别为0&#xff0c;意味着不显示任何错误。 if (isset($_GET[file])) { - 这行代码检查是否存在一个名为"file"的GET参数。 if ( substr($_…

无涯教程-Perl - wantarray函数

描述 如果当前正在执行的函数的context正在寻找列表值,则此函数返回true。在标量context中返回false。 语法 以下是此函数的简单语法- wantarray返回值 如果没有context,则此函数返回undef&#xff1b;如果lvalue需要标量,则该函数返回0。 例 以下是显示其基本用法的示例…

记录Taro巨坑,找不到sass类型定义文件

问题 taronutuisassts项目里tsconfig.json一直报红报错。 找不到“sass”的类型定义文件。 程序包含该文件是因为: 隐式类型库 “sass” 的入口点 其实正常人想的肯定是装上 types/sass试试。开始我试过了&#xff0c;没用。删了依赖重装也没用。后面在issue中找到答案了 解决…

Mybatis的SqlSource SqlNode BoundSql

学习链接 MyBatis SqlSource解析 【Mybatis】Mybatis源码之SqlSource#getBoundSql获取预编译SQL Mybatis中SqlSource解析流程详解 Mybatis TypeHandler解析 图解 Mybatis的SqlSource&SqlNode - processon DynamicSqlSource public class DynamicSqlSource implement…

05-微信小程序常用组件-表单组件

05-微信小程序常用组件-表单组件 文章目录 表单组件button 按钮案例代码 form 表单案例代码 image 图片支持长按识别的码案例代码 微信小程序包含了六大组件&#xff1a; 视图容器、 基础内容、 导航、 表单、 互动和 导航。这些组件可以通过WXML和WXSS进行布局和样式设…