java流程控制语句

2023-11-07

一、顺序结构

​ 顺序结构(按照代码的顺序,自上而下执行)

二、选择结构

A:if语句

格式:a

​ if(关系表达式){

​ 语句体;

​ }

​ 详细情况;

​ if(关系表达式){

​ 如果关系表达式的结果是true,执行大括号中的语句

​ 如果关系表达式的结果是false,就跳过不执行

​ }

​ 执行流程:

​ 首先判断关系表达式看其结果是true还是false

​ 如果是true就执行语句体

​ 如果是false就不执行语句体

格式b: if(关系表达式){

​ 语句体1;

​ }else{

​ 语句体2;

​ }

​ 执行流程:

​ 首先判断关系表达式看其结果是true还是false

​ 如果是true就执行语句体1

​ 如果是false就执行语句体2

格式c: if(关系表达式1){

​ 语句体1;

​ }else if(关系表达式2){

​ 语句体2;

​ }else if(关系表达式3){

​ 语句体3;

​ }

​ …

​ else{

​ 语句体n;

​ }

if语句的第三种格式可以省略else,但是省去了就不是三个格式其中之一了

注意事项:

​ 1、如果在关系表达式小括号后面加上了一个分号,说明if语句结束

​ 默认存在一个空语句体

​ 2、括号都是成双成对出现的

​ 3、小括号中的结果必须是布尔类型(boolean类型)

if语句的第二种格式与三目运算符的关系

​ 注意事项:

​ 1、当if-else格式中的语句体一条输出语句的时候,不能转换成三目运算符

​ 2、当if-else格式中的语句体不是一条的时候,也不能转换成三目运算符

B: switch语句

​ switch选择结构:

1、格式:

​ switch(表达式){

​ case 常量1:

​ 语句体1;

​ break;

​ case 常量2:

​ 语句体;

​ break;

​ …

​ case 常量n:

​ 语句体n;

​ break;

​ default:

​ 语句体n+1:

​ break;

​ }

​ 解释分析结构:

​ 1、switch表达式的结果可以是哪些数据类型?(面试题)

​ 表达式的结果可以是:byte,short,int,char

​ 在JDK1.5以后可以是枚举类型

​ 在JDK1.7以后可以是String

​ 2、名词解释:

​ case: 后面跟的是要和表达式进行比较的值(常量),如果说匹配到了对应的case的值,

​ 那么就执行相对应的语句体,而且这个语句的部分可以是一条语句,也可以是多条语句

​ break: 表示中断的意思,结束的意思,可以结束switch语句

​ default: 表示默认的意思,当表达式的值与所有的case的值都不匹配的时候,最后才执行

​ default中的语句体.(与if-else if…-else中最后else对应着去理解)

​ 3、执行流程:

​ 1)计算表达式的值

​ 2)拿着这个计算好的值与case相对应的值(常量)按照顺序从上往下依次进行比较,如果有相同

​ 的值,就开始执行此位置的case中的语句体内容。

​ 3)、当语句体的内容执行完毕后,会紧接执行break语句,执行break语句就代表着咱们这个

​ switch选择结构的结束(跳出switch选择)

​ 4)当第二步从上往下去匹配case的值的时候,如果没有匹配到相应的值,就会执行default

​ 语句中语句体内容,最后跳出switch语句。

案例:(假设只能消费与口袋一样多钱的东西,只能买一样)

​ 买饮料案例

​ 可乐 3

​ 旺仔牛奶 5

​ 红牛 6

​ 农夫山泉 2

​ 脉动 4

​ 用switch语句实现购物,键盘录入身上带了多少钱。

注意事项:

​ 1、case后面的值不能有重复的

​ 2、default语句可以进行省略,一般情况下,不建议删除。

​ 3、case 后面紧跟着的只能是常量,或者常量之间的运算,不能是变量

​ 4、break语句可以省略,代码也不会报错,一般情况下,不建议省略,如果你省略了,结果可能不是你想要的结果,当匹配到break语句省略的那个case的时候,首先会执行对应的语句体,然后从匹配到的case一直运行到有break语句为止。

