7.Java判断和循环+面试相关力扣算法题详解

news/2024/11/28 18:55:09/

提示:

文章目录

  • 前言
  • 一、顺序结构
  • 二、分支语句
    • (1)if语句
    • (2)switch语句
      • *default的位置和省略:
      • *case穿透
      • *switch新特性
      • *switch和if的第三种格式各自的使用场景
  • 三、循环结构
    • 1.分类
    • 2.for循环
    • 3.while循环
    • 4.for和while的对比:
    • 5.for和while循环的区别:
    • 6.练习:
  • 四、面试时的两道力扣算法题:
    • 1.回文整数
    • 2.求商和余数
  • 总结


前言

一、顺序结构

顺序结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行

二、分支语句

(1)if语句

注意点:
1.大括号的开头可以另起一行书写,但是建议写在第一行的末尾
2.在语句体中,如果只有一句代码,大括号可以忽略不写
3.如果对一个布尔类型的变量进行判断,不要用==号,直接把变量写在小括号即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)switch语句

在这里插入图片描述
在这里插入图片描述

*default的位置和省略:

位置:default不一定要写在最下面,我们可以写在任意位置,只不过习惯写在最下面
省略:default可以省略,语法不会有问题,但是不建议省略

*case穿透

就是语句体中没有写break导致的
执行流程:
首先还是会拿着switch小括号中表达式的值和下面每一个case进行匹配.如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句.如果没有发现break,那么程序会继续执行下一个case的语句体,一直遇到break或者大括号为止.
使用场景:
如果多个case的语句体重复了,那么我们考虑利用case穿透去简化代码.

*switch新特性

在这里插入图片描述
在这里插入图片描述

*switch和if的第三种格式各自的使用场景

if的第三种格式,一般用于对范围的判断
switch:把有限个数据一一列举出来,让我们任选其一

三、循环结构

1.分类

在这里插入图片描述

2.for循环

在这里插入图片描述

3.while循环

在这里插入图片描述

4.for和while的对比:

在这里插入图片描述

5.for和while循环的区别:

在这里插入图片描述

6.练习:

在这里插入图片描述

