Java最最最最基础概念——逻辑控制语句

2024-08-29 13:36

本文主要是介绍Java最最最最基础概念——逻辑控制语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一直排斥刷题的原因竟然是:
基础语句掌握不牢固!!

文章目录

    • 1.顺序结构
    • 2.if 语句
    • 3.switch 语句
    • 4.while循环结构
    • 5.for循环
    • 5.do while 循环

1.顺序结构

    public static void main1(String[] args) {//1.顺序结构System.out.println("111");System.out.println("222");System.out.println("333");}

2.if 语句

  • 语法一
     * if(布尔表达式){*     语句* }* 如果布尔表达式结果为true,执行if中的语句,否则不执行。
        int n = 89;if(n >= 90){System.out.println("dfsff");}
  • 语法二
 * if(布尔表达式){* // 语句1* }else{* // 语句2* }* 如果布尔表达式结果为true,则执行if中语句,否则执行else中语句
        if(n >= 70){System.out.println("ssdfsdf");}else{System.out.println("sdfsdf");}  
  • 语法三
 * if(布尔表达式1){* // 语句1* }else if(布尔表达式2){* // 语句2* }else{* // 语句3* }* 表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3

3.switch 语句

* switch(表达式){
* case 常量值1:{
* 语句1;
* [break;]
* }
* case 常量值2:{
* 语句2;
* [break;]
* }
* default:{
* 内容都不满足时执行语句;
* [break;]
* }
* }
  1. 先计算表达式的值
  2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束
  3. 当表达式的值没有与所列项匹配时,执行default
       int day = 8;switch(day) {case 1:System.out.println("星期一");break;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;case 7:System.out.println("星期日");break;default:System.out.println("输入有误");break;}}

【注意事项】

  1. 多个case后的常量值不可以重复
  2. switch的括号内只能是以下类型的表达式:
  3. 基本类型:byte、char、short、int,注意不能是long类型
  4. 引用类型:String常量串、枚举类型

4.while循环结构

    public static void main4(String[] args) {/*** while(循环条件){* 循环语句;* }* 循环条件为 true, 则执行循环语句; 否则结束循环.*/int n = 1;int ret = 0;while(n <= 100){ret = ret + n;n++;}System.out.println(ret);//计算 1! + 2! + 3! + 4! + 5!int i = 1;int sum = 0;while(i <= 5){int j = 1;int tmp = 1;while (j <= i) {tmp = tmp * j;j++;}sum = sum + tmp;i++;}System.out.println(sum);}
  • break 的功能是让循环提前结束
  • 代码示例: 找到 100 - 200 中第一个 3 的倍数
    public static void main5(String[] args) {int num = 100;while (num <= 200) {if (num % 3 == 0) {System.out.println("找到了 3 的倍数, 为:" + num);break;}num++;}}//continue 的功能是跳过这次循环, 立即进入下次循环.public static void main6(String[] args) {int num = 100;while (num <= 200) {if (num % 3 != 0) {num++; // 这里的 ++ 不要忘记! 否则会死循环.continue;}System.out.println("找到了 3 的倍数, 为:" + num);num++;}}

5.for循环

 * for(表达式①;布尔表达式②;表达式③){* 表达式④;* }* 执行表达式①(初始化):在循环开始前执行一次,用于初始化循环控制变量。* 评估表达式②(条件判断):在每次循环开始前评估。如果条件为真(true),则执行循环体;如果为假(false),则退出循环。* 执行表达式④(循环体):在条件判断为真时执行。* 执行表达式③(更新):在循环体执行完毕后执行,用于更新循环控制变量,然后回到步骤2进行下一轮的条件判断。* ①②④③--->②④③--->②④③--->②④③--->②④③--->②④③--->...--->②为false,循环结束。
    for (int i = 1; i <= 10; i++) {System.out.println(i);}int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("sum = " + sum);
}
        //1! + 2! + 3! + 4! + 5!int sum = 0;for (int i = 1; i <= 5; i++) {int tmp = 1;for (int j = 1; j <= i; j++) {tmp *= j;}sum += tmp;}System.out.println("sum = " + sum);}

【注意事项】 (和while循环类似)

  1. 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }
  2. 和 if 类似, for 后面的 { 建议和 while 写在同一行.
  3. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行.
  4. 和while循环一样,结束单趟循环用continue,结束整个循环用break

5.do while 循环

    public static void main(String[] args) {/*** do{* 循环语句;* }while(循环条件);* 先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。*///例如:打印 1 - 10int num = 1;do {System.out.println(num);num++;} while (num <= 10);}}

【注意事项】

  1. do while 循环最后的分号不要忘记
  2. 一般 do while 很少用到, 更推荐使用 for 和 while

这篇关于Java最最最最基础概念——逻辑控制语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118005

相关文章

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.