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

03、流程控制语句

01、位运算符

        一、位运算符:是针对二进制数据(补码)的运算。(0看成false,1看成true)

                &:按位与——求出两个数字对应的二进制,有0则0

                | :按位或——求出两个数字对应的二进制,有1则1

                ^ :按位异或 ——求出两个数字对应的二进制,相同则0,不同则1。

                ~:按位取反——按位取反的意思就是,针对当前的这个二进制数据,所有的0变1,1变0,其实就相当与把当前的变量的值加1,然后取反。

02、运算符2

        1. <<:左移——左边的高位舍弃,右边空出的部分用0补齐

        2. >>:右移——如果最高位是0,左边被移空的位就填入0;如果最高位是1,左边被移空的位就填入1

        3. >>>:无符号右移——无论最高为是1还是0,左边被移空的高位都填入0

        总结:向左(增大)移动或者向右(缩小)移动,就是把数据增大或者缩小2的指定次幂。

03、两个面试题

        A:请用最高的效率写出2乘以8这个式子

                2*8(错误,不够高效)   --->   2<<3

        B:请把两个数据交换   举例:int a=10;int b=20;交换两个变量的值。

                方案1:采用临时变量

                方案2:使用位^运算符

                        特点:一个数据对同一个数据位^运算两次,数据不变

                        a=a^ b;

                        b=a^ b;

                        a=a^ b;

                开发使用第三方变量的形式,面试使用位^运算符。

04、条件运算符

        也就是三元运算符,三元表达式。

        格式:(条件表达式)?表达式一:表达式二

        注意:条件表达式说明这里将来只能是结果为true或者false的表达式

        执行顺序:如果条件表达式为true,就把表达式1作为结果;
                        如果条件表达式为false,就把表达式2作为结果。

        扩展:三元表达式的嵌套。

                例子:用三元表达式求3个数的最大值。

                        (a>b) ?(a>c?a:c):(b>c?b:c);

05、if语句的第一种格式

        流程控制语句:

                A:顺序结构:代码按照顺序从上往下执行

                B:选择结构:代码根据以下选择或者判断做出不同的执行

                C:循环结构:把某些事情做很多次


        if语句的第一种格式:

                if(条件表达式){

                        语句体;

                }

        执行顺序:根据条件表达式的返回值是true还是false决定程序的流程

                如果是true,就执行语句体,如果是false,就什么都不做


        注意:

                A:无论条件表达式是简单还是复杂,结果都必须是boolean类型;

                B:if语句后面可以不写0,如果这样的话,他就只能控制后面的一条语句如果想控制多条,就必须加0,推荐:无论是控制一条还是多条,请都加上;

                C:在if语句的0前面不要写分号,否则,会对程序的结果有影响,-般来说,出现0的时候,就不会有分号,有分号的时候,就不会有()号。

        作用域:定义的变量的作用域,在他所属的那对之内有效。

06、if语句的第二种和第三种格式

        一、if语句的第二种格式:

                if(条件表达式){

                        语句体1;

                }else{  // 否则的意思

                        语句体2;

                }

        二、if语句的第三种格式:

                

                if(条件表达式){

                        语句体1;

                }else if(条件表达式){

                        语句体2;

                }

                ………………(此处可以写多个else if0))

                else{

                        语句体3;

                }


        注意:

                A:else后面是不能直接跟条件表达式;

                B:最后一个else可以不写,但是,一般建议加上。除非,你明确不需要;

                C:if语句的第三种格式,一旦某个地方满足if语句就不往下执行了。

07、if语句的案例测试

        考试成绩分等级90-100---A等;

        80-89 ---B等;

        70-79 --- C等;

        60-69--- D等;

        60以下 ---E等;

        根据给定成绩,输出对应的等级(代码略)


        注意:

                A:做程序,不仅仅要考虑正常情况,还得考虑非正常情况;

                B:对程序进行测试,要考虑的数据

                        a:正确数据
                        b:错误数据
                        c:边界数据

08、if语句的案例测试通过Scanner改进

        我们如果想数据的效果好一些,最好从键盘录入数据而键盘录入的实现方案,常用有三种方式:

                A:main后边的Stringlargs接受参数;

                B:BufferedReader I0流里边;

                C:ScannerJDK5以后键盘录入数据的新方式。


        使用Scanner的步骤:

                A:导包

                        import java.util.Scanner;

                B:创建对象

                        Scanner sc = new Scanner(System.in);

                        注意:System.in:是标准输入流,对应着键盘录入。

                        这个暂时先了解,后边到IO流会重点讲。


                用Scanner来做上边那道评判成绩评定的题。