​ 5、default语句可以放在任意地方吗?
​ 可以,因为我们的switch语句执行流程是严格按照先在所有的case中进行匹配,当所有的case都不匹配的时候,最后再去执行default语句,这和你default语句写的顺序没有关系。

if 和switch的嵌套使用案例:

import java.util.Scanner;

public class SwitchIfDemo1 {public static void main(String[] args) {//创建键盘录入对象Scanner sc = new Scanner(System.in);//可乐 3, 旺仔牛奶 5, 红牛 6, 农夫山泉 2, 脉动 4//键盘录入数据表示身上有多少钱System.out.println("请输入您身上带了多少钱:");int money = sc.nextInt();if(money>=2 & money<100){System.out.println("欢迎光临!!!");switch (money){case 2:System.out.println("购买农夫山泉");break;case 3:System.out.println("购买可乐");break;case 4:System.out.println("购买脉动");break;case 5:System.out.println("购买旺仔牛奶");break;case 6:System.out.println("购买红牛");break;default:System.out.println("没有你想要的饮料");break;}}else if(0<money & money<2){System.out.println("您带的钱太少了,下次带多一点");}else if(money >=100){System.out.println("随便挑");}else {System.out.println("你是个穷鬼,下次再来吧");}}

}

三、循环结构

​ 循环结构

​ 循环语句可以在满足循环条件的情况下,反复执行某一段代码,

​ 这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,

​ 需要在合适的时候把循环判断条件修改为false,从而结束循环,

​ 否则循环将一直执行下去,形成死循环。

1、分类:

​ 1)for循环

​ 2)、while循环

​ 3) --do…while循环

循环语句的组成

​ 初始化语句:

​ 一条或者多条语句,这些语句完成一些初始化操作。

​ 判断条件语句:

​ 这是一个boolean 表达式,这个表达式能决定是否执行循环体。

​ 循环体语句:

​ 这个部分是循环体语句,也就是我们要多次做的事情。

​ 控制条件语句:

​ 这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

1)for循环:

​ 语句格式:

​ for(初始化语句;判断条件语句;控制条件语句){

​ 循环体代码;

​ }

​ 执行流程:

​ A:执行初始化语句,只执行了一遍

​ B:执行判断条件语句,看其结果是true还是false

​ 如果是false,循环结束。

​ 如果是true,继续执行。

​ C:执行循环体语句

​ D:执行控制条件语句

​ E:回到B继续

​ 使用for循环的注意事项

​ 1、条件判断语句只能是boolean类型

​ 2、当循环体的语句只有一条的时候,可以省略大括号,

​ 如果循环体的语句有多条的时候,这时候需要添加大括号,如果不添加循环语句只针对第一条语句有效(建议,永远不要省略大括号)

​ 3、如果在小括号后加分号,默认有一个空语句体,后面的代码为正常的代码块,不参与循环

​ 4、初始化语句可以不在for循环中的小括号中体现,但是必须在使用之前定义好

​ 5、条件判断语句可以删除,但是删除之后,就没有了控制循环结束的条件,就变成了死循环

​ 6、控制条件语句删除之后,也变成了死循环,你可以删除,但是初始化的变量的值一定要在循环体中发生变化。

2)while循环

​ 语句格式:

​ 简化格式:

​ while(关系表达式){

​ 循环体语句;

​ }

​ 完整格式:

​ 初始化语句;

​ while(关系表达式){

​ 循环体语句;

​ 控制条件语句;

​ }

3)for与while转换举例

​ 结论:for循环可以等价转换为while循环

System.out.println("===============用for循环实现===============");for(int i=1;i<=10;i++){System.out.println("HelloWorld");}System.out.println("===============用while循环实现===============");int i=1;while (i<=10){System.out.println("HelloWorld");

​            i++;}

​ 执行流程

​ 1、先执行初始化语句

​ 2、判断关系表达式的结果,

​ 如果是true,进入while循环,执行循环体内容

​ 如果是false,就不进入while循环,不执行循环体内容

​ 3、如果进入循环体内容,执行循环体代码和控制条件语句

​ 4、知道关系表达式的结果为false,终止while循环

死循环介绍:

​ for(; ; ) {}

​ while(true){}

while循环与for循环的区别

​ 1、for循环结束后,在for循环中定义的初始化变量在外部无法使用

