我想学习JAVA编程语言

作者&投稿:宰饼 (若有异议请与网页底部的电邮联系)
我想学习JAVA编程语言,但不知从啥开始?~

Java新手入门的30个基本概念


在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。

Java概述:

目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.Java的语法与C++语法类似,C++/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出。

Java的白皮书为我们提出了Java语言的11个关键特性。

(1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb。

(2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使Java编程非常的高效,现在许多的大的web server都支持servlet。

(3)OO:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C++有很多不同,在与多重继承的处理及Java的原类模型。

(4)健壮特性:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能型。

(5)安全:Java用来设计网路和分布系统,这带来了新的安全问题,Java可以用来构建防病毒和防攻击的System.事实证明Java在防毒这一方面做的比较好。

(6)中立体系结构:Java编译其生成体系结构中立的目标文件格式可以在很多处理器上执行,编译器产生的指令字节码(Javabytecode)实现此特性,此字节码可以在任何机器上解释执行。

(7)可移植性:Java中对基本数据结构类型的大小和算法都有严格的规定所以可移植性很好。

(8)多线程:Java处理多线程的过程很简单,Java把多线程实现交给底下操作系统或线程程序完成.所以多线程是Java作为服务器端开发语言的流行原因之一。

(9)Applet和servlet:能够在网页上执行的程序叫Applet,需要支持Java的浏览器很多,而applet支持动态的网页,这是很多其他语言所不能做到的。

基本概念:

1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。

2.OOP中最重要的思想是类,类是模板是蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance)。

3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)。

4.通过扩展一个类来获得一个新类叫继承(inheritance),而所有的类都是由Object根超类扩展而得,根超类下文会做介绍。

5.对象的3个主要特性

behavior---说明这个对象能做什么.
state---当对象施加方法时对象的反映.
identity---与其他相似行为对象的区分标志.
每个对象有唯一的indentity 而这3者之间相互影响.

6.类之间的关系:

use-a :依赖关系
has-a :聚合关系
is-a :继承关系--例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法.(个性存在于共性中)

7.构造对象使用构造器:构造器的提出,构造器是一种特殊的方法,构造对象并对其初始化。

例:Data类的构造器叫Data

new Data()---构造一个新对象,且初始化当前时间.
Data happyday=new Data()---把一个对象赋值给一个变量happyday,从而使该对象能够多次使用,此处要声明的使变量与对象变量二者是不同的.new返回的值是一个引用。

构造器特点:构造器可以有0个,一个或多个参数
构造器和类有相同的名字
一个类可以有多个构造器
构造器没有返回值
构造器总是和new运算符一起使用.

8.重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载.编译器必须挑选出调用哪个方法。

9.包(package)Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务,标准Java库分为许多包.java.lang java.util java,net等,包是分层次的所有的java包都在java和javax包层次内。

10.继承思想:允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段。

11.扩展类:扩展类充分体现了is-a的继承关系. 形式为:class (子类) extends (基类)。

12.多态:在java中,对象变量是多态的.而java中不支持多重继承。

13.动态绑定:调用对象方法的机制。

(1)编译器检查对象声明的类型和方法名。

(2)编译器检查方法调用的参数类型。

(3)静态绑定:若方法类型为priavte static final 编译器会准确知道该调用哪个方法。

(4)当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用x所指向的对象的实际类型相匹配的方法版本。

(5)动态绑定:是很重要的特性,它能使程序变得可扩展而不需要重编译已存代码。

14.final类:为防止他人从你的类上派生新类,此类是不可扩展的。

15.动态调用比静态调用花费的时间要长。

16.抽象类:规定一个或多个抽象方法的类本身必须定义为abstract。

例: public abstract string getDescripition

17.Java中的每一个类都是从Object类扩展而来的。

18.object类中的equal和toString方法。

equal用于测试一个对象是否同另一个对象相等。

toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.
(toString 方法是一个很重要的方法)

19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。

20.数组列表:ArrayList动态数组列表,是一个类库,定义在java.uitl包中,可自动调节数组的大小。

21.class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。

22.class类为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具。

能够分析类能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大.

1.在运行时分析类的能力。
2.在运行时探察类的对象。
3.实现通用数组操纵代码。
4.提供方法对象。

而此机制主要针对是工具者而不是应用及程序。

反射机制中的最重要的部分是允许你检查类的结构.用到的API有:

java.lang.reflect.Field 返回字段.
java.reflect.Method 返回方法.
java.lang.reflect.Constructor 返回参数.

方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。

23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。

24.接口不是一个类,而是对符合接口要求的类的一套规范。

若实现一个接口需要2个步骤:

1.声明类需要实现的指定接口。
2.提供接口中的所有方法的定义。

声明一个类实现一个接口需要使用implements 关键字

class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.

25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable

26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。

例:ActionListener 接口监听.
类似的API有:java.swing.JOptionPane

java.swing.Timer
java.awt.Tookit

27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。

28.内部类:一个内部类的定义是定义在另一个内部的类。

原因是:

1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。

2.对于同一个包中的其他类来说,内部类能够隐藏起来。

3.匿名内部类可以很方便的定义回调。

4.使用内部类可以非常方便的编写事件驱动程序。

29.代理类(proxy):

1.指定接口要求所有代码

2.object类定义的所有的方法(toString equals)

30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。

Java是一门面向对象编程语言,不仅吸收了C 语言的各种优点,还摒弃了C 里难以理解的多继承、指针等概念,因此初次学习Java的,先了解Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java能做什么
1.视频游戏开发
2.Android应用开发
3.桌面GUI
4.软件开发
Java有什么优点
1.开发者被大量需求:2015年Dice.com报告表明,Java开发者是需求量最高的软件开发技能
2.一种进化的语言:这个平台在继续增加新功能,如lambda功能
3.Android应用开发:谷歌的Android系统保有量在移动终端系统中居世界之首,编写安卓应用,开发者主要还是使用Java,如果你想学习Java可以来这个群,首先是五三二,中间是二五九,最后是九五二,里面有大量的学习资料可以下载。
Java有什么缺点
1.大量使用内存:Java相比C ,需要使更多的内存
2.学习曲线:Java其实不是学起来最简单的语言,但幸好也不是最难的
3.缓慢的启动时间:每一个试着用java写安卓应用的人都知道,同样的代码在模拟器中,启动有多么缓慢
初学Java语言的编程者容易在学习前期产生畏惧心理,原因在于学习方法不得当,将学习Java语言这件事妖魔化,实质上学习一门编程语言远没有一些同学想象的那么难。

首先,学习Java语言需要从Java语言的基本内容开始,如Java语言的语法,结构化模块化的编程思想,Java语言的三大结构(顺序结构,选择结构,循环结构),都是学习的基础内容,甚至包括仔细的去研究数据结构,运算符及表达式的构成等都应划在基本功的范围内。

Java语言的使用有几块内容是很重要的:数组,指针,函数。这三部分相对来讲有些难度,而实质上单独拿出每一部分来,这三部分都十分好理解和使用,真正难在将这三部分结合起来组成一个灵活,具有通用性的程序,这就需要大家在学习的过程中慢慢积累解决问题的方法了。当前,前提条件,应该灵活的掌握这三部分的基本知识,将第一部分应用自如后,再进行知识点的连接和贯穿。

首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着进入计算机专业后能遇见很多高手,能交到几个知己,谁之进来后却大失所望。计算机专业的学生有很多以前对计算机不怎么了解,而且还有部分人进大学前连计算机摸都没摸过,对计算机很熟悉的很少,高手更是凤毛麟角,大多数人是服从了父母之命,显而易见,目前社会最热的行业是IT业,工资最高的也是IT业,抱着这个因素,大多数考生的父母都让自己的孩子进入了计算机专业,而大多数学生也天真的认为从计算机专业毕业后就能够像电视里演的大多数白领一样每天只用坐在办公室里和同事们聊聊天,和老板吃吃饭,每天签几个字然后就有高工资等着你去拿。

进校后他们发现其实他们在专业课方面什么都听不懂,自己也一点兴趣都没有,没有兴趣那就没有学习的动力,而且这个专业是要靠悟性的,而兴趣是培养悟性的第一步,然后他们会发现越往后学专业课越难,也越听不懂,好一点的就会狠下心来,硬着头皮苦学一通,有可能也就能走出一片路来,而不好的就会就此放弃,只需要混着考试通过,混毕业,找个单位安心上班。有些人上了几年学连自己上哪些课都不知道;拿个程序他分不清是用C语言写的还是用PASCAL写的;不小心进了DOS不知道怎么再回到WINDOWS。但说起游戏来头头是道,好像每个都是职业玩家一样,有的每天只知道泡在网吧。这就是中国计算机人才下一代的悲哀!

