从预科班开始算起,不知不觉已经在黑马度过了17天了。在这半个多月的时间里,正是导师和助教为我打开了Java的大门,让我从一开始的一窍不通慢慢向一个程序员转变,真的很感谢他们。 记得预科班第一天的时候,教的是计算机的基础知识,这正是我最欠缺的一块,因为我之前对计算机真的是一窍不通,除了能玩玩游戏,看看电影什么的,其他关于计算机本身的一些东西,完全是一片空白。通过第一天的学习,我开始了解计算机,知道了什么是软件开发,什么是计算机语言,我们所学的Java就是一种计算机高级语言。然后还认识了Java之父詹姆斯高斯林,JDK,JRE,JVM三者之间的关系,然后还有就是Java及格软件的使用,从一开始比较low的DS控制台,到后来的稍微高端点的notepad++,再到editplus,以及我们现在正在使用的eclipse,随着在这些软件上不断的敲着代码,我对于Java的认识也日渐加深。在这里,我一定要写一个代码,或许对于以后的我来说,它会变得非常普通,没有一点技术含量,但是我要记录下它,只因为它是我写的第一个代码。 public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } } 在之后的几天时间了,我又学了很多的新知识,知道了常量,变量,知道了几类运算符,它跟我们以前数学中遇到的有相似也有不同,然后是if,switch选择语句,还有三个循环语句:for循环,while循环,do...while循环,特别是for循环,我感觉特别的有用,我个人特别喜欢for循环的嵌套,甚至那会做题目的时候我都觉得,没有什么是两个for循环还解决不了的,如果有,那就来三个。在这里,有一个印象比较深刻的案例,就是水仙花数的求取,可能是比较有趣吧,所以就记了下来,刚学的时候,感觉还是有点难的,但是现在,我眯着眼睛都能打出来,一个for循环就能解决: for(int i= 100;i<1000;i++) { int ge = i%10; int shi =i/10%10; int bai =i/100%10; if(ge*ge*ge+shi*shi*shi+bai*bai*bai ==i) { System.out.print(i+" "); } } 后来又学会了方法的调用,了解了数组,还有就是昨天刚学的面相对象了。说实话,这三块挺难得的,特别是昨天的面相对象,听得时候感觉很难,云里雾里,但是做作业又感觉都会做,不知道是作业太简单了让我产生了以为自己已经懂了的假象,还是我自己想多了把事情想复杂了,其实我内心还是更偏向于前者的,所以吓得我有多看了两遍教学视频。然后在这段时间里,还学了回文数的案例,还有评委打分,不死神兔这些,还有个彩票的模拟,感觉挺有意思的。 还有就是数组的那块内容,应该是我这十几天学的最开心的一块内容了,因为跟以前数学的内容比较接近吧,思考方式也差不多,把一道道的题目做出来还是很有成就感的。这期间,同桌自己想了个问题出来,就是一个随机的数组,如何让它从小到大排列好,然后我们俩就一起在想,一开始,我是想设置一个count数,然后那数组中的每个元素跟其他元素去比,如果遇到比它小的,就count++,然后新建一个数组,count等于几,就把这个原数组的元素做为新数组的索引为count的元素,但是后来我发现这么做有个bug,而且我想了很久也解决不了,就是原数组中如果有元素相等,那么他们的count是会相同,那么就会少接受一个数了,这个bug我想了好久都没能解决,所以后来我有换了另一种思路。就是每次通过for循环拿出最小值之后,就把这个元素直接踢出去,然后让剩下的数形成一个新数组,再取最小值,最后将取出的数一个一个排列起来就行,但是如何踢出一个元素形成数组难倒了我,我觉得是可以靠arr.length个for循环来解决这个问题的,直到现在我也这么觉得,但是这样做超出了我的大脑运算范围,所以我放弃了这种做法。只好又去开辟新的思路了,其实是跟第二种差不多吧,算是一个升华,先算出最小值,然后将它和第一位元素交换位置,再通过一个for循环的嵌套,每次将第一位元素踢出,然后算出剩下数中的最小值,以此类推。下面我来写下: for (int x = 0; x < arr.length; x++) { int min = arr[x]; int a= 0; for (int i = x; i < arr.length; i++) { if (min>=arr) { min=arr; a=i; } } int temp = arr[x]; arr[x]=arr[a]; arr[a]=temp; } 这个就是最终版本了,一开始我还再用了一次for循环取算a的值的,被同桌改进了一下,其实可以在求最小值的同时就能a求出来的,这样就又少了几行代码。一个想了整整一天多的问题结果就靠这么几行代码解决了,真的是又难受又开心。 通过这十几天的学习对于Java也算是入门了,接下来,让我们继续敲代码吧。
|