​ while循环结束后,由于初始化值变量是在while循环外部定义的,所以在while循环外部可以访问到。

​ 2、 for循环实现的是一个范围内的循环

​ while循环,不知道将来要循环多少次,但是总会有个点去停止。

​ 举例:每分钟监控某网页登录用户的情况,直到有非法用户登录,统计在此之前的次数

​ boolean flag = true;

​ while(flag){

​ if(非法用户登录){

​ flag = false;

​ }

​ }

4)do…while循环

​ 语句格式:

​ 基本格式

​ do {

​ 循环体语句;

​ }while(判断条件语句);

​ 扩展格式(开发中使用扩展格式)

​ 初始化语句;

​ do {

​ 循环体语句;

​ 控制条件语句;

​ } while(判断条件语句);

do…while和while区别

​ while循环,执行的时候,会先进行一次判断,如果是true才执行循环体。

​ do…while循环,执行的时候,会先执行一次循环体内容,然后再判断是true还是false。

​ 写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环。

案例说明循环嵌套

​ 需求1:请输出一个4行5列的星星(*)图案

​ * * * * *

​ * * * * *

​ * * * * *

​ * * * * *

​ 需求2: 用循环实现打印如下三角形的*图案

​ *

​ * *

​ * * *

​ * * * *

​ * * * * *

*/

public class ForNestDemo {public static void main(String[] args) {//输出一个*

//        System.out.println("*");//输出5个*

//        System.out.println("*");

//        System.out.println("*");

//        System.out.println("*");

//        System.out.println("*");

//        System.out.println("*");//使用java的输出语句另外一种格式,将5个*输出在一行

//        System.out.print("*\t");

//        System.out.print("*\t");

//        System.out.print("*\t");

//        System.out.print("*\t");

//        System.out.print("*\t");//for循环改进打印一行

//        for(int i=1;i<=5;i++){

//            System.out.print("*\t");

//        }

//        System.out.println();

//

//        for(int i=1;i<=5;i++){

//            System.out.print("*\t");

//        }

//        System.out.println();

//

//        for(int i=1;i<=5;i++){

//            System.out.print("*\t");

//        }

//        System.out.println();

//

//        for(int i=1;i<=5;i++){

//            System.out.print("*\t");

//        }

//        System.out.println();//用for循环改进打印4行5列的*for (int i = 1; i <= 4; i++) { // 外层的for循环控制的是行for (int j = 1; j <= 5; j++) {//内层的for循环控制的是列System.out.print("*\t");}System.out.println();}
System.out.println("===========需求2==============");/**


​         \*             *

​         \* 			*   *

​         \* 			*   *   *

​         \* 			*   *   *   *

​         \* 			*   *   *   *   *

​         *

​         \* 	分析:

​         \* 	    1、总共有5行5列,我们可以先打印5行5列

​         \* 	    *   *   *   *   *

​         \* 	    *   *   *   *   *

​         \* 	    *   *   *   *   *

​         \* 	    *   *   *   *   *

​         \* 	    *   *   *   *   *

​         *

​         \* 	    2、

​         *

​         \* 	 *                    第一行1个星,i=1,j=1

​         \*      *   *                第二行2个星,i=2,j=2

​         \*      *   *   *            第三行3个星,i=3,j=3

​         \*      *   *   *   *        第四行4个星,i=4,j=4

​         \*      *   *   *   *   *    第五行5个星,i=5,j=5

​         *

​         *

​         */for (int i = 1; i <= 5; i++) {for (int j = 1; j <= 5; j++) {System.out.print("*\t");}System.out.println();}System.out.println("==================================");for (int i = 1; i <= 5; i++) {for (int j = 1; j <= i; j++) {System.out.print("*\t");}System.out.println();}System.out.println("===========打印9行9列的*三角型===========");for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print("*\t");}System.out.println();}System.out.println("===========打印九九乘法表===========");for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {//1*1=1   1*2=2System.out.print(j + "*" + i + "=" + (i * j) + "\t");}System.out.println();}}

}

跳转控制语句

​ 前面我们已经说过了,Java中的goto是保留字,目前不能使用。

​ 虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,

​ 比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情。