再说现在计算机专业大学生的学习和生活。大多数计算机专业的学生对本专业的发展及前景一无所知,每天都是看小说、玩游戏、看电影、打牌、喝酒、睡觉等等很有"前途"的事情。偶尔看见一两个同学看看与计算机专业有关的书,跑去拿来一看,全是什么"游戏攻略"、"黑客秘技"等此类书籍。还有的人连C语言和C++谁是谁都还没搞清楚,就拿本VC的书"刻苦钻研",真不知他们看懂了没有。好多学生都买了电脑,但用处都是游戏机+碟机+音响,每天都在用电脑玩着各种流行的游戏、看着最新的大片、听着时尚的音乐,就是不用电脑学习。有的学生甚至问我电脑除了玩游戏还能干什么,我问他你为什么这么问,他告诉我他觉得电脑只能用来玩游戏,不知道还能不能干干别的什么。据我了解,近几年在国内好几所高校的计算机专业的毕业生的毕业设计竟然是做网页,在大学了四年,学完了《数据结构》、《软件工程》、《C语言》等专业课后,竟然交了一个没有学过计算机的人自学一两天就能做好的东西!

这就是大多数计算机专业的学生,在我在大学玩了两年之后,我突然明白该为自己的未来打算打算了,但还有许多人仍然还什么都不明白,所以就有了这篇文章。

如果你是以上我说的那种受父母之命来学计算机的学生,如果你看了《计算机应用文摘》第15期的《写给想当程序员的朋友》一文后,发现自己没有当程序员的欲望,那么我这里有几条路给你选择:
1、网页制作,将来去网站工作!
2、学习3D MAX等软件,去作动画!
3、学习美术设计!
4、网络,将来考个CCNA,去专业组网!
5、在保证能顺利毕业的前提下,去疯狂玩游戏,做个职业玩家或做一个或几个网络游戏的GM。(我身边就有这样的人)
6、以上五条都与计算机有关,要有一定的专业知识,但比起你的专业课简单多了。如果你看到这里还不觉得有适合你干的,那这条最适合你:在你们学校去修双学位,修一个自己感兴趣的专业,计算机真的不适合你!
如果以上几条有适合你的,那么你就努力去做适合你的那一片天地,去看杂志的下一篇文章,下面的文字你看了只会浪费你的时间。

如果你是计算机专业的在校大学生,而且想当程序员,那么请往下看:
1、大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘!
2、计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。
3、记住:万丈高楼平地起!基础很重要,尤其是专业基础课,只有打好基础才能学得更深。
4、C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。
5、C语言与C++语言是两回事。就象大熊猫和小熊猫一样,只是名字很像!
6、请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。
7、对编程有一定的认识后,就可以学习C++了。(是C++而不是VC,这两个也是两码事!C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础之上。看VC的书,是学不了C++语言的。)
8、学习编程的秘诀是:编程,编程,再编程;
9、认真学习每一门专业课,那是你的吃饭碗。
10、在学校的实验室就算你做错一万次程序都不会有人骂你,如果你在公司你试试看!所以多去实验室上机,现在错的多了,毕业后就错的少了。
11、从现在开始,在写程序时就要养成良好的习惯。
12、不要漏掉书中任何一个练习题--请全部做完并记录下解题思路。
13、你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。
14、VC、C#、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法!
15、记住:书到用时方恨少。不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋!
16、我还是强调认真听专业课,因为有些课像《数据结构》、《编译原理》、《操作系统》等等,这种课老师讲一分钟能让你明白的内容,你自己看要看好几个月,有的甚至看了好几年都看不明白。
17、抓住在学校里的各种实践的机会,要为自己积累经验,就业时经验比什么都有用。
18、多去图书馆,每个学校的图书馆都有很多好书等你去看!
19、编程不是技术活,而是体力活。
20、如果你决定了要当一个好的程序员,那么请你放弃游戏,除非你是那种每天只要玩游戏就能写出好程序的天才!
21、你要有足够的韧性和毅力!有个高手出了一道题测试你的韧性和毅力:找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
22、找到只属于你自己的学习方法!不要盲目的追随别人的方法,适合自己的才是最好的!
23、请热爱程序员这项工作!
以上的话有些是我的经验,有些是我从高手那里直接COPY来的,但他们都很有用,记住他们,并遵守他们,那你们一定会成功!