public class test1 {public static void main(String[] args) {//分析:折叠纸张,每一张折叠纸张的厚度都是原先的两倍//double a=0.1;//a=a*2;//a*=2//1.定义一个变量用来记录山峰的高度double height=8844430;//2.定义一个变量用来记录纸张的初始厚度double paper=0.1;//3.定义一个变量用来统计次数int count=0;//4.循环折叠纸张,只要纸张的厚度小于山峰的高度,那么循环就就继续//每折叠一次,统计次数就要++//选择while理由,此时我们不知道循环的次数也不知道循环的范围,只知道循环的结束条件,所以用whilewhile(paper<height){//折叠纸张paper=paper*2;//折叠一次,++一次count++;}//当循环条件结束后,count记录的值就是折叠的次数System.out.println(count);}
}

在这里插入图片描述

四、面试时的两道力扣算法题:

1.回文整数

在这里插入图片描述

public class test2 {public static void main(String[] args) {//核心思路:把数字倒过来跟原来的数字进行比较//1.定义数字int x=12345;//定义一个临时变量,用于最后的比较int temp=x;//记录倒过来之后的结果int num=0;//2.获得个位//int ge=x%10;//获取十位// int shi=x/10%10;//当输入的数字位数可以随便更换时//利用循环开始while (x!=0) {//从左往右获取每一位数字int ge=x%10;//修改一下x的值x=x/10;//把当前获取到的数字拼接到最右边num=num*10+ge;}//拼接//不能写成result=ge+shi+...结果肯定不是原来倒过来的数字,这样做只是加和//3.打印numSystem.out.println(num);//4.比较,注意不要写成num==x因为在循环中x的值已经被修改,最后跳出循环的时候x=0System.out.println(num==temp);}
}

在这里插入图片描述
在这里插入图片描述

2.求商和余数

在这里插入图片描述

public class test3 {public static void main(String[] args) {/*需求:给定两个整数,被除数和除数(都是正数,且不超过int的范围)将两数相除,要求不使用乘法除法和%运算符,得到商和余数分析:被除数/除数=商...余数int a=100;int b=10;100-10=9090-10=8080-10=7070-10=60...10-10=0(余数)减的次数就是商*///1.定义变量记录被除数int dividend=100;//2.定义变量记录除数int divisor=10;//4.定义一个变量用来统计相减了多少次int count=0;//3.循环 while//在循环中,不断地用被除数-除数//只要被除数是大于除数的,那么就一直循环while(dividend>=divisor){dividend=dividend-divisor;//只要减一次,那么统计变量就自增一次count++;}//当循环结束之后dividend变量记录的是余数System.out.println("余数为:"+dividend);//当循环结束之后,count记录的是商System.out.println("商为:"+count);}
}

在这里插入图片描述
在这里插入图片描述

总结

今天的内容你是否有所收获呢友友们🥰如果有写的不对的地方,欢迎大家帮我指正.最后,希望友友们点赞收藏一下博客关注后续的Java学习内容哦~😘💕💕


http://www.ppmy.cn/news/19021.html

相关文章

深入浅出PyTorch_【01】pytorch基础

#深入浅出PyTorch_【01】pytorch基础 2023.01.23 主要内容就是张量 自动求导 pytorch pytorch为深度学习框架&#xff0c;与Tensorflow为最火的两个框架。开始我们的学习 2.1 张量 张量的英文是Tensor&#xff0c;它是PyTorch里面基础的运算单位&#xff0c;与Numpy的ndarra…

数据结构 最短路径课设(源码+实验报告+视频讲解)(不要钱、用了自取)

XIAN TECHNOLOGICAL UNIVERSITY 课程设计报告 实验课程名称 算法与数据结构 专 业&#xff1a; 班 级&#xff1a; 姓 名&#xff1a; 学 号&#xff1a; 实验学时&#xff1a; 指导…

Ubuntu显示优化 动画

之前从win转到了ubuntu。老大哥问我为啥不直接用Mac。我笑笑没说话。其实就一个字&#xff0c;穷。 使用Ubuntu的过程中有一点小问题&#xff0c;不过平时我主要用来编程&#xff0c;对壁纸&#xff0c;过渡动画这些东西其实并不是很在乎。直到我审美感爆棚的妻子告诉我&#…

【题解】2023牛客寒假算法基础集训营2

目录A. Tokitsukaze and abn (easy)思路B. Tokitsukaze and abn (medium)思路Tokitsukaze and abn (hard)思路D. Tokitsukaze and Energy Tree思路bfsdfsE. Tokitsukaze and Energy Tree思维F. Tokitsukaze and Gold Coins (easy)思路G. Tokitsukaze and Gold Coins (hard)H. T…

为什么会有右值引用?(移动构造、移动赋值)

目录 1、左值引用的缺陷 2、移动构造&#xff1a;解决临时对象的深拷贝 3、拓展&#xff1a;移动赋值 1、左值引用的缺陷 左值引用作为函数参数传递&#xff0c;减少了参数拷贝&#xff1b;但是作为函数返回值&#xff0c;并不适用于所有场景&#xff0c;比如要返回一个临…

使用 Grafana 请求API接口

目的: 使用Grafana 配合JSON API 插件 请求API接口,完成可视化,实现一些简单的请求功能 假设我们想将如下的API接口返回的json数据可视化 这里借用一下 小熊同学的 金融数据接口 用请求如下接口举例 https://api.doctorxiong.club/v1/fund/detail?code000001&startDat…

树莓派配置Python虚拟环境、安装PyQt5、安装PySide2

要从头设置好一台可用于开发的树莓派&#xff0c;可以参考树莓派 4B 无屏幕&#xff0c;连接WiFi、SSH、VNC&#xff0c;系统换源、pip换源&#xff0c;安装中文输入法 Python虚拟环境 树莓派&#xff08;或者说arm平台&#xff09;使用Python虚拟环境的正确方式是使用pipenv…

网关超详解

文章目录网关详解一、Spring Cloud Gateway用法二、实现三、网关的分类四、什么是网关五、网关的作用路由负载均衡统一鉴权统一处理跨域统一业务处理访问控制发布控制流量染色接口保护统一日志统一文档网关详解 一、Spring Cloud Gateway用法 去看官网&#xff1a;https://sp…