首先,先自夸一波我是老程序员了。我们要承认,Java编程本身就是一个比较难的东西,新手入门学习Java如果没有掌握正确的学习方法,你会在这条路上走很多的弯路,以下是我的一点建议。在贴吧分享我的一些学习Java的经验,只为让你们不要在走我们之前走的弯路,提高你们的学习效率,希望对所有Java初学者有所帮助;
1. 如何学习java
很多初学者急功近利,网上看了一些视频,了解一些皮毛,学到了基本输入输出之后,嘿,就觉得java也没什么嘛,那么简单却被你们说的那么难,就开始跃跃欲试,马上找来一大堆的java书籍和视频,使劲的读使劲的学,专挑自己完全不懂的地方看,然后发现,哟,java好难啊,自己用了好几周甚至更长,居然一点儿都不懂,于是从此以后再也不碰java了。
java难吗? 负责的告诉你,难,挺难的,说不难的人是站着说话不腰疼,他忘了他开始学的时候是多么的抓心挠肝了。事实上,自从我们记事开始,就没有一样东西好学的。这里先给大家说下,学习前期最好找一些有经验的人交流一下,或者是一些学习Java 的学习群,了解清楚,要知道事情的轻重。这里我推荐一个比较好的群 1080621881,有资料有大佬,不要觉得你用不上,我告诉你,这个对你很有帮助。
贪多嚼不烂,目标不要太远大,因为远大的目标太虚幻了,可以有远大的目标,但绝不是你最近应该考虑如何具体实现的事情。学习java也是如此,刚学到输入 输出的朋友,应该把大部分精力放到精读如何基本输入输出,如何定义基本数据类型的数据,如何编译执行java程序上。不要小看这种看似极其简单的东西,基础才是最重要的。
我曾经就因为试图打个“Hello world”而整整花费了好几个小时。百丈高楼,没有好的地基,一定会坍塌,切记切记。当然我并不反对初学者去自学下一步的知识,我只是说要慢慢来,多么慢呢?以我的经验,如果你没有学过任何编程语言并且也不是天才,同时你还算个勤学之人,那么至少需要一两周左右的时间来练习基本的输入输出,然后再进行下 一步学习。
2. java是大小心敏感的
就是说,大写字母和小写字母,在java里不可能被看成同样的东西。比如,System.out.println(“I am student”); 这运行起来完全没问题,但是如果你写成了system.out.println("I am student"); 就绝对运行不了(除非你非常**的自己做了一个名为system的包,然后里面也做了个out包,然后你自己再弄了个println方法,这在理论上说应 该是可以的,但我没有尝试过,因为比较没有意义)。同样的,你写了个int n; 还写了一个int N; 那这两个变量,就是不同的变量。java的关键字,一般来说,你是不能更改的,而你自己定义的变量名,大写小写,也会被java视为不同的东西。
3. 定义的数据名起码要正确,符合命名规则,其次要有意义。
其实可以在百度那里查到java的命名规则,基本上就是说,数据名称只能是英文模式下的,连续的, 不是java关键字的字符串,第一个字符可以是字母,下划线或者$号,有人喜欢用c风格的命名方式,有人喜欢用Pascal规范的命名方式。在这里作为一 个菜鸟,我不好做什么评论,我只是觉得,java就是java,东西我们可以混着学,甚至可以混着用,但是也应该保留每种东西的特点。
列举几个例子,常见的数据声明初始化:String name = "jianbo shi"; int age = 30; double mark = 70.5; 以上是正确的。注意,有人喜欢把数据名的首字母大写,但是我更喜欢小写,而把大写的特权让给类名的定义,不过这没关系,习惯而已。
下面看几个错误的:
String my name = "john mark"; 错误原因在于,my name 之间有个空格,如果你非要弄的好像中间有个空格,你可以这样String my_name = "john mark"; 有很多人,就喜欢这么用。 int 年龄 = 30; 错误原因在于,年龄两个字,不是英文,也许在中国人的电脑里,java不会报错甚至可以编译通过,但是运行的话就不行了,总之,除了要显示的信息外,代码部分不要用中文。double 200mark =70.5; 错误的原因在于,200mark的首字符是数字。
大约就是以上几点了,这些是很重要的,要注意。而且不要小瞧简单的程序,从长远来看,相对简单的程序才是最重要的,而且简单的东西,向来都不如我们想的那么简单。
比如,以下是我们做过的程序:
这个程序的代码,至少包含了一下几点知识点:包的理解和导入,静态函数的理解,函数返回值,函数参数,定义类的实例,内建函数的调用。
如果牵强点儿说的 话,还可以联系到默认构建函数的问题。也就是说,当你学的再深一点儿,回头再看这个程序,其实它真的不像你当初想的那么简单。
就算是以初学者的角度来看,如果你想一想的话,也没那么容易,比如,那个输出结果带了那么多的0,如果你就想让那些零不显示,但是还非要使用printf 呢?这就要看%f的其他使用方式了。比如说,我就不想每次都System.out.print, 我就想每次都直接使用print呢?虽然很少有程序员如此。。。但是,这确实可以实现,只要显示的导入java本来就默认导入的lang就行了,但是这次要连同方法一起导入。