对于大多数初学者来说,好多人有这种问题存在:我到底先学什么?学C/C++?还是学VC?还是学Borland C++ Builder呢?还是Delphi?哪一个更好呢?学习程序设计和学习程序设计语言究竟是怎么一个关系?初学者究竟应该如何取舍呢?就这些问题,我从一个高手那里看了一下的这段话,可以帮助在这方面有问题的人:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。学习射击必须要选择一种枪械,不可能没有枪还能学好射击的,也不可能同时学会使用所有的枪械。但是,如果掌握一种枪械的射击,再学别的也就触类旁通了。因为在熟悉一种枪械的同时,也学习了射击技术本身。再学其他的,自然事半功倍。学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。在学会系统的编程理念之后,用什么工具都一样!

之所以写这篇文章呢是因为自己眼看身边那么多的同学一个个都"不务正业",荒废了学业,心急如焚,自己也荒废了好几年,眼看微软的Windows从3.X到现在的2003 Server,而中国的软件业还是在原地踏步,难道我们真要每年等微软给他的操作系统换一次名字,我们给他交一次钱吗?这么大的利润为什么不留给我们自己,为什么不让别的国家给我们交钱呢?这是广大中国程序员的一个共同的梦,要实现这个梦的人是现在还在大学里的"准程序员"们,他们是中国软件明天的希望!希望广大计算机业的大学生看到这篇文章后,睡觉的能醒来,玩游戏的能停下来,在网吧的能出来,一起拿起课本,坐在电脑前,用程序写出中国软件业明天的辉煌。
最后:强烈劝告各位计算机专业的大一新生,千万别沉迷于电脑游戏,尤其是网游,我身边由于沉迷玩游而无法自拔,越来越堕落的人比比皆是!!希望你们对计算机真正产生兴趣,你对编程的兴趣越高,你的编程能力便会越强。把我好自己吧!!!!!!!!!!!!!!!

1. 关于动态加载机制——
学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分。很多人都能背出来Java语言的特点,所谓的动态加载机制等等。当然概念往往是先记住而后消化的,可有多少人真正去体会过动态加载的机制,试图去寻找过其中的细节呢? 提供大家一个方法:
在命令行窗口运行Java程序的时候,加上这个很有用的参数:

java –verbose *.class

这样会清晰的打印出被加载的类文件,大部分是jdk自身运行需要的,最后几行会明显的看到自己用到的那几个类文件被加载进来的顺序。即使你声明了一个类对象,不实例化也不会加载,说明只有真正用到那个类的实例即对象的时候,才会执行加载。这样是不是大家稍微能明白一点动态加载了呢?^_^

2. 关于寻找class文件原理——
建议大家在入门的时候在命令行窗口编译和运行,不要借助JCreator或者Eclipse等IDE去帮助做那些事情。尝试自己这样做:
javac -classpath yourpath *.java
java -classpath yourpath *.class
也许很多人都能看懂,设置classpath的目的就是告诉编译器去哪里寻找你的class文件. 不过至少笔者今日才弄懂JVM去查询类的原理,编译器加载类要依靠classloader, 而classloader有3个级别,从高到低分别是BootClassLoader(名字可能不准确) , ExtClassLoader, AppClassLoader.

这3个加载器分别对应着编译器去寻找类文件的优先级别和不同的路径:BootClassLoader对应jre/classes路径,是编译器最优先寻找class的地方
ExtClassLoader对应jre/lib/ext路径,是编译器次优先寻找class的地方
AppClassLoader对应当前路径,所以也是编译器默认找class的地方

其实大家可以自己写个程序简单的测试,对任何class,例如A,
调用new A().getClass().getClassLoader().toString() 打印出来就可以看到,把class文件放在不同的路径下再次执行,就会看到区别。特别注意的是如果打印出来是null就表示到了最高级BootClassLoader, 因为它是C++编写的,不存在Java对应的类加载器的名字。

寻找的顺序是一种向上迂回的思想,即如果本级别找不到,就只能去本级别之上的找,不会向下寻找。不过似乎从Jdk1.4到Jdk1.6这一特点又有改变,没有找到详细资料。所以就不举例子了。告诉大家设计这种体系的是Sun公司曾经的技术核心宫力先生,一个纯种华人哦!^_^

