这是我的第一篇博客,刚注册了账号,首先希望能在这里能够提升自我,得到锻炼!开始写这篇东西的初衷很简单,就是希望能够通过写出我学到的东西来总结我的收获和加强记忆吧,写的东西基本应该是给自己看的,所以就想到什么写什么,可能会很乱啦!
本人是信息安全专业的大二学生,现在呢因为家里面有些特殊情况休学了一年,到了现在半年已经过去了,我所做所得的就只是打打工玩玩游戏每天浑浑噩噩,但是这半年也给我很多在学校里感受不到的东西。之前在大学过得感觉很安逸,大一大二接触的专业课也很少,半年前回到家,我突然发现,我是985大学的学生,我在大学学了两年,可是我好像和高中毕业时并没有什么太大的区别。其实我这两年来呢,在学校写过的不能说最难,应该说最完整的一份代码,应该是模拟微信上的打飞机的小游戏,那份代码当然也“借鉴”了各种学长、同学和网上资料。剩下的我写过的可能都是些学校的作业,以及一些简单的功能实现,比如说学数据结构写过一些各种表的操作啊,试着写过什么约瑟夫问题啊之类的。半年前我回来的时候我觉得好像我只能去饭馆打打工洗洗盘子,我学过的那些好像并不能帮我找到工作。
我这么说意思当然不是学校学的东西没有用,而是首先我没有接触到深层次一点的专业课,基本只有数据结构、数据库原理和信安数学可以算得上是专业课吧。其次是因为在学校时候太过沉浸在校园活动中,对于学业基本只是写写作业保证过关的水平,导致现在没啥突出点。其实之前导生啊学长啊给我们讲过好多,要确定自己的方向之类的,但是当时我可能只是听听了事,或者说听完觉得很有道理,然后过了几天就发现自己什么都不知道,怎么确定自己的发展方向呢,我还是专心学一学,等到我把基础都学完了我才好确定具体往哪个方向去发展。现在想想,已经大二上完了,我好像还是什么都不知道,什么时候才是哪个所谓的“把基础都学完”的时候呢。
这一年,当然现在只剩下半年的休学,也是给了我一个安下心来好好补充技术知识,提高动手能力的机会,其实许许多多我的同学在写c时候还是会把include拼错或者结尾不是分号而是逗号之类的。很多时候我觉得我是不是白考了那么高的分,上了一所名校但是出来还不如职专或者技校培训的学生(当然没有歧视的意思)。也和许多前辈一起聊过,他们告诉我大学重要的肯定不光是学习,而是名校的这种氛围,而且以后我的同学也都能出人头地,有一个更上层的人力资源,这些话当然我也听过不止一两遍。但是我现在也出来找过工作,我觉得不管你的同学以后能给你多大的帮助,不管一所名校能够培养你多高的文化素养,最关键的还是自己能够有能够吸引人眼球的亮点,这也是我为什么现在想要开始学两门语言的原因。
好像说了好多没用的。。。似乎和我那个标题也没啥关系。反正这是第一篇嘛,我想要把我的初衷说出来,嗯,就是这样。
至于我为啥先开始学java还有我的规划啥的,我下一篇再写出来吧,这篇废话已经够多了2333,我希望自己每隔两天就能坚持抽出时间写写博客,总结总结还能留给以后的我看!
学java已经有两天了,虽然说是从零开始学,当然不可能什么都不会。。。数据类型啊,结构类似于循环和选择啊,数组啊这些简单也都是通用的嘛,毕竟java也是从c家族发展来的嘛,这两天把这些内容快速的过了一遍,半年没怎么接触也忘了很多。我这回看的是李刚的《疯狂java》,我觉得写得还是蛮不错的,这些简单的内容可能没啥好说的,最大的收获主要是书中提到的许多学习的方法和习惯。
首先要说的,就是对于工具的使用。书中这这样说的:
对于java语言的初学者来说这里给出一个忠告:不要使用任何IDE工具来学习编程,windows平台上可以选择记事本,Linux平台上可以选择VI工具..............一些所谓的程序员,他们抱着一本eclipse从入门到精通,仅仅点几次下一步,就敢说自己已经精通了java,..................他们习惯了在eclipse里面用鼠标单击创建web应用而从不关心这些工具为我们做了什么。
以上。以我的水平来说,我可能无法评判这些话的对错,但是有一些也是事实,身边的很多人确实连exception之类的词都只能靠补全,所以这次我也决定在开始学习时候完全使用文本文档编写代码,使用powershell来编译,遵循书中所推荐的标准:如果你还离不开这个IDE工具,那你就不能使用这个IDE工具。
以前也玩过几天的eclipse,玩过几天java,但那真的只能称作“玩”。在两天前,我确实还写不出一行java程序的main函数入口。今天的话,看到了书中一个模拟五子棋的例子,决定敲一敲试一下。只是一个用一堆“+”代表棋盘的很。。。弱的一段代码,但是我还是决定放出来就当做是一个固定格式,以后我也好自己看一看以前的自己是什么样的23333。
public class WuziqiGrid
{
private final static int SIZE = 15;
//共15×15的棋盘,
private String[][] grid;
//初始化棋盘将每个位置都赋值成“+”
public void initGrid()
{
grid = new String[SIZE][SIZE];
for(int i=0;i<SIZE;i++){
for(int j=0;j<SIZE;j++)
{
grid[i][j]="+";
}
}
}
//将棋盘打印出来
public void printGrid()
{
for(int i=0;i<SIZE;i++)
{
for(int j=0;j<SIZE;j++) System.out.print(grid[i][j]);
//每行打印完进行换行
System.out.println();
//注意:println()在打印时自带换行,而print()在打印时不带换行,上面的换行也可以写成System.out.print("\n");
}
}
public static void main(String[] args)
{
WuziqiGrid1 mgrid = new WuziqiGrid();
mgrid.initGrid();
mgrid.printGrid();
}
}
只是一个棋盘。。。对,真的就只是一个棋盘。。。一会我再去写下棋的功能。。。刚才说了其实这两天的收获主要是方法和习惯上的,以前写学校的作业时候基本是不加注释的,关于这个书中也说了很长一段,我也仔细的看了,这个。。。也算是一个改变吧,还有就是知道了许许多多细节,比如说print和println的区别,这些我也都写出来提醒自己,这些东西只有在自己写并编译的时候才会发现问题,这些如果光听老师讲或者只看书不自己敲是不会知道的,关于这个棋盘,我还是想要在上边和左边加上行标和列标的,但是出现了点问题,最初是这样的:数字和加号根本对不齐,之后我想到了制表符,加上以后是这样的:
行数那个方面其实把1~9改成01~09就能对齐,但是每一列的数字怎么能和加号对齐呢,如果用制表符的话,每个格的长度是8,那个powershell最大化以后也就是个正方形,我去查了一下好像是因为每一行字符数量有限制,但是这样的话我的第15列就跑到下一行显示不下了,有没有一个能自定义制表符长度的方法,或者说还有什么方法能够对齐让每个棋格比如说只占两个字符的长度。这个问题我在问答也发啦,这里也说一下。。。万一有人看到了呢23333。
不知不觉已经写了这么多辣,有关我学了啥的内容估计还不到一半哈哈哈,反正不管学到了什么,心态才是最重要的嘛,只有保持想去学java的状态,才能够继续学下去!还有好多想说的话,能写出来其实真的是件挺不错的事情,也希望我能够坚持下去,能够在论坛各位大神的帮助下有所进步,能够走上一条我喜欢的路!