​ 为了弥补这个缺陷,

​ Java就提供了break,continue和return来实现控制语句的跳转和中断。

​ break,continue,return 它们都是关键字

break: 中断,结束的意思

​ break的使用场景:

​ 根据单独使用的时候报错信息我们得出,break语句是适用于switch语句和循环语句中

​ 1、在switch语句中使用

​ 2、在循环语句中使用

​ 3、单独在if语句中不能使用,但是镶嵌在循环语句中可以和if一起使用

for(int i=1;i<=10;i++){

​ System.out.println(i);

​ //当打印3的时候,结束for循环

​ if(i==3){

​ break;

​ }

报错修改快捷键:将鼠标光标移动至报错的横线上,按下alt+enter

​ 需求:

​ 九九乘法表,在内循环j是4的时候,我们break一下

​ 注意事项:

​ 单层跳出:在当前for循环中使用break,只结束当前for循环

​ 多层跳出:带标签的break,格式:标签名 : 循环语句(开发中如果没有特殊需求,一般不会去使用)

//在内循环j是4的时候,我们break一下

​        xiaomi : for(int i=1;i<=9;i++){ //外层控制行

​            xiaoyun : for(int j=1;j<=i;j++){ //内层控制列System.out.print(j+"*"+i+"="+(i*j)+"\t");if(j==4){break xiaomi; //结束当前循环}

continue: 跳出当次循环

​ 使用场景:

​ 1、在循环语句中

​ 2、离开使用场景的存在是没有意义的

return: 返回,退还

​ 在main方法中使用,就相当于结束了main方法,也就是结束当前java程序

三种方法的比较:

//        continue;//需求:打印1-10,加入continue关键字,在打印3的时候加入System.out.println("=====加continue==============");for(int i=1;i<=10;i++){if(i==3){continue;}System.out.println(i);}System.out.println("=====加break==============");for(int i=1;i<=10;i++){if(i==3){break;}System.out.println(i);}System.out.println("=====加入return===============");for(int i=1;i<=10;i++){if(i==3){return;}System.out.println(i);}

结果:

=====加continue==============

1

2

4

5

6

7

8

9

10

=====加break==============

1

2

=====加入return===============

1

2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java流程控制语句 的相关文章

  • Java - 为什么不允许 Enum 作为注释成员?

    It says 原始 String Class an Enum 另一个注释 上述任何一个的数组 只有这些类型才是合法的 Annotation 成员 为什么泛型 Enum 不能成为 Annotation 的成员 例如 Retention Re
  • Eclipse 在源代码管理中保存操作

    我们希望找到一种在签入之前执行代码标准的 轻量级 方法 我们真的很喜欢使用 Eclipse 内置的想法保存操作 go to Preferences gt gt Java gt gt Editor gt gt Save Actions 其中有
  • 如何使用 Java 中的 Web 服务(例如 Axis2)发送复杂对象的数组或集合?

    我对 SOAP Web 服务还比较陌生 虽然我完成了一些较小的 Web 服务项目 但我偶然从来不需要返回 或用作参数 复杂 对象的数组或集合 当我尝试这样做时 根据我的 SOAP 绑定风格 我会得到不同的奇怪行为 当我使用RPC 文字 我可
  • 如何安全地解决这个 Java 上下文类加载器问题?

    我的数百名用户中只有一位在启动我的 Java 桌面应用程序时遇到问题 他只有大约三分之一的时间开始 另外三分之二的时间在启动时抛出 NullPointerException Exception in thread AWT EventQueu
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • 使用 AES SecretKey 的 Java KeyStore setEntry()

    我目前正在 Java 中开发一个密钥处理类 特别是使用 KeyStore 我正在尝试使用 AES 实例生成 SecretKey 然后使用 setEntry 方法将其放入 KeyStore 中 我已经包含了代码的相关部分 The KS Obj
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • Java 8 流 - 合并共享相同 ID 的对象集合

    我有一系列发票 class Invoice int month BigDecimal amount 我想合并这些发票 这样我每个月都会收到一张发票 金额是本月发票金额的总和 例如 invoice 1 month 1 amount 1000
  • Java 中的“Lambdifying”scala 函数

    使用Java和Apache Spark 已用Scala重写 面对旧的API方法 org apache spark rdd JdbcRDD构造函数 其参数为 AbstractFunction1 abstract class AbstractF
  • Cucumber Java 与 Spring Boot 集成 - Spring @Autowired 抛出 NullPointer 异常

    我正在为 Spring boot 应用程序编写 cucumber java 单元测试来测试每个功能 当我与 Spring Boot 集成时 Autowired 类抛出 NullPointer 异常 Spring Boot应用程序类 Spri
  • 我可以创建自定义 java.* 包吗?

    我可以创建一个与预定义包同名的自己的包吗在Java中 比如java lang 如果是这样 结果会怎样 这难道不能让我访问该包的受保护的成员 如果不是 是什么阻止我这样做 No java lang被禁止 安全管理器不允许 自定义 类java
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • 将 Azure AD 高级自定义角色与 Spring Security 结合使用以进行基于角色的访问

    我创建了一个演示 Spring Boot 应用程序 我想在其中使用 AD 身份验证和授权 并使用 AD 和 Spring Security 查看 Azure 文档 我执行了以下操作 package com myapp contactdb c
  • Java中的Object类是什么?

    什么是或什么类型private Object obj Object http download oracle com javase 6 docs api java lang Object html是Java继承层次结构中每个类的最终祖先 从
  • 无法在 Intellij 上创建 Groove 脚本 - @NotNull 参数的参数

    我正在尝试开始学习 Groovy 以便在 JIRA 上使用 ScriptRunner 执行 API 调用 所以我从基础开始 我的问题是我什至无法使用 Intellij 创建 Groovy 脚本 在项目创建时它选择Groovy并选择项目SDK
  • ServletContainer 类未找到异常

    我无法再编译我的球衣项目 并且出现以下异常 GRAVE Servlet Project API threw load exception java lang ClassNotFoundException com sun jersey spi
  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import
  • 如何在 JFreeChart 中设置多个系列的线条粗细?

    我创建了很多图表 在他们每个人中我都需要打电话 renderer setSeriesStroke i new BasicStroke 2 0f 对于每个系列 renderer is chart getXYPlot getRenderer 我

随机推荐

  • python用神经网络进行二分类,并用网格搜索进行调参,写出代码

    在 Python 中使用神经网络进行二分类的一般流程如下 导入所需的库 如 numpy 和 keras 准备好训练数据和测试数据 定义神经网络模型 在训练数据上训练神经网络 在测试数据上评估神经网络的准确度 如果要使用网格搜索来调参 可以使
  • 千万数据量下的真实业务场景SQL性能优化!

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 前 言 通过前几期文章的积累 现在我们的理论知识已经极为扎实了 这个时候就可以动手开始sql优化了 sql优化是非常重要 因为即使再好的MySQL设计架构 也扛不住一
  • mysql8.0 mysqld: File './binlog.index' not found

    2019独角兽企业重金招聘Python工程师标准 gt gt gt mysql8 0启动时报错 mysqld File binlog index not found OS errno 13 Permission denied 修改数据库的路
  • Linux静态库与动态库

    Linux动态库与静态库 前言 Linux动态库与静态库介绍 静态库与动态库的优缺点 代码说明 静态库演示 静态库的命名规则 静态库的制作步骤 静态库的使用 动态库演示 动态库的命名规则 动态库的制作步骤 动态库的使用 静态库与动态库的使用
  • 怎么用Wireshark抓包QQ的到对方的IP地址

    怎么用Wireshark抓包QQ的到对方的IP地址 通过wireshark抓包工具得到对方的IP 一 wireshark Wireshark 前称Ethereal 是一个网络封包分析软件 网络封包分析软件的功能是撷取网络封包 并尽可能显示出
  • matlab 画图

    转 matlab 画图plot 标记符大小调整和填充 2014 01 15 21 00 23 转载 标签 it 分类 Matlab 原文地址 http xiangyan0212 blog 163 com blog static 207037
  • ajax代码复用,可重用的JS ajax模式(jquery)

    我想知道是否有更好的方法来为jquery创建可重用的ajax对象 这是我未经测试的代码 var sender function ajax url type dataType callback ajax url url type type d
  • 【计算机视觉40例】案例22:目标检测(YOLO方法、SSD方法)

    导读 本文是专栏 计算机视觉40例简介 的第22个案例 目标检测 YOLO方法 SSD方法 该专栏简要介绍李立宗主编 计算机视觉40例 从入门到深度学习 OpenCV Python 一书的40个案例 目前 该书已经在电子工业出版社出版 大家
  • 21天Jenkins打卡Day10-自动触发项目构建

    参考文档 http istester com jenkins 437 html
  • 【atlas】atlas 编译报错整理(全)

    前言 最近在编译 apache altas 1 1版本 在编译过程中遇到很多报错 这里整理并记录一下 问题一 org restlet jee 包找不到 问题原因 Maven主仓库中找不到包的解决办法 如org restlet jee not
  • Linux 管道pipeline

    管道符 tar归档目录 gzip压缩 ssh传输并用cat读取标准输入到文件 tar cf kernel linux 6 4 7 gzip ssh user 192 168 123 144 cat gt destination tar gz
  • PyQt学习笔记:使用QtWidgets.qApp实现在程序中随时访问应用的方法

    PyQt学习笔记 使用QtWidgets qApp实现在程序中随时访问应用的方法 在PyQt中 QtWidgets qApp是一个全局变量 它提供了一种在程序中随时访问应用的方法 通过使用qApp 我们可以轻松地获取到应用的实例 并且可以使
  • 模式识别——特征提取(表达)

    特征表达 特征是机器学习系统的原材料 对最终模型的影响是毋庸置疑的 如果数据被很好地表达成了特征 通常线性模型就能达到满意的精度 关于特征 需要考虑以下三方面 1 特征表示的粒度 需要考虑 模型在一个什么程度上的特征表示 才能发挥效果 以图
  • tomcat堆栈中10大常见线程详解

    Tomcat作为一个服务器来讲 必然运行着很多的线程 而每一个线程究竟是干什么的 这个需要非常的清楚 无论是打印断点 还是通过jstack进行线程栈分析 这都是必须要掌握的技能 本文带你基于Tomcat7 8 9的版本 识别Tomcat堆栈
  • Cool! TineEye 图片逆向搜索

    Tineye 是世界上第一个逆向图片搜索引擎 可以根据你提交的图片在Internet找到类似图片 下面是Tineye网站上的一些搜索例子 很神奇吧 Cool Searches click image to search This page
  • 爱心代码(web前端)陈飞宇李峋同款

    文章目录 前言 一 效果图 二 操作步骤 第一步 第二步 第三步 第四步 第五步 第六步 源码 前言 最近随着电视剧 点燃我温暖你 的火热播出 剧中帅气学霸李洵的炫酷爱心代码也迅速火出了圈 爱心素材也异常火爆 我在这里整理了一份大家有需自取
  • 使用YOLOv5检测大宽高比(细长目标)时无法检测问题的解决方法

    在深度学习的工程中总会遇到许许多多的奇奇怪怪的问题 使人头大 上周五Franpper在使用yolov5 5 0训练时就遇到了这么一个奇怪的问题 在训练过程中labels一直为0 表示没有读进去标签 虽然可以训练 但是是无效训练 因为网络也不
  • 【硬件】对电源模块的梳理(包括DC-DC、LDO等不同芯片应用电路)

    目录 1 DC DC 变换器 ME3116 24V转5V JW5017S 18V转5V CX802 输入电压 4 5 80V 输出电压5V 输出电流1 2A LM2596S ADJ 输入电压3 3 40V 输出电压5V 2 LDO 低压差
  • java中网络编程UDP在线咨询案例(DatagramSocket)

    方法1 单线程 单方向发送接收 发送端 UdpTalkClient java 步骤流程 1 使用DatagramSocket 指定端口 创建发送端 2 准备数据一定转成字节数组 3 封装DatagramSocket包裹 需要指定目的地 4
  • java流程控制语句

    一 顺序结构 顺序结构 按照代码的顺序 自上而下执行 二 选择结构 A if语句 格式 a if 关系表达式 语句体 详细情况 if 关系表达式 如果关系表达式的结果是true 执行大括号中的语句 如果关系表达式的结果是false 就跳过不