这样希望大家不至于迷惑为什么总报错找不到类文件,不管是自己写的还是导入的第三方的jar文件(J2ee中经常需要导入的)。

3. 关于jdk和jre——
大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做。因为这样更能帮助大家弄清楚它们的区别:

Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦, 还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢? 学过MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。

Jdk 是java development kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll。 说明是有两个虚拟机的。这一点不知道大家是否注意到了呢?

相信大家都知道jdk的bin下有各种java程序需要用到的命令,与jre的bin目录最明显的区别就是jdk下才有javac,这一点很好理解,因为jre只是一个运行环境而已。与开发无关,正因为如此,具备开发功能的jdk自己的jre下才会同时有client性质的jvm和server性质的jvm, 而仅仅作为运行环境的jre下只需要client性质的jvm.dll就够了。

记得在环境变量path中设置jdk/bin路径麽?这应该是大家学习Java的第一步吧, 老师会告诉大家不设置的话javac和java是用不了的。确实jdk/bin目录下包含了所有的命令。可是有没有人想过我们用的java命令并不是jdk/bin目录下的而是jre/bin目录下的呢?不信可以做一个实验,大家可以把jdk/bin目录下的java.exe剪切到别的地方再运行java程序,发现了什么?一切OK!

那么有人会问了?我明明没有设置jre/bin目录到环境变量中啊?

试想一下如果java为了提供给大多数人使用,他们是不需要jdk做开发的,只需要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的java.exe添加到了系统变量中,验证的方法很简单,大家看到了系统环境变量的path最前面有“%SystemRoot%\system32;%SystemRoot%;”这样的配置,那么再去Windows/system32下面去看看吧,发现了什么?有一个java.exe。

如果强行能够把jdk/bin挪到system32变量前面,当然也可以迫使使用jdk/jre里面的java,不过除非有必要,我不建议大家这么做。使用单独的jre跑java程序也算是客户环境下的一种测试。

更清楚jdk和jre内部的一些联系和区别了吧?

强烈推荐学习使用thinking in JAVA 这本书,不过要耐心多看几遍,否则是不能理解的

楼主你好,鉴于你没学过任何编程语言,可以先看看C语言,看到数组就可以了,指针可以不看,数组后面也可以不看,这些是基础。

然后学习JAVA时还要学习一下数据库知识,因为学习JAVA做目时你做的信息等都必须存放在数据库你。打个比方,你在某网站注册用户,下次就可以以会员身份登陆了,那该网站怎么记得住你呢?答案就是他将你填写的信息存放在数据库里的缘故。

至于技术支持其实很多,我自己学的除了JAVA和C就有XML,HTML,JavaScript,EJB,SQL数据库.你学完这么多差不多也足够了。

开发工具我建议用MyEclipse,我用的就是这个,很好的,如果你以后要做网站类的项目,再去网上下个tomcat,用于发布网站。

选准方向,继续出发,
jsp j2ee, Servlet,Javabean EJB 等等
java的路还长着哩,好好把握哦
我们知道,自从Sun推出Java以来,就力图?

使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,?

这也就是Sun?ONE(Open?Net?Environment)体系。J2SE就是Java2的标准版,主要用于桌?

面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Jav?

a2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发?

桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初?

学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又?

最好学的就是J2EE了。J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,Java?

Mail等。要学习起来可不是一两天的事。?

那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟?

悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快?

去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP?

。然后你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户?

端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全?

取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的?

,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中?

嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了Javabean?

可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是?

Enterprise?JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它?

