目录
学习经历
我是在大一下学期的时候接触到的java,在此之前,我们在上学期学习过了python的一些程序设计,算是我第一次对编程有了一个初步的认识。在我眼里,java和python其实很像,他们的程序设计,数学逻辑都是相同的,不过是使用的编程语言上有所不同
因为我本人在上学期的时候,并没有很认真去学习python,相对而言,再去学习java时,并没有想象中的那样一帆风顺。记得最初的几节课,老师在讲台上激情洋溢地讲解着 Java 的基本语法规则,像变量的定义、数据类型的区分、控制流语句的使用等等。我努力地想要跟上老师的节奏,可那些复杂的概念和代码示例让我感到应接不暇,脑袋里仿佛被塞进了一团乱麻。也曾一度怀疑过自己是否缺少学习编程的天赋,又或者说是自己不够努力。下面这道题只是我课堂上第一次让我开始犯难的实操训练
public class SumCalculator {
public static void main(String[] args) {
int num1 = 512;
int num2 = 734;
int sum = num1 + num2;
System.out.println("num1 与 num2 的和为: " + sum);
}
}
当时面对这题目我久久不能对着电脑开始敲击键盘输入,可是身边的同学仿佛都很轻松的写出代码并成功运行。而现在的我再回过头来看来又是别有一番滋味。是啊,当时就是这么一道简单的题目,为何我会思考良久呢。那时候我总是等着老师为我们讲解代码,但是撇开老师的代码,我又开始毫无头绪,似乎我并没有完全理解到其中的程序设计的一个逻辑思路。后来我也渐渐发现,原来学习java以及其它编程语言,最重要的便是逻辑思路,不然也只是像无头苍蝇一样毫无头绪。
学习经验与心得
一开始我就深知学习从来都不是一蹴而就的过程,于是我开始花费大量的时间和精力去钻研。每天课后,我都会坐在图书馆里,对着教材和笔记,一行一行地理解代码的含义,一遍一遍地敲打着示例代码。
从写出第一个简单的“Hello World”程序开始,我逐渐找到了一些感觉。当那行熟悉的问候语在控制台中成功输出时,我心中涌起了一丝小小的成就感,这也成为了我继续前行的动力。
随着学习的深入,我遇到了越来越多的挑战。比如,在理解面向对象编程的概念时,类、对象、封装、继承和多态这些抽象的概念就像一座座难以逾越的山峰。我曾经为了弄明白一个类的设计和对象之间的关系,苦思冥想了好几个晚上。
但我始终没有放弃,通过查阅大量的资料、反复观看教学视频、积极向老师和同学请教,我逐渐拨开了迷雾。我开始明白,类就像是一个模具,而对象则是用这个模具制造出来的具体产品;封装是为了保护数据的安全性和完整性;继承能够实现代码的复用和扩展;多态则让程序更加灵活和可扩展。
在掌握了一定的基础知识后,我迫不及待地想要将所学应用到实际项目中。我尝试着开发一个简单的学生成绩管理系统。从需求分析、数据库设计,到代码编写、功能测试,每一个环节都充满了挑战。
在这个过程中,我学会了如何使用数组和集合来存储和操作大量的学生数据,如何运用异常处理机制来处理可能出现的错误情况,比如输入非法数据或者数据库连接失败等。我还学会了如何使用多线程来提高系统的性能,让多个操作能够同时进行,提高系统的响应速度。
通过不断地尝试和改进,最终这个系统能够成功地实现学生成绩的录入、查询、修改和统计等功能。看着自己亲手打造的这个小小的成果,我心中充满了自豪。
如今,我已经能够较为熟练地运用 Java 编写各种复杂的程序。我可以轻松地构建一个图形用户界面,实现与用户的友好交互;我也能够使用网络编程知识,开发一个简单的客户端-服务器应用程序。
回顾这一学期的学习历程,我收获的不仅仅是 Java 编程的知识和技能。在这个过程中,我培养了自己独立思考和解决问题的能力。每当遇到一个错误或者一个难题,我不再是盲目地求助他人,而是先尝试自己去分析问题、查找资料,寻找解决方案。这种自主学习的能力将对我未来的学习和工作产生深远的影响。
同时,编程也锻炼了我的逻辑思维能力。在编写代码的过程中,每一个步骤、每一个判断都需要严谨的逻辑,否则程序就无法正常运行。这种逻辑思维的训练让我在处理其他问题时也能够更加有条理、更加清晰地思考。
学习回顾
以下是我在学习过程中的一些代码截图:
这是我第一节课学的输出语句,虽然简单,但是对于第一次编写程序的人来说,这无疑让我迈出了学习java的第一步,一种莫名其妙的激动涌上我的心头。
这段代码主要是关于定义和实现不同类型数字相加方法的部分代码。
-
定义了三个方法:
addTwoIntegers
用于实现两个整数相加;addThreeIntegers
用于实现三个整数相加;addTwoDoubles
用于实现两个实数(浮点数)相加。 -
在
main
方法中,分别调用了这三个方法进行计算,并将计算结果输出到控制台,展示了这些方法的实际使用效果。
总的来说,这段代码展示了如何编写方法来处理不同类型数字的加法运算,并通过示例调用展示了其功能。
未来,我相信在 Java 的世界里,我还会有更多的探索和发现。我期待着能够用这门语言开发出更具实用价值的应用程序,为解决实际问题贡献自己的一份力量。
程序设计思路分享
步骤 | 描述 |
---|---|
明确需求 | 清楚了解程序要实现的功能和目标。 |
分析问题 | 分解问题为更小的子问题,确定输入和输出。 |
选择算法 | 针对每个子问题,选择合适的算法和数据结构。 |
设计流程 | 以流程图或文字描述的方式规划程序的执行顺序和逻辑。 |
定义数据 | 确定所需的数据类型和变量,以及它们的作用域。 |
编写代码 | 根据设计,使用 Java 语法实现程序逻辑。 |
测试用例 | 设计各种可能的输入情况来测试程序的正确性。 |
调试代码 | 运行程序,使用测试用例检查结果,修复错误。 |
优化性能 | 分析程序的时间和空间复杂度,进行必要的优化。 |
文档编写 | 为代码添加注释,说明程序的功能、逻辑和重要的代码段. |
复查与改进 | 再次检查代码的正确性、可读性和可维护性,进行必要的改进。 |
另外呢,我也尝试过过制作一些有趣的小游戏代码,在这里分享一下:
import java.util.Random;
import java.util.Scanner;
public class DigitalBombGame {
public static void main(String[] args) {
Random random = new Random();
int bombNumber = random.nextInt(100) + 1; // 生成 1 到 100 之间的随机数作为炸弹数字
Scanner scanner = new Scanner(System.in);
int guess;
System.out.println("欢迎来到数字炸弹游戏!");
while (true) {
System.out.print("请输入你的猜测(1 - 100): ");
guess = scanner.nextInt();
if (guess == bombNumber) {
System.out.println("恭喜你,猜对了!游戏结束。");
break;
} else if (guess < bombNumber) {
System.out.println("你猜的数字小了,再试试。");
} else {
System.out.println("你猜的数字大了,再试试。");
}
}
scanner.close();
}
}