8.8算法笔记强化随记
知识强化
1.类型转换【不管是强制类型转换还是自动类型转换,都要满足两个变量类型相兼容的原则】
(1)隐式类型转换,也叫自动类型转换【小转大】
正常来说要求等号两边的变量类型一致,如果不一致的情况下则会发生类型转换,能自动发生类型转换的称之为隐式类型转换
要求:双方相互兼容,比如int或者double【都是数字类型的】,并且,要目标类型大于原类型
int a =10;
double b = a;//此时a为原类型,b为目标类型,所以原变量类型要小于目标变量类型
输出结果为10
这种也就是发生了隐式类型转换
(2)显示类型转换,也叫强制类型转换【大转小】
要求:双方相互兼容,并且原类型要大于目标类型,与上面正好相反
在原类型处的语法:(待转换的类型)要转换的值
double a = 10.3;
int b = (int)a;//此时a为原类型,原类型的原始变量类型是double,大于int,转换时按照上方语法,在前面加上要转换的变量类型。b为目标类型,原类型要大于目标类型才需要强制转换
输出结果为10
补充:需要注意一点,如果一个int表达式中,其中一个操作数为double类型,那么整个表达式都将会变成double类型
例子:
int a = 10;
int b = 3;
double c = a/b;//表达式,这里的a和b为这个c的表达式中的操作数
这样得出来的结果还是3
(1)
int a = 10;
double b = 3;
double c = a/b;//此时表达式中的操作数a和b里面b为double类型的,则c整体被提升为double,所以结果就为3.3333....
(2)
或者还有一种写法
int a = 10;
int b = 3;
double c = a*1.0/b;//在表达式的操作数后面直接*1.0,效果与上方是一个道理,这样与上面的好处就是不用修改上面的变量类型
最后,因为double得出的小数位数很多,在某些情况下需要保留几位小数,语法上这么写:
在占位符上进行更改:{0:0.00},0:后面的0.00..写几个就保留几位小数
算法题:
1.编程实现计算几天是几周零几天
2.编程实现计算多少秒是几天几时几分几秒
一天是86400秒:60*60*24
思路是
拿剩余天数去求剩余秒数
然后拿剩余秒数去求剩余小时
然后求完小时拿当前剩余秒数
然后用当前剩余秒数求分钟
最后求完分钟拿到剩余秒数,也就是最后的剩余秒数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?