09、if语句的嵌套和与条件运算符的替换

        A:if语句的嵌套:

                if语句里面的语句体本身又是一个if语句。

                事例:求三个数的最大值。

        B:if语句的第二种格式和条件运算符的关系

                没有关系,一个是语句,一个是运算符。
                但是,if语句在某些情况下,可以用条件运算符替换,更简洁。

        C:例如:System.out.printin("输出一句话”);

                这种情况就不可以使用条件运算符替换,因为条件运算符是运算符,

                是运算符就应该有结果。

10、switch语句的格式使用

        格式:

                switch(表达式){

                        case 取值1:

                                执行语句;

                                break;

                        case 取值2:

                                执行语句;

                                break;

                        ……………………

                        default:

                                执行语句;

                                break;

                        }


        解释:

                1.switch:知道这里使用的是switch

                2.表达式:byte,short,int,charJDK5以后,可以是枚举。JDK7以后,可以是String类型。

                3.执行流程:

                        从上往下,用表达式的值去和case后面的值进行匹配如果有匹配的,就去执行该case所包含的语句,如果没有匹配的,就会去执行default中的内容。

11、switch语句的注意事项

        A:default可以省略吗?

                可以。但是,一般不省略,它相当于if的else语句,可以控制所有的非正常情况。假如你非常明确可以省略,那就省略。

        B:break可以省略吗?

                放在最后面的default的break是可以省略的,
                放在case语句中的break是可以省略的,但是可能结果有问题。所以,一般不省略。

        C:default可以不放在最后边吗?

                可以,但是一般都放在最后面,

        D:switch语句什么时候结束?

                遇到break或者执行到switch的结尾

相关文章:

03、流程控制语句

01、位运算符 一、位运算符:是针对二进制数据(补码)的运算。(0看成false&#xff0c;1看成true) &:按位与——求出两个数字对应的二进制&#xff0c;有0则0 | :按位或——求出两个数字对应的二进制&#xff0c;有1则1 ^ :按位异或 ——求出两个数字对应的二进制&#xff0c…...

[Android] [解决]Bottom Navigation Views Activity工程带来的fragment底部遮盖的问题

创建了Bottom Navigation Views Activity之后&#xff0c;在fragment_home.xml&#xff0c;加了一个RecyclerView&#xff0c; 后来添加了item之后发现底部会被盖住一部分。 解决&#xff1a;在layout里面加两句&#xff1a; android:paddingBottom"?attr/actionBarSize&…...

Armv8/Armv9架构中的原子性

B2.2 Arm 架构中的原子性 原子性是内存访问的一个特性,描述为原子访问。Arm 架构描述涉及两种类型的原子性:单次复制原子性和多次复制原子性。在 Arm 架构中,内存访问的原子性要求取决于内存类型,以及访问是显式的还是隐式的。有关更多信息,请参见: 单次复制原子性的要求…...

读零信任网络:在不可信网络中构建安全系统15协议和过滤

1. 协议 1.1. IKE/IPSec 1.1.1. 因特网密钥交换协议&#xff08;Internet Key Exchange,IKE&#xff09;用于执行IPSec认证和密钥交换 1.1.1.1. 通常以后台守护进程的方式实现&#xff0c;使用预共享密钥或X.509证书来认证对端并创建一个安全会话 1.1.2. IKEv1与IKEv2 1.1.2.1…...

C语言学习笔记 Day11(指针--中2)

Day11 内容梳理&#xff1a; 目录 Chapter 7 指针 7.6 指针 & 函数 &#xff08;1&#xff09;形参改变实参的值 &#xff08;2&#xff09;字符数组作为函数参数 1&#xff09;合并字符串 2&#xff09;删掉字符串中空格 &#xff08;3&#xff09;指针作为函数返…...

Golang 并发编程

Golang 并发编程 Goroutine 什么是协程 创建 Goroutine 主 goroutine &#xff08;main函数&#xff09;退出后&#xff0c;其它的工作 goroutine 也会自动退出 package mainimport ("fmt""time" )func myFunc() {i : 0for {ifmt.Println("func: …...

【数据结构详解】——选择排序(动图详解)

目录 &#x1f552; 1. 直接选择排序&#x1f552; 2. 堆排序 &#x1f552; 1. 直接选择排序 &#x1f4a1; 算法思想&#xff1a;第一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始&#xff08;末尾&#xff09;位置…...

杂项命令(笔记)

ifconfig &#xff1a;http://t.csdnimg.cn/gT2AR echo :http://t.csdnimg.cn/6DSoO ps和top的区别 http://t.csdnimg.cn/f1XWt...

代码随想录算法训练营Day38||完全背包问题、leetcode 518. 零钱兑换 II 、 377. 组合总和 Ⅳ 、70. 爬楼梯 (进阶)

一、完全背包问题 相较于01背包&#xff0c;完全背包的显著特征是每个物品可以用无数次&#xff0c;遍历顺序也不需要为了保证每个物品只去一次而倒序遍历。 #include<iostream> #include<vector> using namespace std; int main(){int N,V;cin>>N>>V…...

超越链端:Web3的无边界技术革命

Web3&#xff0c;作为互联网技术的第三代变革&#xff0c;正以其去中心化、开放透明的特性&#xff0c;重新定义着我们的数字生活。在这一背景下&#xff0c;“链端”概念逐渐成为热点&#xff0c;意味着我们不仅仅局限于区块链技术本身&#xff0c;而是探索其在更广泛领域的应…...

127. Go反射基本原理

文章目录 反射基础 - go 的 interface 是怎么存储的&#xff1f;iface 和 eface 的结构体定义&#xff08;runtime/iface.go&#xff09;&#xff1a;_type 是什么&#xff1f;itab 是什么&#xff1f; 反射对象 - reflect.Type 和 reflect.Value反射三大定律Elem 方法reflect.…...

提高PDF电子书的分辨率

解决方法出处 1. 安装ImageMagick brew install imagemagick brew install ghostscript2. 按流程进行 convert -density 600 your_pdf_filename.pdf output-%02d.jpg convert output*.jpg -normalize -threshold 80% final-%02d.jpg convert final*.jpg my_new_highcontras…...

Spring Cloud全解析:注册中心之zookeeper注册中心

zookeeper注册中心 使用zookeeper作为注册中心就不需要像eureka一样&#xff0c;在写一个eureka-server的服务了&#xff0c;因为zookeeper本身就是一个服务端&#xff0c;只需要编写需要进行服务注册的客户端即可 依赖 <!-- zookeeper 注册中心 --> <dependency&g…...

解决戴尔台式电脑休眠后无法唤醒问题

近期发现有少量戴尔的台式机会有休眠后无法唤醒的问题&#xff0c;具体现象就是电脑在休眠后&#xff0c;电源指示灯以呼吸的频率闪烁&#xff0c;无论怎么点鼠标和键盘都没有反应&#xff0c;并且按开机按钮也没法唤醒&#xff0c;只能是长按开机键强制关机再重启才行&#xf…...

MySQL运维-分库分表

介绍 问题分析 拆分策略 垂直拆分 水平拆分 实现技术 Mycat概述 介绍 概念介绍 Mycat配置 schema.xml schema标签 schema标签&#xff08;table&#xff09; datanode标签 datahost标签 rule.xml sever.xml system标签 user标签 Mycat分片 分片规则-范围 分片规则-取模 分…...

AGX orin硬件设计

AGX orin简介 ​ 从硬件组成来说&#xff0c;AGX orin可以分为核心板和扩展板。 核心板 ​ 核心板就是英伟达原装板卡&#xff0c;如下图所示&#xff1a; ​ 核心板分为32G内存版本和64内存版本&#xff0c;两个版本除去内存不同之外&#xff0c;CPU也略有差异。核心板通过…...

AI大模型开发——2.深度学习基础(1)

学习大模型开发之前&#xff0c;我们需要有足够的储备知识&#xff0c;类似于基础的python语法相信大家也都是十分熟悉了。所以笔者也是考虑了几天决定先给大家补充一些深度学习知识。 首先问大家一个问题&#xff0c;学习大模型之前为什么要先学习深度学习知识呢&#xff1f; …...

go语言day22 gin-vue-admin全栈项目的依赖安装

flipped-aurora/gin-vue-admin: &#x1f680;ViteVue3Gin的开发基础平台&#xff0c;支持TS和JS混用。它集成了JWT鉴权、权限管理、动态路由、显隐可控组件、分页封装、多点登录拦截、资源权限、上传下载、代码生成器【可AI辅助】、表单生成器和可配置的导入导出等开发必备功能…...

PHP之docker学习笔记

Docker学习笔记 前言&#xff1a; 之前学过一遍忘了 那就再来一遍没啥好说的就是可以直接构建一个环境 然后方便部署官网 http://www.docker.com仓库 https://hub.docker.comDocker的基本组成 镜像 容器 仓库 安装与卸载 卸载 sudo yum remove docker \docker-client \dock…...

基于树莓派4B与STM32的UART串口通信实验(代码开源)

在现代嵌入式系统中&#xff0c;树莓派和STM32的结合使用已成为一种流行趋势&#xff0c;它们各自承担不同的角色&#xff0c;实现优势互补。树莓派以其强大的计算能力处理复杂算法&#xff0c;而STM32则以其高效的控制能力执行实际的硬件操作。本文将详细介绍如何实现基于树莓…...

物理引导的机器学习工作流:气候建模的融合创新与实践

1. 项目概述&#xff1a;当气候建模遇见机器学习如果你像我一样&#xff0c;在气候模拟这个领域摸爬滚打超过十年&#xff0c;就会深刻体会到一种“甜蜜的负担”&#xff1a;我们构建的地球系统模型&#xff08;ESM&#xff09;越来越精细&#xff0c;物理过程越来越复杂&#…...

从Gamma函数到泊松分布:一个概率论中的含参量积分实用案例解析

Gamma函数与泊松分布&#xff1a;概率论中的数学之美 在数据科学和机器学习的实践中&#xff0c;概率分布构成了建模的基石。当我们深入探究这些分布背后的数学原理时&#xff0c;Gamma函数以其优雅的性质和广泛的应用脱颖而出。它不仅连接了离散与连续概率世界&#xff0c;更在…...

告别鼠标手!5分钟上手开源鼠标连点器MouseClick,轻松实现自动化点击

告别鼠标手&#xff01;5分钟上手开源鼠标连点器MouseClick&#xff0c;轻松实现自动化点击 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软…...

基于MaixCam的延时摄影系统:从硬件选型到Python编程全解析

1. 项目概述&#xff1a;用MaixCam打造你的专属延时摄影工坊延时摄影&#xff0c;这个听起来有点专业、甚至带点“魔法”色彩的词&#xff0c;其实离我们并不遥远。想想看&#xff0c;把一朵花从含苞到绽放的几天时间&#xff0c;压缩成十几秒的惊艳绽放&#xff1b;或者把一座…...

5个必知的Universal-Updater高级功能:从QR扫描到后台安装

5个必知的Universal-Updater高级功能&#xff1a;从QR扫描到后台安装 【免费下载链接】Universal-Updater An easy to use app for installing and updating 3DS homebrew 项目地址: https://gitcode.com/gh_mirrors/un/Universal-Updater Universal-Updater是一款专为任…...

收藏干货|2026 版企业 AI 落地实操指南,程序员小白入门避坑必备

如今人工智能早已脱离概念炒作阶段&#xff0c;全面扎根企业实际业务场景&#xff0c;成为技术从业者与企业管理者无法回避的发展课题。各行各业都加速布局AI赛道&#xff0c;行业心态也从初期观望试探&#xff0c;彻底转变为实打实的落地攻坚。 不少企业高层主动牵头统筹AI规划…...

3分钟解锁网易云音乐NCM文件:ncmdumpGUI小白也能懂的完整教程

3分钟解锁网易云音乐NCM文件&#xff1a;ncmdumpGUI小白也能懂的完整教程 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经下载了网易云音乐的歌曲&a…...

如何用Python脚本榨干百度网盘带宽:pan-baidu-download终极指南

如何用Python脚本榨干百度网盘带宽&#xff1a;pan-baidu-download终极指南 【免费下载链接】pan-baidu-download 百度网盘下载脚本 项目地址: https://gitcode.com/gh_mirrors/pa/pan-baidu-download 在数字时代&#xff0c;百度网盘已成为我们存储和分享大型文件的默认…...

ZTE光猫工厂模式解锁:5分钟开启隐藏功能的终极指南

ZTE光猫工厂模式解锁&#xff1a;5分钟开启隐藏功能的终极指南 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 核心关键词&#xff1a;ZTE光猫工厂模式解锁 长尾关键词&#xff1a; ZT…...

工业云脑:06 现在就能干:树莓派边缘盒子+PLC,10分钟缺陷检测小案例

06 现在就能干:树莓派边缘盒子+PLC,10分钟缺陷检测小案例 今天第九篇06小节——现在就能干:树莓派边缘盒子+PLC,10分钟缺陷检测小案例。新手照着做10分钟就能跑起来,老手一看就知道这玩意儿省了多少钱。以前想上AI检测,得花几万块买专业边缘盒子;现在?树莓派5(RPi 5)…...