java后端开发day14--之前练习的总结和思考
1.感受
这两天学点儿新的就直接上手打代码,真的是累死个人。我唯一的感受就是,课听完了,代码也跟着打完了(是的,跟着打的,没自己打),感觉自己脑袋里乱乱的,对代码的分区啊作用啊啥的,感觉内理解的程度有点儿呼之欲出,可能和我之前专业课学习积累了点儿经验有关吧,但是听了几天课就感觉自己有点儿体系,但是要写出来,就又觉得自己实在不成火候。
再往下学感觉又有点儿堆积之前的知识了,所以干脆停一天沉淀一下。好好想想之前的代码,每个变量啊语句啊方法啊之间的联系,由啥想到了啥,思路是怎么形成的,然后不同的需求还要考虑好几种情况,怎么用一种代码概括地解决同一种但会有变量的问题和需求。
害,技术饭难吃呦。
2.需要会的思想
1.运算符与10(数字)
比如给了一个数字:8956
这个时候就问了:个位 十位 百位 千位 或者 类似于验证码的分开和组合
个位:对10取余
十位:/10再对10取余–>/10%10
百位:/100再对10取余–>/100%10
千位:/1000
…
反正遇到数字就机灵一点,盯住这几位数,再根据实际要求进行计算。
2.平方根的正反计算(逆运算)
就是你不知道怎么计算平方根的时候,就要记得反过来想。
简而言之就是,和运算符有关的,都要想着逆运算。
提到平方根,就要连平方计算也想到。
正反都思考到,有的问题就能用很简单的代码解决。
//在代码当中
//从1开始循环,拿着数字的平方跟原来的数字进行比较
//如果小于的,那么继续往后判断
//如果相等,那么当前数字就是平方根
//如果大于的,那么前一个数字就是平方根的整数部分
//1.键盘录入一个整数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int number = sc.nextIn();
//2.从1开始循环判断
//开始:1 结束:number
for(int i = 1; i <= number; i++){//用i*i 再和number进行比较if(i * i == number){System.out.println(i +"就是"+number+"的平方根" );break; //一旦找到了,循环就可以停止了,后面的数字就不需要再找了,提高代码的效率}else if(i * i > number){System.out.println((i-1) +"就是"+number+"平方根的整数部分" );}
}
3.flag的运用
判断什么东西是否是XXX的时候,只有是否这里两种结果,就可以用flag代替具体输出语句。
比如:一开始就认定是一个质数–>flag = true;
然后在进行判断,不是就变为false,最后判断直接输出flag即可。
//分析:
//1.键盘录入一个整数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int number = sc.nextIn();//定义一个变量,表示标记
//标志number是否是一个质数
//true:是一个质数
//false:不是一个质数//表示最初就认为number是一个质数
boolean flag = true;//2.判断这个整数是不是一个质数
//写一个循环,从2开始判断,一直判断到number-1为止
//看这个范围内,有没有数字可以被number整除
for (int i = 2; i <= number-1; i++){//i依次表示这个范围内的每一个数字//看number是否能被i整除就可以了if(number % i == 0){flag = false;//System.out.println(number + "不是一个质数");break;}
}
//只有当这个循环结束了,表示这个范围之内所有的数字都判断完毕了
//此时才能断定number是一个质数
if(flag){System.out.println(number + "是一个质数");
}else{System.out.println(number + "不是一个质数");
}
4.方法打包
一开始我以为单纯的重复的代码需要打包,但是后边儿的练习证明了,凡是功能性的行为,都需要用方法打包。
所以后边儿的练习题,基本都只碰到个需求,就需要打包写一个方法。
5.数组长度
定义或者判断条件,比如索引啊啥的,就可以直接用数组长度的各种表达式来替代,就可以少定义一个变量。
3.必备的代码块
1.计数
int count = 0; //循环外定义
count++; //循环内计数
2.大写字母和小写字母
chs[i] = (char)(97); //小写字母 a
chs[i] = (char)(65); //大写字母 A
3.数字交换
需要有个临时值接受其中一个的初始值。
int temp = int a;
int a = int b;
int b = int temp;
4.面向对象必备的javabean
当然,我都是直接ptg插件偷懒的来着。
说说javabean存在的好处吧,我原来也觉得这个东西没啥用
昨天的文字版格斗,JavaBean的作用很明显
如果你想改变一个程序的修饰性的东西,就比如格斗的招式,血量描述,
可以直接在javabean中添加,不需要大改main里的方法啊输出语句啥的
可能这就是封装的好处吧,,,
总之,不碰主体行为代码的修改就是好修改。
4.前面的概念理解(当复习了)
1.面向对象
就具体的一个东西
这个东西的属性和功能得在这个东西的类里体现
(不管这个东西是活的还是死的)
2.方法
在执行类(要打psvm)中,main外。
就是对上面的变量要进行的活动的代码的打包。
辨识:和构造方法的区别是它带static。
3.构造方法
在javabean类里(没有main的类)
构造作用
含setter和getter语句
可以直接给变量赋值
5.怎么让代码无中生有
1.判断是否是面向对象的
其实感觉刚开始没学面向对象的时候就直接写主体代码,
感觉学了之后就得全是面向对象的代码了。
看有没有一个主体,它既有属性又有行为,就是面向对象的代码。
2.有的话,写javabean类
就先全是private定义属性,给啥了定义啥。
然后直接一个ptg(bushi)。
分开说,基础需要有:无参的构造方法、带全部参数的构造方法,每个参数一个get+set方法
额外的:看题目具体条件,对于属性还需要加些什么限制,比如特定的输出语句,需要键盘录入等等
不过额外的可以等开始写主体写了一部分再改
3.分析题目
和之前一个思路,拿我之前的练习举个例子(买飞机票的内个练习)
原文链接:https://blog.csdn.net/2301_80071187/article/details/145482833
读题目分限定条件:淡季or旺季(好多月份)经济舱or头等舱(两个因素)
两个条件对应两个板块:淡旺季涉及月份多,所以在main主体中
经济舱或头等舱只涉及两个选择,输出代码规格相同,可以用方法打包。
方法里的形参都是不稳定的需要输入的因素:
需要票价(键盘输入),舱位(键盘输入),头等舱折扣(淡旺季不同需输入),经济舱折扣(淡旺季不同需输入)
分析代码分块:(素数的练习,同一个链接)
把题目分成几个个体:101~200、素数、多少
依次分析对应关键字:101~200(遍历for),素数(是否if),多少(遍历)
具体需要定义的变量:多少(count)、for里的范围(i、j),是否(用来判断的flag)
4. 写方法
就是第三步,挨个儿分析哪个属性有什么行为之后,开始写方法。
还是拿我买飞机票的练习举例子:
方法里的形参都是不稳定的需要输入的因素:
需要票价(键盘输入),舱位(键盘输入),头等舱折扣(淡旺季不同需输入),经济舱折扣(淡旺季不同需输入)
还有最通常的,三问:
1.我要干嘛?
2.我干这件事,需要什么才能完成?
3.方法的调用处是否需要继续使用方法的结果?
5.检查代码严谨性
就自己给自己找麻烦,把自己想象成大爷大妈,故意输错本来应该按照格式输入的东西(没说大爷大妈不好的意思),然后发现问题,就多加几个else语句,多想万一不是原题判断的那样该怎么办。
还有就是,写主体的时候,就应该有,但凡有一个判断条件,就应该正反结果都想象一下的意识,就可以直接把不严谨扼杀在摇篮里。
6.总结
大概就这些吧,毕竟我也才学十多天,写完之后倒是心里也觉得稳了一点儿。
还是得复习,多复习多思考。
还有,真不想开学。。。。。
相关文章:
java后端开发day14--之前练习的总结和思考
1.感受 这两天学点儿新的就直接上手打代码,真的是累死个人。我唯一的感受就是,课听完了,代码也跟着打完了(是的,跟着打的,没自己打),感觉自己脑袋里乱乱的,对代码的分区…...
[运输时间]
运输时间 真题目录: 点击去查看 E 卷 200分题型 题目描述 M(1 ≤ M ≤ 20)辆车需要在一条不能超车的单行道到达终点,起点到终点的距离为 N(1 ≤ N ≤ 400)。 速度快的车追上前车后,只能以前车的速度继续行驶,求最后一辆车到达目的地花费的时间。 注:每辆车固定间隔…...
【愚公系列】《Python网络爬虫从入门到精通》008-正则表达式基础
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...
理解 WebGPU 中的 GPUQueue:GPU 的命令队列
在现代图形编程中,与 GPU 的交互变得越来越高效和灵活,而 WebGPU API 的出现更是为 Web 开发者带来了强大的图形处理能力。其中, GPUQueue 作为 WebGPU 的核心接口之一,扮演着至关重要的角色。本文将详细介绍 GPUQueue 的概…...
AIoT时代来临,物联网技术如何颠覆未来生活?
在这个万物互联的时代,“物联网”(IoT)正以前所未有的速度改变我们的生活,而“AIoT”则是在物联网基础上融入人工智能技术,赋予设备更高的智能和自主决策能力。随着5G、边缘计算和云技术的不断发展,物联网正…...
基于SpringBoot的电影院售票管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
CanMV的刷新比Openmv强
今天使用CanMV k230的板子,发现CanMV的刷新比Openmv强,速度快,不用再次拍照刷新,写一次就能在ide屏幕上同时显示。 参考一下CanMV K230拍照保存Demo - CanMV(K210 / K230) - 01科技 | 01Studio Takephot(…...
深度学习与人工智能:解锁未来的无限可能
在当今这个科技飞速发展的时代,深度学习和人工智能已不再只是科幻小说中的概念,它们正以惊人的速度渗透到我们生活的方方面面,从智能手机上的语音助手到医疗领域的疾病诊断,从自动驾驶汽车到金融市场的风险预测,其影响…...
广东茂名能源国际会议(IS-ESE 2025)
能源科学与工程国际研讨会(IS-ESE 2025)将于4月18-20日中国茂名召开,聚焦能源科学与工程,录用文章将由IOP出版并提交EI索引,旨在促进国际合作与交流,诚邀海内外专家学者参会。 征稿主题集中但不限于“能源…...
2025年02月14日Github流行趋势
项目名称:data-formulator 项目地址url:https://github.com/microsoft/data-formulator项目语言:TypeScript历史star数:5921今日star数:820项目维护者:Chenglong-MS, danmarshall, apps/dependabot, micros…...
MySQL-SQL
1.客户端内置命令 客户端内置命令客户端独有,可能不同数据库产品的客户端内置命令存在很大差异,不像SQL命令有标准规范。 help \h ? \? 这四个命令都可以输出帮助文档查看客户端内置命令 ?(\?)“帮助”…...
华为云+硅基流动使用Chatbox接入DeepSeek-R1满血版671B
华为云硅基流动使用Chatbox接入DeepSeek-R1满血版671B 硅基流动 1.1 注册登录 1.2 实名认证 1.3 创建API密钥 1.4 客户端工具 OllamaChatboxCherry StudioAnythingLLM 资源包下载: AI聊天本地客户端 接入Chatbox客户端 点击设置 选择SiliconFloW API 粘贴1.3创…...
一文详解机器视觉环形光源,视觉检测中的环形光源应用
环形光源 是机器视觉系统中常用的一种照明设备,通常用于提供均匀、无阴影的照明,特别适合检测物体的表面特征、边缘和轮廓。以下是关于环形光源的详细介绍: 环形光源的结构与特点 结构:环形光源由多个 LED 灯珠均匀排列成环形,通常安装在相机镜头周围。 光源的内径和外径…...
动态建表并插入数据
Service层根据解析到的数据在Mysql数据库中动态建表并插入数据 以Easy Excel解析得到的文件为例 Slf4j Service public class ExcelImportServiceImpl implements ExcelImportService {Autowired private ExcelImportDao dao; Value("${source.url}") private Stri…...
【github】docker realtime
Linux和Docker实时指南,适用于Ubuntu实时内核和PREEMPT_RT ReadMe.md 作者:Tobit Flatscher(2021 - 2024) 概述 本指南解释了如何在Linux操作系统内开发/部署运行实时代码的Docker容器。因此,它会带你了解…...
MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
1.打开MySQL的官网,选择下载(Download) MySQL[这里是图片001]https://www.mysql.com/cn/ 2.往下划点击MySQL Community(GPL)Downloads 3.要下载MySQL的jar包的选择Connector/J 4.进入后,根据自己的需求选择相应的版本 5.下载完成后,进行解压…...
jenkins服务启动-排错
服务状态为active (exited) 且进程不在 查看/etc/rc.d/init.d/jenkins配置 获取配置参数 [rootfy-jenkins-prod jenkins]# cat /etc/rc.d/init.d/jenkins | grep -v #JENKINS_WAR"/usr/lib/jenkins/jenkins.war" test -r "$JENKINS_WAR" || { echo "…...
JavaScript设计模式 -- 适配器模式
在软件开发中,经常会遇到这样的情况:现有的类或第三方库提供的接口与系统中期望的接口不匹配。如果直接修改已有代码风险较大或者不可行,这时适配器模式(Adapter Pattern)就能派上用场。适配器模式通过创建一个包装类&…...
Redis7.0八种数据结构底层原理
导读 本文介绍redis应用数据结构与物理存储结构,共八种应用数据结构和 一. 内部数据结构 1. sds sds是redis自己设计的字符串结构有以下特点: jemalloc内存管理预分配冗余空间二进制安全(c原生使用\0作为结尾标识,所以无法直接存储\0)动态计数类型(根据字符串长度动态选择…...
细说STM32F407单片机RTC的备份寄存器原理及使用方法
目录 一、备份寄存器的功能 二、示例功能 三、项目设置 1、晶振、DEBUG、CodeGenerator、USART6 2、RTC 3、NVIC 4、GPIO 及KEYLED 四、软件设计 1、main.h 2、main.c 3、rtc.c 4、keyled.c、keyled.h 五、运行调试 本实例旨在介绍备份寄存器的作用。本实例继续使…...
spring 学习 (注解)
目录 前言 常用的注解 须知 1 Conponent注解 demo(案例) 2 ControllerServiceRepository demo(案例) 3 ScopeLazyPostConstructPreDestroy demo(案例) 4 ValueAutowiredQualifierResource demo(案例) 5 Co…...
html+css设计情人节网页制作主页页面
制作一个情人节主题的网页主页是一个有趣的项目。以下是一个简单的HTML和CSS示例,帮助你开始。这个示例包括一个基本的情人节主题网页,包含标题、一些浪漫的背景图像、以及一些情人节相关的内容。 HTML部分 <!DOCTYPE html> <html lang="zh-CN"> <…...
【Linux】多线程 -> 从线程概念到线程控制
线程概念 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”。一切进程至少都有一个执行线程。线程在进程内部运行,本质是在进程地址空间内运行。在Linux系统中,在CPU眼…...
mapbox 从入门到精通 - 目录
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀总目录1.1 ☘️ mapbox基础1.2 ☘️…...
深度学习在半导体领域的创新点研究
摘要:本论文聚焦于深度学习在半导体领域的创新应用,全面剖析其为半导体产业带来的变革与机遇。通过深入探究深度学习在半导体设计、制造、测试及质量管控等多方面的创新实践,揭示其对提升半导体性能、降低成本及增强产业竞争力的关键作用。同…...
谈谈云计算、DeepSeek和哪吒
我不会硬蹭热点,去分析自己不擅长的跨专业内容,本文谈DeepSeek和哪吒,都是以这两个热点为引子,最终仍然在分析的云计算。 这只是个散文随笔,没有严谨的上下游关联关系,想到哪里就写到哪里。 “人心中的成见…...
redis cluster 增加节点 rebalance 的具体过程,如何做到不停值对外服务的
在 Redis 集群中增加节点并进行重新平衡(rebalance)的具体过程如下,并且在整个过程中可以做到不停机对外服务: 准备新节点: 新节点需要配置好 Redis 集群模式,并且确保可以与现有的集群节点通信。启动新节点…...
分享 UniApp 实现列表长按删除功能
在移动应用开发中,列表是常见的展示形式,而长按删除列表项也是一个实用且常见的交互功能。今天就来和大家分享如何在 UniApp 中实现列表的长按删除功能,同时附上详细的代码。 效果预览 通过代码实现后,我们将得到一个带有红色边…...
k8s集群搭建参考(by lqw)
文章目录 声明配置yum源安装docker安装 kubeadm,kubelet 和 kubectl部署主节点其他节点加入集群安装网络插件 声明 由于看了几个k8s的教程,都存在各种问题,自己搭建的时候,踩了不少坑,最后还是靠百度csdnchatGPT才搭建…...
vue知识点5
1.如何让组件里的样式与其他组件互相不干扰 scope范围的意思 <style scope> </style> 2.vue的生命周期 创建 挂载 更新 销毁 3.vue的四个生命周期详解 创建beforeCreate,created 挂载 beforeMount,mounted 更新 beforeUpdate,updated 销毁 beforeDest…...
