如何学好java语言啊

199次

问题描述:

如何学好java语言啊,麻烦给回复

最佳答案

推荐答案

有必要知道什么是程序,什么是算法。

你知道它是什么,便不会学得懵懵懂懂。学习java编程跟学习其他编程语言一样,都需要明白这是一种解决问题的语言表达形式。通过这种计算机语言描述出解决问题的方式方法,以便于在计算机上实现它。就比如,你希望有一个可以计时的秒表,我就用编程语言设计一个秒表软件实现你的需求。实现需求的过程就是用编程语言编写程序的过程,解决这个需求的方法也叫算法,也就是解决问题的方法。算法是任何一个编程语言的核心。了解了这个,就已经走上了学习编程的正路。编程与生活息息相关,两者要始终保持密切联系。如何准确理解程序呢?举个例子,我要去买饭。买到饭是我想要的结果,而解决这个问题的过程我们需要几个步骤。就简单的步骤来说:第一步想要找到饭馆,第二步挑选自己想要的饭菜,第三步付费结账。这是简单来说,如果具体到每个人的生活环境,解决这给问题的步骤还要多一些。刚才那三个步骤是用文字表述的程序,也就是自然语言,这也是程序。程序是解决问题的方法步骤,解决买饭问题的步骤就是买饭的程序。如果用计算机能理解的语言表述出来,那个程序变身为计算机语言程序。程序还有编程是并不复杂的概念,也没有太高大上到你无法理解。再重复一遍,程序就是解决问题的方法步骤或者既定方式。编程就是将解决问题的方法步骤写出来。而计算机编程便是用计算机能理解的语言将其方法步骤写出来。看似编程是高大上,冷抽傲的,其实它是很贴地气的,处处与生活接轨。编程语言有很多种,选择java是只选择了其中一种表述和实现方式。设定编程语言是因为计算机是一个僵硬的东西,自然语言是它所不能理解的,故而需要设定一种它可以理解的语言,让它听懂你说的指令,它才能为你服务。理解了何为计算机程序和编程,下面就具体到不同种类的编程语言的选择。不同种类的编程语言就类似于现实中的各国家的语言,英语,法语,还有我们最熟悉的汉语,同样的问题,会有不同形式的表现。汉语中描述自己是“我”,英语中是“I”,其他语言中又是另外的表述。不同的编程语言的区别也基本类似。不同语言的区别主要在于对于算法的表述方式不同,程序语言的适用范围不同。因为表述方式和适用范围的问题,诸多编程语言便可以区分开来,使用时也根据这两点进行选择。学习时有很多语言,如C、C++、java,这三种编程语言是因为不同的需求而研发的。java与前两者相比的优势在于可移植性强,对于系统和硬件要求不高。了解了这个你就大体知道java的特性了。其实只要有java虚拟机,它几乎可以在任何机器上运行。而c和c++是没有这种特性的。也就是只需要安装一个java虚拟机,电脑上可以运行java程序,手机上也可以,平板上也可以,对系统和硬件类型没有硬性要求。这种特性就是java得以推广的重要原因,它的适应性太强了。说这些是让大家对于java有一定更深的理解。java和C语言有一定渊源,团和C++是很像的,学过C和C++的再学习java比较简单一些,没有这些学习经历也不用担心,只需要足够的练习量便可解决这一问题。练习的频率要远大于看知识点的频率;教程的选择最好以视频为主,书本教材为辅。真正的自学是练和学结合。开始需要选择合适的教程,可以是视频的,也可以是书本的。多数人是选择书本较多,书本携带方便,便于记录重点和心得。其实就实效性而言,我倒是建议以教学视频为主比较好。也就是视频教程为主,书本教材为辅。首先,书本教材的操作可视化是个问题,就算有图片辅助,也无法完全展现操作的全貌。其次,教材的学术性太强。为了保证教材的知识质量和高学术性,往往很多章节包含了太多资料和知识点,学习这些章节时往往会被各种密集的要求和解析所弄晕。就比如,教材中开篇对于编程发展的阐述,如果仔细去看会发现涉及到太多历史事件,人物,公司等等……再者,教材中的表述语言书面化太强。教材中缺乏大白话,一句话可以简而言之的,往往为了追求准确的定义而使用书面化的严谨的学术语言,看着枯燥,学着也枯燥。而视频教程往往强调实践,互动性强一些,教授过程多数是在编写中进行,很多进行很多调节操作。看着视频,你会了解某个学习问题的全貌。整体上而言,选择一个视频教程要比书本教程更有实效。当然,书本教材中内容丰富作为一种知识补充是很好的,学的时候想要看更仔细的一些解释就可以翻看教材了。教材选择方面,国内的用得较多的是清华大学出版社出版的《Java语言与面向对象程序设计》,而国外的经典教材《Java编程思想》,这个需要有一定学习经历之后才可以看,建议开始不要买这个教材学习,而且里面有很多例子是以C,C++做实例比较的,没有C类语言的学习,估计也难以看懂。关于编程语言的发展,只要了解一下就好,教材中的学术性总结有时太多,妨碍编程的学习。编程还是要从实践性强的方面入手的。具体不赘言了,源远流长的东西讲太多实际上是舍本逐末,学到技能是根本。在学习java过程中还需要巧妙的理解方法和思维转换。比如“变量”这一概念的理解,就可以对应成房间或者箱子,编程中声明一个变量就是开一个房间,变量名是房间名,变量类型是房间类型,赋值给变量就是房间里住了一个人。由此你也可以知道,为什么叫变量呢,因为这个“房间”里可以反复进出很多“人”。很多人刚碰触编程,对于编程那些一行行的字母感到恐惧,其实编程的模式再简单不过,几乎是固定的模式。举个简单例子:public class Test{public static void main(String[] args){System.out.print(\"我想学java!\");}}这个程序运行后是输出“我想学java!”这句话。开头“public class Test{}”是一个java程序的框架,相当于盖楼时的楼架子,素描时的轮廓,浇筑机械零件时的模具。然后程序框架之内的大括号里是更进一步的内容。“public static void main(String[] args){}”这是这段程序的入口,类似于盖楼房后的入口,素描后的第一笔细描等。总之是框架之后,设定的一个开始的位置。程序从这个地方开始。程序入口大括号内的内容就是具体的指令和运行内容。System.out.print(\"我想学java!\");程序运行后就会输出内容:我想学java!从这个java程序就可以看出很多java程序的共性,他们都会有java程序框架,框架之内都会有一个java程序入口。这就是一个固定的模式,记住它,适当的理解就可以了。巧妙的理解和思维转换的关键也在于之前所说的和生活联系,和你已有的经验联系起来。因为程序本就是从生活而来。保证练习频率是形成技能的必要条件。备好一本教材,找到一个完整的入门视频,几乎所有准备工作完成了。下面就是按照教程来学习了。如何找到一个好的入门视频呢?可以搜索一些自学网之类的,或者在百度教育里有不少相关的教学视频供你选择。百度教育里有很多种类的java教程,找入门级别和基础类的教程即可。学习的过程中,练习的量要大于你看教程的量。有时候一个知识点你要反复练习几十遍上百遍,这样才能有扎实的效果。基本上最后的原则就是练习频率要大于看教程的频率。个人经验起码要达到几十比一。如果不嫌枯燥可以变换形式练习,看一章节练习一百次的频率。学习编程最后的效果是为了自己能够独立编程,进入企业后可以解决相应问题。如果你每个知识点仅仅是练习几次,效果是你懂得它讲了什么;通篇学下来你都是练了几遍而已,也仅仅是你大体懂了什么,而不是会了什么。那时还不能说你懂得了编程技能。最后就是希望大家记住学习java的重中之中,就是练习!练习!反复练习!持续练习!有质量的练习!基本上自学java编程的几个原则性问题讲清楚了,之后我会从头细致讲述java开始学习时的各种疑难问题,希望大家能有所收获。你知道它是什么,便不会学得懵懵懂懂。学习java编程跟学习其他编程语言一样,都需要明白这是一种解决问题的语言表达形式。通过这种计算机语言描述出解决问题的方式方法,以便于在计算机上实现它。就比如,你希望有一个可以计时的秒表,我就用编程语言设计一个秒表软件实现你的需求。实现需求的过程就是用编程语言编写程序的过程,解决这个需求的方法也叫算法,也就是解决问题的方法。算法是任何一个编程语言的核心。了解了这个,就已经走上了学习编程的正路。编程与生活息息相关,两者要始终保持密切联系。如何准确理解程序呢?举个例子,我要去买饭。买到饭是我想要的结果,而解决这个问题的过程我们需要几个步骤。就简单的步骤来说:第一步想要找到饭馆,第二步挑选自己想要的饭菜,第三步付费结账。这是简单来说,如果具体到每个人的生活环境,解决这给问题的步骤还要多一些。刚才那三个步骤是用文字表述的程序,也就是自然语言,这也是程序。程序是解决问题的方法步骤,解决买饭问题的步骤就是买饭的程序。如果用计算机能理解的语言表述出来,那个程序变身为计算机语言程序。程序还有编程是并不复杂的概念,也没有太高大上到你无法理解。再重复一遍,程序就是解决问题的方法步骤或者既定方式。编程就是将解决问题的方法步骤写出来。而计算机编程便是用计算机能理解的语言将其方法步骤写出来。看似编程是高大上,冷抽傲的,其实它是很贴地气的,处处与生活接轨。编程语言有很多种,选择java是只选择了其中一种表述和实现方式。设定编程语言是因为计算机是一个僵硬的东西,自然语言是它所不能理解的,故而需要设定一种它可以理解的语言,让它听懂你说的指令,它才能为你服务。理解了何为计算机程序和编程,下面就具体到不同种类的编程语言的选择。不同种类的编程语言就类似于现实中的各国家的语言,英语,法语,还有我们最熟悉的汉语,同样的问题,会有不同形式的表现。汉语中描述自己是“我”,英语中是“I”,其他语言中又是另外的表述。不同的编程语言的区别也基本类似。不同语言的区别主要在于对于算法的表述方式不同,程序语言的适用范围不同。因为表述方式和适用范围的问题,诸多编程语言便可以区分开来,使用时也根据这两点进行选择。学习时有很多语言,如C、C++、java,这三种编程语言是因为不同的需求而研发的。java与前两者相比的优势在于可移植性强,对于系统和硬件要求不高。了解了这个你就大体知道java的特性了。其实只要有java虚拟机,它几乎可以在任何机器上运行。而c和c++是没有这种特性的。也就是只需要安装一个java虚拟机,电脑上可以运行java程序,手机上也可以,平板上也可以,对系统和硬件类型没有硬性要求。这种特性就是java得以推广的重要原因,它的适应性太强了。说这些是让大家对于java有一定更深的理解。java和C语言有一定渊源,团和C++是很像的,学过C和C++的再学习java比较简单一些,没有这些学习经历也不用担心,只需要足够的练习量便可解决这一问题。练习的频率要远大于看知识点的频率;教程的选择最好以视频为主,书本教材为辅。真正的自学是练和学结合。开始需要选择合适的教程,可以是视频的,也可以是书本的。多数人是选择书本较多,书本携带方便,便于记录重点和心得。其实就实效性而言,我倒是建议以教学视频为主比较好。也就是视频教程为主,书本教材为辅。首先,书本教材的操作可视化是个问题,就算有图片辅助,也无法完全展现操作的全貌。其次,教材的学术性太强。为了保证教材的知识质量和高学术性,往往很多章节包含了太多资料和知识点,学习这些章节时往往会被各种密集的要求和解析所弄晕。就比如,教材中开篇对于编程发展的阐述,如果仔细去看会发现涉及到太多历史事件,人物,公司等等……再者,教材中的表述语言书面化太强。教材中缺乏大白话,一句话可以简而言之的,往往为了追求准确的定义而使用书面化的严谨的学术语言,看着枯燥,学着也枯燥。而视频教程往往强调实践,互动性强一些,教授过程多数是在编写中进行,很多进行很多调节操作。看着视频,你会了解某个学习问题的全貌。整体上而言,选择一个视频教程要比书本教程更有实效。当然,书本教材中内容丰富作为一种知识补充是很好的,学的时候想要看更仔细的一些解释就可以翻看教材了。教材选择方面,国内的用得较多的是清华大学出版社出版的《Java语言与面向对象程序设计》,而国外的经典教材《Java编程思想》,这个需要有一定学习经历之后才可以看,建议开始不要买这个教材学习,而且里面有很多例子是以C,C++做实例比较的,没有C类语言的学习,估计也难以看懂。关于编程语言的发展,只要了解一下就好,教材中的学术性总结有时太多,妨碍编程的学习。编程还是要从实践性强的方面入手的。具体不赘言了,源远流长的东西讲太多实际上是舍本逐末,学到技能是根本。在学习java过程中还需要巧妙的理解方法和思维转换。比如“变量”这一概念的理解,就可以对应成房间或者箱子,编程中声明一个变量就是开一个房间,变量名是房间名,变量类型是房间类型,赋值给变量就是房间里住了一个人。由此你也可以知道,为什么叫变量呢,因为这个“房间”里可以反复进出很多“人”。很多人刚碰触编程,对于编程那些一行行的字母感到恐惧,其实编程的模式再简单不过,几乎是固定的模式。举个简单例子:public class Test{public static void main(String[] args){System.out.print(\"我想学java!\");}}这个程序运行后是输出“我想学java!”这句话。开头“public class Test{}”是一个java程序的框架,相当于盖楼时的楼架子,素描时的轮廓,浇筑机械零件时的模具。然后程序框架之内的大括号里是更进一步的内容。“public static void main(String[] args){}”这是这段程序的入口,类似于盖楼房后的入口,素描后的第一笔细描等。总之是框架之后,设定的一个开始的位置。程序从这个地方开始。程序入口大括号内的内容就是具体的指令和运行内容。System.out.print(\"我想学java!\");程序运行后就会输出内容:我想学java!从这个java程序就可以看出很多java程序的共性,他们都会有java程序框架,框架之内都会有一个java程序入口。这就是一个固定的模式,记住它,适当的理解就可以了。巧妙的理解和思维转换的关键也在于之前所说的和生活联系,和你已有的经验联系起来。因为程序本就是从生活而来。保证练习频率是形成技能的必要条件。备好一本教材,找到一个完整的入门视频,几乎所有准备工作完成了。下面就是按照教程来学习了。如何找到一个好的入门视频呢?可以搜索一些自学网之类的,或者在百度教育里有不少相关的教学视频供你选择。百度教育里有很多种类的java教程,找入门级别和基础类的教程即可。学习的过程中,练习的量要大于你看教程的量。有时候一个知识点你要反复练习几十遍上百遍,这样才能有扎实的效果。基本上最后的原则就是练习频率要大于看教程的频率。个人经验起码要达到几十比一。如果不嫌枯燥可以变换形式练习,看一章节练习一百次的频率。学习编程最后的效果是为了自己能够独立编程,进入企业后可以解决相应问题。如果你每个知识点仅仅是练习几次,效果是你懂得它讲了什么;通篇学下来你都是练了几遍而已,也仅仅是你大体懂了什么,而不是会了什么。那时还不能说你懂得了编程技能。最后就是希望大家记住学习java的重中之中,就是练习!练习!反复练习!持续练习!有质量的练习!基本上自学java编程的几个原则性问题讲清楚了,之后我会从头细致讲述java开始学习时的各种疑难问题,希望大家能有所收获。

其他答案

首先,的自己需要有一份系统的课程,能帮你建立知识体系的那种,网上那种零散的就略过吧!

其次,自己要有恒心,能够坚持学下来。

第三,最好有人给你答疑解惑,这样会大大提高你的学习效率。

第四,努力努力努力,坚持敲代码,日复一日,坚持练习。

不过我还是想给你推荐个学习资料,百战程序员的JAVA300集,我们上学那会儿老师推荐的,入门学完全OK,因为课程设置不错,讲的都是企业用的技术,学完就能直接敲代码,我现在已经把他们系统的课程学完工作了,15k[害羞]对于一个刚毕业的学生来说很满意了呢。不过学习过程中,我自己也不记得敲了多少行代码了[捂脸],总之有一套完整的课程,加上老师答疑,最需要自己付出努力,就能得到满意答案!你也加油(ง •̀_•́)ง

其他答案

每个人的学习方法是不同的,一个人的方法不见得适合另一个人,我只能是谈自己的学习方法。因为我学习Java是完全自学的,从来没有问过别人,所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法,只能给大家提供一点参考了。

学习Java的第一步是安装好JDK,写一个Hello World,? 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。

把这两个问题摸索清楚了,就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。

第二步是学习Java的语法。Java的语法是类C++的,基本上主流的编程语言不是类C,就是类C++的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。

唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。

第三步是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C的经验,我是大概花了一个月左右吧,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下5遍,才彻底领悟了。

不过我想如果有C++经验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。

第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jrelib t。jar这个包。学习基础类库就是学习rt。jar。基础类库里面的类非常非常多。据说有3000多个,我没有统计过。但是真正对于我们来说最核心的只有4个,分别是

java。

lang。*;

java。io。*;

java。util。*;

java。sql。*;

这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而O´reilly也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。

我觉得比较好的学习方法是这样的:

首先要通读整个package的框架,了解整个package的class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。

对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包,所以不可能详细的介绍每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们类的方法是怎么调用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每个类是用在什么场合,当我遇到问题的时候,我知道哪个类,或者哪几个类的组合可以解决我的问题,That´all!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了。

编码的时候,具体的方法调用,是边写代码,边查Documentation,所有的东西都在Documentation里面,不要求你一定记住,实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。

为你推荐