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

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

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

/ 除

我们通常都是除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]

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

练习题

蓝桥杯-数列求值

相关文章
|
2月前
|
设计模式 JavaScript 算法
编程的奥秘——从代码行中寻找
编程作为现代科技的核心技艺,正在深刻地改变我们的生活、工作乃至思维方式。本文详细介绍了PHP中三种常用的设计模式——单例模式、工厂模式和策略模式。单例模式确保类的唯一实例化,适合管理共享资源;工厂模式封装对象创建过程,降低系统耦合度;策略模式定义算法系列并封装,便于算法切换。合理运用这些模式能显著提升代码质量,使系统更加灵活和易维护。
21 3
|
5月前
|
开发框架 .NET 程序员
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
33 0
|
6月前
|
存储 Java 程序员
Java数组全套深入探究——基础知识阶段2、数组的定义语法
Java数组全套深入探究——基础知识阶段2、数组的定义语法
65 0
|
机器学习/深度学习 搜索推荐 算法
编程艺术 - 第二章 、俩个字符串是否包含问题以及扩展
编程艺术 - 第二章 、俩个字符串是否包含问题以及扩展
69 0
‘/’ 和 ‘%’ 在编程中的作用【附加练习题】
‘/’和‘%’在编程中有非常重要的作用,使用它们可以说是在使用一种简单算法,不仅易于理解,而且会极大的减少你的代码量,让你的程序看起来高级一点点
|
NoSQL Java 数据库
解释afterPropertiesSet方法的用处
解释afterPropertiesSet方法的用处
|
程序员 C语言 Windows
计算机程序的构造和解释 - 个人笔记(一)
学习任何语言思想最重要的是思想本身,而scheme由于语言天生的自由性,可以极大的发挥程序员的思想空间
109 0
计算机程序的构造和解释 - 个人笔记(一)(下)
计算机程序的构造和解释 - 个人笔记(一)(下)
131 0
|
程序员 C语言 Windows
计算机程序的构造和解释 - 个人笔记(一)(上)
计算机程序的构造和解释 - 个人笔记(一)(上)
156 0