java概述
1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;
1994年将Oak语言更名为Java;
Java的三种技术架构:
JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;
JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;
JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。
2,JRE:java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。
3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:
1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk
path=%JAVA_HOME%\bin
2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
classpath的配置:
1):永久配置方式:classpath=.;c:\;e:\
2):临时配置方式:set classpath=.;c:\;e:\
注意:在定义classpath环境变量时,需要注意的情况
如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;
如果指定了classpath,那么会在指定的目录下查找要运行的类文件。
还会在当前目录找吗?两种情况:
1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。
一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。
4,javac命令和java命令做什么事情呢?
要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
建议看java编程bai思想,它可以帮助你du深刻领悟java的精髓。以下zhi附上java相关的十大书籍排名:
第一名:Java编程思想(daoThinking in java )
包含范围:全部。
没说的,绝对的大师作品,当之无愧的第一。第一版时就享誉整个java界(当时网上好象也有人译了)。国内版是京京工作室翻译的,基本上毁了此书--错误术语太多。推荐高手看E文版,新手就不要先看此书了。第二版更精采,台湾的侯捷译了此书。可以到看看前几章的中文版(不过是台湾术语)。希望国内会快些引入此书,你也可到作者的主页免费下载此书推荐。有chm格式的,非常棒!BTW:这位大师最近在写Thinking in Python相信又是一本经典名著:)
第二名:Java2编程详解(special edition java2)
包含范围:全部
这本书会排在core java2的前面可能很多人会不同意,但是就中译本和内容来看非常全面。适合新手成为高手。虽然国内的价位高了些(150),但基本还是值得的。该有的内容都有了,做参考书也很不错。BTW,这个系列中的oracle8/8i使用手册也是一本很经典的书,同样推荐。
第三名:Java2核心技术卷一,二(core java2 volume1,2)
包含范围:全部
这两本我把它们看成一本不会有人有异议吧。这也是Sun的官方的书,我觉得相对来说。第二卷高级特性要比第一卷基础知识好(第一卷又是京京工作室译的--真影响情绪:()。内容同样很全面,但是卷一虽说是基础知识,同样对新手来说不是很合适。感觉条理性不强,而且内容有些混杂,但第二卷完全可以弥补这些--精辟而细致,很适合有一定基础的Java程序员看。
第四名:Java 2图形设计 卷1:AWT 卷2:Swing-Graphic Java 1.2 Mastering the JFC Volume I:AWT SWING 3rd Edition
包含范围:Java图形设计
没什么说的了,尽管图形设计不如J2EE那么火 ,而且Win32下做应用程序也不是java的强项,但是AWT和Swing仍然是Java程序员的必修课。看这两本就够了,看看厚度就知道了,而且这也是Sun官方出的图书。
第五名:J2EE构建企业系统专家级解决方案
包含范围:J2ee
又是一本极厚的书1038页,105元。不过内容十分丰富,适合想对J2EE整体做了解的程序员,至于每项都想精就不太可能了,呵呵。毕竟在Java中思想是主要的。在这类中有本Java服务器高级编程也很不错,机工华章出的-wrox系列中的。
第六名: Java XML编程指南
包含范围:Java+XML
XML在Java中的地位也越来越重要了,而国内能看到的还有一本中国电力出的o eilly的Java和XML。最后我还是选了这本wrox的,当然你要是想好好学学XML本身,还是看看那本XML高级编程吧。wrox系列中的-机工华章出的。
第七名:书名:Jini核心技术 英文原书名: Core Jini
包含范围:Jini
Jini也是Java体系中很重要的部分,而且更重要的是这本可能是国内唯一的一本Jini专著-翻译的也不错。在我看来是当之无愧的经典,同样是Sun的官方图书,内容很清晰透彻。
第八名:Enterprise JavaBeans第二版 英文原书名: Enterprise JAVABEANS
包含范围:EJB
O‘reilly出的,ejb的重要性我不用多说了吧。尽管有人说这本译的不好,但是同样它是国内目前唯一的EJB专著。o eilly的书就是只讲一方面或一项技术,很细,但价格也不菲,这本书的架构还可以,值得一看。
第九名:数据结构与算法分析(Java版)
包含范围:Java算法
尽管基本上Java图书都是讲Java本身的特性。因为Java的体系太庞大了,而用Java来实现的数据结构与算法,这本书也是唯一一本,所以尽管这本不是那么的好但还是做以推荐。
第十名:软件工程Java语言实现 英文原书名: Software Engineering with Java
这本书没什么多说的,纯理论性的东西,但软件工程的重要也是有目共睹的,而且同样是这个领域中唯一的一本Java书。
1、java程序的基本结构大体上可以分为包、类、main()主方法、标识符、关键字、语句和注释等。
2、标识符和关键字区分大小写。
3、主方法是应用程序的入口点,java程序是从该方法开始执行的,main是主方法的名称,程序员不可以更改。
4、标识符 是一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。
5、标识符的命名规则:
(1)java语言的标识符由字母、数字、下划线和美元符组成,第一个字符不能为数字。
非法:7word、5fox
(2)java 语言使用Unicode标准字符集,最多可以识别65535个字符。
(3)标识符不能是java的关键字和保留字。非法:this,goto;
(4)在java语音中标识符是区分大小写的。
6、java中有8种基本数据类型,其中6种是数值类型,另外两种是字符类型和布尔类型。
7、long型变量赋值时必须结尾加上L或l。
8、floating类型赋值时结尾必须加F或f,Double类型赋值时结尾可加D或d,也可以不加。
9、变量的命名规则:
(1)变量名必须是一个有效的标识符。
(2)变量名不能重复。
(3)应该选择有意义易于理解的单词作为变量名。
10、在程序运行过程中一直不会改变的量称为常量(constant),通常也称为final变量。常量在整个程序中只能被赋值一次。
11、常量名通常使用大写字母但不是必须的。
12、变量的有效范围指程序代码能够访问该变量的区域,根据变量能够访问的区域将变量分为成员变量和局部变量。
13、成员变量在整个类中都有效,可分为静态变量和实例变量。在成员变量前加static就是静态变量,静态变量的有效范围可以夸类。
局部变量与成员变量名字相同时候,成员变量暂时失效,如果想调用成员变量,需要使用类名.静态变量调用。
14、if语句只执行条件为真的语句,其他语句都不会执行。
15、静态方法中不可使用this关键字,不能直接调用非静态方法。