‘/’ 和 ‘%’ 在编程中的作用【附加练习题】

简介: ‘/’和‘%’在编程中有非常重要的作用,使用它们可以说是在使用一种简单算法,不仅易于理解,而且会极大的减少你的代码量,让你的程序看起来高级一点点

‘/’和‘%’在编程中有非常重要的作用,使用它们可以说是在使用一种简单算法,不仅易于理解,而且会极大的减少你的代码量,让你的程序看起来高级一点点🤪!


/ 除

我们通常都是除10的倍数,比如‘10’只有一个0,那么 ‘/10’的含义就是除去后面1位


‘/100’有两个0,那么‘/100’就是除去后面2位


‘/1000’有三个0,那么‘/1000’就是除去后面3位


10086 / 10 = 1008

10086 / 100 = 100

10086 / 1000 = 10

10086 / 10000 = 1

% 取余

%10的 倍数

取余和除刚好相反,除是除去后面几位(通常除10的倍数),而取余则是保留后面几位数(通常对10取余)


同样,比如‘%10’,10只有一个0,‘%10’的含义就是保留最后1位


‘%100’,100有两个0,那么‘%100’的含义就是保留最后2位


‘%1000’,1000有三个0,那么‘%100’的含义就是保留最后3位


12345 % 10 = 5

12345 % 100 = 45

12345 % 1000 = 345

12345 % 10000 = 2345

%非10的倍数的数

这个也十分重要了,通常我们会在循环中遇到:


比如,我们有1个Task[] 数组,它有3个Task对象,我们需要在接下来的10次循环中每次调用一个Task任务。也就是说写一个for循环,循环10次,每一次循环轮流执行这三个中的一个任务(调用它的run方法)

Task[] tasks = new Task[3]; //创建三个任务
for (int i=0;i<10;i++){
    tasks[i] = new Task();//实例化对象才能调用它的方法
    tasks[i].run();//执行任务
}

但是我们会发现,当循环到第4次的时候,tasks[3] 它根本不存在,这个时候,就需要我们使用 % 了!!!

Task[] tasks = new Task[3]; //创建三个任务
int nums = i%tasks.length();//任务的数量
for (int i=0;i<10;i++){
    tasks[i%nums] = new Task();//实例化对象才能调用它的方法
    tasks[i%nums].run();//执行任务
}

我们模拟一下这10次循环


//我们有3个任务:tasks[0],tasks[1],tasks[2]
tasks[0%3] //这次执行的是tasks[0]
tasks[1%3] //这次执行的是tasks[1]
tasks[2%3] //这次执行的是tasks[2]
tasks[3%3] //这次执行的是tasks[0]
tasks[4%3] //这次执行的是tasks[1]
tasks[5%3] //这次执行的是tasks[2]
tasks[6%3] //这次执行的是tasks[0]
tasks[7%3] //这次执行的是tasks[1]
tasks[8%3] //这次执行的是tasks[2]
tasks[9%3] //这次执行的是tasks[0]

显然这样比使用比如队列(不断出队、入队)要简单多了吧😎😎😎!


练习题

蓝桥杯-数列求值


相关文章
|
10月前
|
存储 人工智能 缓存
官宣开源 阿里云与清华大学共建AI大模型推理项目Mooncake
近日,清华大学和研究组织9#AISoft,联合以阿里云为代表的多家企业和研究机构,正式开源大模型资源池化项目 Mooncake。
|
IDE Java 程序员
Maven基础学习---1、Maven的作用、什么是Maven
Maven基础学习---1、Maven的作用、什么是Maven
|
缓存 安全 Unix
深入探索Linux中的qemu-ga命令
**QEMU的qemu-ga是虚拟机内的守护进程,提供带外通道管理guest OS,如文件操作、关机、休眠等。它通过virtio-serial通信,特点是安全、高效、灵活。例如,使用`virsh qemu-agent-command`执行虚拟机内部命令。最佳实践包括安装配置agent、设置黑名单、考虑安全和性能、定期备份及利用社区资源。**
|
网络协议
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
440 0
|
开发者 Windows
WSA 安装Magisk教程指南
是的,没错,它来了! 如题!废话不多说,直接教程~
1025 0
|
Java Maven
JDK8使用JavaPackager打包项目生成.exe可执行文件
JDK8使用JavaPackager打包项目生成.exe可执行文件
|
Java Windows
jdk8的安装与环境配置(windows11)
jdk8的安装与环境配置(windows11)
jdk8的安装与环境配置(windows11)
|
大数据
尚硅谷大数据技术之Kettle
搜遍全网,好不容易只找到v1.1版本的Kettle参考资料,之前都是自己跟着课程手写,CSDN太多无耻之徒拿去收费,今天免费分享给大家,欢迎学习大数据的同学和我交流,链接不能用dd我就行。后期我跟着课程学完会给大家更新v2.0的Kettle资料
|
存储 机器学习/深度学习 分布式计算
Hadoop基础学习---3、HDFS概述、HDFS的Shell操作、HDFS的API操作
Hadoop基础学习---3、HDFS概述、HDFS的Shell操作、HDFS的API操作