是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(?

也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程?

序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你?

如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子?

邮件的程序,你就得看看Javamail了。?

好了,对Java和J2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈?

兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C再Ct?

rl+V,也不用劳您老大架再亲自把它?再输一遍吧,再说直接复制还不用怕出错,何乐而?

不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管?

2.语法,,数据类型
3.能编一些小程序..
4.类集
5.JDBC...
6.事件驱动
7.网络.
8.hibernate
9.spring
10.j2ee

编号错了..呵呵...算了不管了..

其实JAVA嘛...很简单...对一个有C基础的人来说
没C基础的人学起来也很简单....
最重要的是要有一个类与对象的概念....

class __Main_Test
{
public static void main(String[] args) throws Exception
{
//最简单的程序的结构
}
}

__Main_Test就是一个类...
而对象呢....对象就是一个类的实体..

比如说人是一个类...人 说起人...你想到的是什么???

人是不是包括你我他...
而你就是一个对象.... 先只要知道这个就行了..

理解了类与对象...学起来会得心应手....看代码也比较轻松...

语法...要知道.....另外其它的一些东西 嘛...其实还得是自己多多去摸...多多去动手...我在这里说的全是你不知道的...是吧...所以说我说出来只能是让你听得迷糊....有问人的功夫..不如先去学最基础的....碰到了实际问题再来求救也不迟....

要是想要资料我可以给你一本我用过的PDF...

你可以发邮件给我:
lplxj1122@163.com


学历低如何学习Java编程
当然,学习的过程中难免会遇到困难和挫折。这时,保持积极的心态和持续学习的动力至关重要。要相信自己有能力学会Java编程,只要坚持下去,就一定能够取得成果。最后,我想强调的是,学习Java编程是一个长期的过程。技术在不断更新和发展,要想在这个领域保持竞争力,就需要不断地学习和进步。因此,建议学习...

java好学吗?
但问题在于Java的涉及面很广,并不是单单的知识语言,而是一个知识体系,Java基础,高级。Java Web,Jave Script,JSP,各种框架知识等等都是需要你去学习的,只有掌握的知识足够全面踏实,才能成为一个Java工程师。单单靠Java编程语言是无法完成工作的。java编程语言难度大于PHP Python Golang 小于C++ 3...

Java编程语言需要学习什么?
对于初学者来说,Java编程语言中的一些概念和特性可能比较难以理解和掌握。以下是我认为在学习Java过程中可能会觉得比较难的一些方面:面向对象编程(OOP):Java是一种面向对象的编程语言,因此理解OOP的概念和思想对于初学者来说可能会有些困难。需要花费一定的时间来理解类、对象、封装、继承和多态等概念...

自学Java怎么入门?
自学Java看这一篇就够啦!Java学习路线图分享给你,跟着学习吧!一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。在Java基础板块中有6个子模块的学习:基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据...

学历低如何学习Java编程
在学习Java编程时,学历并不是唯一的衡量标准。千锋教育致力于提供全面而专业的IT互联网技术培训,我们的Java开发培训课程适合各个学历背景的学员。更系统全面的学习资料,点击查看无论您的学历如何,千锋教育都欢迎您加入我们的Java编程培训。我们的课程内容涵盖了Java编程的基础知识和实践技能,旨在帮助学员...

零基础怎么学好java编程?
报名昌平北大青鸟8月Java免费训练营课程,不论你是0基础还是转行,都有大牛老师手把手教你学习最新热门技术,找一份自己满意的高薪工作。PS:还有疑问可以咨询QQ:1229718872问达妹哦~感谢大家阅读由java问答分享的“零基础怎么学好java编程?”希望对大家有所帮助,了解更多专业课程培训内容请关注昌平北大青鸟...

怎么学好java编程?
怎么学好java编程?零基础学java容易吗?如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。第一部分:对于尚未做过Java工作的人,北京电脑培训发现包括一些在校生以及刚准备转行Java的小白。一、Java基础首先去找一个Java的基础教程学一下。学习Jav...

学习Java编程最有效的方法
有很多的Java程序员,在初期学习时,通常会对如何学习而感到迷茫。下面达妹就来分析下如何学好Java编程,相信能帮助那些正在处于迷茫状态的初学者。1、培养兴趣 兴趣是能够让你坚持下去的动力,如果只是把写程序作为谋生的手段的话,你会活的很累,多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,...

如何从零开始学Java?
如果您学Java是因为单纯的兴趣爱好,自学是一个很不错的选择。但如果您想通过学Java技术转行的话,那么最好是选择参加Java培训班。当然,可能现在的您感觉参加Java培训班学费很贵,但是对于可以通过学习找到工作,还是比较值得的。如果,决定了要学习Java技术就不要犹豫,要行动起来,时间可不等人。不管是...

Java编程快速有效的学习方法有哪些
5. 寻求帮助和交流:在学习Java编程过程中,遇到问题是正常的。千锋教育鼓励学员积极寻求帮助和进行交流,我们提供专业的师资团队和学习群组,学员可以随时向老师和同学请教问题,共同解决学习中的难题。综上所述,如果您想快速有效地学习Java编程,千锋教育是您的不二之选。我们提供全面的Java培训课程,注重...

利通区13076269267: 我想自学JAVA语言.请问 我应该先怎么做? -
宏畏百普: 刚好相反. 搞开发不是那么容易的. 首先要确定自己是不是适合这个行业. 否则是浪费时间. 如果你适应不了每天对着电脑几个小时.甚至十几个小时.那么请重新考虑. 之后.仔细想想 自己的逻辑思维能力行事不.(当然.这个没几个不行的.) 最后.这些都通过了.那么找本 java core或者fist head java 看. 一边看一边照着例子练习. 每天最少3小时. 一个月之后.看看自己还对java有那么大兴趣没有.如果有.可以继续.如果没有了..那么可以考虑不要浪费春光了.

利通区13076269267: 毫无编程基础的想学Java 应该怎么入手? -
宏畏百普: 建议先看看初学者视频入门,可以选择毕向东的,或者马士兵的,张孝祥老师的视频稍微有点老了,但是仍旧是很经典的.然后可以细读一些书籍.至于c/c++的话,如果有兴趣可以看看C++然后看看java.因为都是面向对象的编程语言,有共通之处可以思考思考.没有先后顺序

利通区13076269267: 我想学JAVA?难学吗?
宏畏百普: java不难,你可以做如下学习 一、到相应的培训机构付费学习 别在这说培训机构没用什么的,不过一定要找正规的培训机构,不然容易被坑.培训机构里面的课程都是现在工作中需要用到的,时间短,所以可能学生消化得没那么快,基础可能也...

利通区13076269267: Java 语言怎么学习 -
宏畏百普: 以我的实践经验告诉你,首先要看书读理论,不一定都懂,因为有一个懂的过程;然后就是分析代码,看看书上的代码的意思,逐行逐行地看,去体会;最重要的一点就是敲写代码,刚开始不会没关系,照着书一行一行的敲,然后运行,观察结果,把程序运行结果联系程序代码,学得多一点了就尝试修改代码,改一点点看运行结果有什么变化,便于理解程序内部执行的机制.代码敲熟了,不懂的理论部分自然就懂了.上面所说的最关键的就是一个字“敲”,送你一句学程序的话:看一遍不如背一遍,背一遍不如敲一遍.

利通区13076269267: 我要怎么才能学好java -
宏畏百普: 习程序的最好方式是参照源代码,先仿照,后创新,慢慢有积累了,就可以收发自由了.没关系的,慢慢来,不可能一步到位的.java确实很难学. 学习Java其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想...

利通区13076269267: 想学Java,小白一个,怎么学习比较好
宏畏百普: 想学,确实想学的话,我觉得你的第一步就是应该去下载java相应的软件,把软件装好以后.去java学习网站或者买初级java学习书,一边学习一边编写代码练习.你觉得呢,毕竟实践才是检验自己进步进步,好不好学. 加油,只要想学,有梦想你可以的

利通区13076269267: 如何学习Java语言 -
宏畏百普: 如果您是java的初学者,最想知道的莫过于如何才能学好java.以下是我的几点建议. 1.奠定java的语法基础 学习java的第一步,就是学会使用java这个程序语言来编写程序,而学习程序语言的第一步就是熟悉其语法的使用.程序语言就是一门语...

利通区13076269267: 学习java语言 -
宏畏百普: JAVA是从C 发展而来的它去掉了C中一些让人难懂部分如指针,基本上JAVA是不需要程序员知道具体的内存操作,使得编程得以简化.如果你以前没有任何编程基础的话,建议你选一门或者两门课来学,初学语言靠自学是很困难的.JAVA的库非常丰富所以JAVA的编写实际上就是对API进行调用的一个过程,理论上用JAVA可以编写任何东西

利通区13076269267: JAVA该怎么学? -
宏畏百普: 如果想学习编程语言,做程序开发的话,首先要衡量一下自己,是否是自控能力强的人.如果是自控能力强的人完全可以找一些视频教材,再加上自己的思考和不断的去练习,多和大家交流,玩知道就很不错相信你会得到你想要的效果,也许你...

利通区13076269267: java学什么?方向在哪? -
宏畏百普: 先说一下java吧,java是一种语言,包括J2SE,J2EE,J2ME.J2SE是基础,都要学的,你所说的“java学什么”大概指的就是J2SE,J2SE在学校的时候多敲敲代码,多看看API就能学会,常用的工具包Util,Lang,Math,Io什么的要熟练.然后是J2EE...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网