Java开发环境配置
Java开发环境
计算机基础
计算机应用领域
- 科学计算:科学计算也称数值计算。计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的数值计算而研制的计算工具。
- 数据处理:在科学研究和工程技术中,会得到大量的原始数据,其中包括大量图片、文字、声音等信息处理就是对数据进行收集、分类、排序、存储、计算、传输、制表等操作。
- 自动控制:自动控制是指通过计算机对某一过程进行自动操作,它不需人工干预,能按人预定的目标和预定的状态进行过程控制。
- 计算机辅助设计:计算机辅助设计(Computer Aided Design,简称CAD)是指。借助计算机的帮助,人们可以自动或半自动地完成各类工程设计工作。目前CAD技术已应用于飞机设计、船舶设计、建筑设计、机械设计、大规模集成电路设计等。
- 人工智能:人工智能(Artificial Intelligence,简称AI)是指计算机模拟人类某些智力行为的理论、技术和应用。
- 多媒体应用:随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起来,构成一种全新的概念—“多媒体”(Multimedia)。比如一些flash广告,网页游戏等。
- 计算机网络:计算机网络是由一些独立的和具备信息交换能力的计算机互联构成,以实现资源共享的系统。
计算机组织结构
-
计算机硬件:计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。计算机通常由CPU、主板、内存、电源、主机箱、硬盘、显卡、键盘、鼠标,显示器等多个部件组成。
-
计算机软件:计算机软件是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序完成特定的功能,计算机软件按照其功能划分为系统软件与应用软件。系统软件: DOS(Disk Operating System),
Windows, Linux, Unix, Mac,Windows Phone,Symbian Android, iOS;应用软件:office QQ聊天 YY语音 扫雷 LOL -
软件开发:软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
-
人机交互方式:软件的出现实现了人与计算机之间更好的交互。
交互方式:图形化界面和命令行方式。
图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
-
通用的快捷键:通用快捷键适用于广泛的环境,在例如Windows的操作系统以及绝大部分的软件中都适用。需要熟练掌握这些快捷键。
Ctrl+C 复制选中内容
Ctrl+V 粘贴
Ctrl+X 剪切
Ctrl+A 全选
Ctrl+Z 撤销操作
Ctrl+Y 恢复操作(恢复上一步操作)
Ctrl+S 保存
常见编程语言介绍
计算机编程语言
-
什么是计算机语言
语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而 中国人要和英国人交流,就要学习英语。
计算机语言:人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语言。
计算机语言有很多种。如:C ,C++ ,Java ,PHP , Python等。
-
计算机语言发展
- 第一代语言:机器语言,指令以二进制代码形式存在
- 第二代语言:汇编语言,使用助记符表示一条机器指令
- 第三代语言:高级语言,java、c、c++、Python、c#等
常见高级语言
C语言
C语言诞生于1972年,可以称之为现代高级语言的鼻祖,由著名的贝尔实验室发明。C语言是人们追求结构化、模块化、高效率的“语言之花”。在底层编程,比如嵌入式、病毒开发等应用,可以替代汇编语言来开发系统程序。在高层应用,也可以开发从操作系统(Unix/Linux/Windows都基于C语言开发)到各种应用软件。
老鸟建议:
大学生朋友如果大学开这门课请一定认真学习,而不要觉得老套,那是经典;C语言在现代社会流行程度仍然排名前三。
C++语言
作为C语言的扩展,C++是贝尔实验室于80年代推出的。C++是一种混合语言,既可以实现面向对象编程,也可以开发C语言面向过程风格的程序。
C语言让程序员第一次可以通过结构化的理念编写出易于理解的复杂程序; 尽管C语言是一个伟大的语言,但是程序的代码量达到30000行以上时,程序员就不能很好的从总体上把握和控制这个程序。 因此,在80年代初期,很多软件项目都面临无法解决的问题而不能顺利进行。 1979年,贝尔实验室发明了C++。 C++最初的名字叫做“带类的C”,后来才改名叫C++。国内通用叫法:“C加加”,国际通用读法“C plus plus”。
C++语言在科学计算、操作系统、网络通讯、系统开发、引擎开发中仍然被大量使用。
Java语言
由美国SUN公司发明于1995年,是目前业界应用最广泛、使用人数最多的语言,连续多年排名世界第一,可以称之为“计算机语言界的英语”。
Java广泛应用于企业级软件开发、安卓移动开发、大数据云计算等领域,几乎涉及IT所有行业。关于Java的发展历史和特性,将在后面专门介绍。
PHP语言
PHP原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”。PHP语言,一般用于WEB开发领域;大量的中小型网站以及某些大型网站使用PHP开发。
Object-C和Swift语言
Object-C通常写作Objective-C或者Obj-C或OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。OC主要用于苹果软件的开发。
Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与OC共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。
JavaScript语言
JavaScript是一种脚本语言,已经被广泛用于Web应用开发;应用范围越来越大,重要性越来越高。目前,流行的H5开发的核心其实就是JavaScript语言。
Python语言
Python发明于1989年,语法结构简单,易学易懂;Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。Python广泛应用于:图形处理、科学计算、web编程、多媒体应用、引擎开发;尤其是在未来大热方向机器学习和人工智能上有非常大的潜力。
C#语言
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#在基于windows操作系统的应用开发这一领域在取代C++,占据主导地位。“成也萧何败也萧何”,C#的微软身份,也成为了发展的阻力,在其他IT领域应用较少。
Fortran语言
世界上第一种高级语言, IBM公司在1954年提出的,主要用在需要复杂数学计算的科学和工程领域。现在仍然被广泛使用,尤其是工程领域。Fortran虽然适合编写科学计算方面的程序,但是不适于编写系统程序。
Basic语言
虽然易学,但功能不够强大,应用到大程序的有效性令人怀疑。已经逐步退出历史舞台。
COBOL语言
于1959年提出。主要用于大量精确处理数据的商业领域中,比如金融、银行。今天,仍然有超过一半的商业软件使用COBOL编写。有将近100万人使用COBOL编程。
Pascal语言
Pascal的名称是为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal而来的,它由瑞士Niklaus Wirth教授于六十年代末设计并创立的。Pascal语言语法严谨,层次分明,程序易写,可读性强,是第一个结构化编程语言。由于没有大厂商和政府的支持,只是限于大学教育这一块。
java简介
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
Java语言是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。
它是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使 用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
后台开发:Java、PHP、Python、Go、Node.js
java在各个领域的应用
- 从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:
- 企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及 它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电 信、交通、电子商务等。
- ·Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低 很大程度上取决于Java语言核心能力是否扎实。
- 大数据平台开发:各类框架有Hadoop,spark,storm,flink等,就这类技术生态 圈来讲,还有各种中间件如flume,kafka,sqoop等等 ,这些框架以及工具大多数 是用Java编写而成,但提供诸如Java,scala,Python,R等各种语言API供编程。
- 移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手 机、PDA、机顶盒、汽车通信设备等。
语言特点
-
简单性
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
-
面向对象
Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。
Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。 -
分布式
Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行 -
编译和解释性
Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。
在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。 -
稳健性
Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。
Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。
可靠性方面最重要的增强之一是Java的存储模型。Java不支持指针,它消除重写存储和讹误数据的可能性。类似地,Java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。Java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。
异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。 -
安全性
Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。
Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。 -
可移植性
Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。
Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。 -
高性能
Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现全编译了。
Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。 -
多线程性
Java是多线程语言,它提供支持多线程的执行(也称为轻便过程),能处理不同任务,使具有线程的程序设计很容易。Java的lang包提供一个Thread类,它支持开始线程、运行线程、停止线程和检查线程状态的方法。
Java的线程支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,由C.A.R.Haore开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。 -
动态性
Java语言设计成适应于变化的环境,它是一个动态的语言。例如,Java中的类是根据需要载入的,甚至有些是通过网络获取的
Java历史
- 20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。
- 1992年的夏天,当Oak语言开发成功后,研究者们向硬件生产商进行演示了Green操作系统、Oak的程序设计语言、类库和其硬件,以说服他们使用Oak语言生产硬件芯片,但是,硬件生产商并未对此产生极大的热情。因为他们认为,在所有人对Oak语言还一无所知的情况下,就生产硬件产品的风险实在太大了,所以Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。
- 1994年6、7月间,在经历了一场历时三天的讨论之后,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克·诺顿写了一个小型万维网浏览器WebRunner
- 1995年,互联网的蓬勃发展给了Oak机会。业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。这个时候,Sun公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台,由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言,程序非常小,适合在网络上传输。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术),并将Oak更名为Java(在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java词语)。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。
- 1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器
- 1997年2月,JDK 1.1面世,在随后的3周时间里,达到了22万次的下载量。4月2日,Java One会议召开,参会者逾一万人,创当时全球同类会议规模之纪录。9月,Java Developer Connection社区成员超过10万。
- 1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机
- 2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,几周后其获得了Apple公司Mac OS X的工业标准的支持。2001年9月24日,J2EE1.3发布。2002年2月26日,J2SE1.4发布。自此Java的计算能力有了大幅提升,与J2SE1.3相比,其多了近62%的类和接口。2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0*(内部版本号1.5.0)*,代号为“Tiger”,Tiger包含了从1996年发布1.0版本以来的最重大的更新
- 2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME
- 2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改
- 2009年,甲骨文公司宣布收购Sun 。2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。2011年,甲骨文公司举行了全球性的活动,以庆祝Java7的推出,随后Java7正式发布。2014年,甲骨文公司发布了Java8正式版
Oak—Java—Java2—JavaSE5.0
JavaSE:Java Platform,Standard Edition(Java平台标准版):定位在个人计算机上
这个版本是Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口AWT及Swing,网络功能与国际化、图像处理能力以及输入输出支持等。在上世纪90年代末互联网上大放异彩的Applet也属于这个版本。Applet后来为Flash取代,Flash即将被HTML5取代。
JavaEE: Java Platform,Enterprise Edition(Java平台企业版):定位在服务器端的应用
JavaEE是JavaSE的扩展,增加了用于服务器开发的类库。如:JDBC是让程序员能直接在Java内使用的SQL的语法来访问数据库内的数据;Servlet能够延伸服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP是一种可以将Java程序代码内嵌在网页内的技术;
JavaME: Java Platform,Micro Edition(Java平台微型版):定位在消费性电子产品上
JavaME是JavaSE的内伸,包含J2SE的一部分核心类,也有自己的扩展类,增加了适合微小装置的类库:javax.microedition.io.*等。该版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。
1991年 Green项目,开发语言最初命名为Oak (橡树)
1994年,开发组意识到Oak 非常适合于互联网
1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
1998年,发布JDK 1.2,同年发布企业平台J2EE
1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
2009年,Oracle公司收购SUN,交易价格74亿美元
2011年,发布JDK 7.0
2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
2017年,发布JDK 9.0,最大限度实现模块化
2018年3月,发布JDK 10.0,版本号也称为18.3
2018年9月,发布JDK 11.0,版本号也称为18.9
Sun (公司的名字)
詹姆斯·高斯林 (技术老大)
给家用电器写一套通用的控制系统 (接的任务)
困境:C语言
- 通用性不高 (要针对不同的设备,写不同的代码)
- 团队内部人员,不太会C
Java跨平台原理
虚拟机技术
计算机高级语言的类型主要有编译型和解释型两种,而Java 语言是两种类型的结合。
Java首先利用文本编辑器编写 Java源程序,源文件的后缀名为.java;再利用编译器(javac)将源程序编译成字节码文件,字节码文件的后缀名为.class; 最后利用虚拟机(解释器,java)解释执行。
在不同的操作系统上安装不同版本的JVM(Java虚拟机)
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
不同平台的JVM是不同的,它们面向字节码文件的接口是相同的。JVM的不跨平台性实现了java语言的跨平台性。
只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
JDK: Java Development Kit(Java开发工具包)—— 给Java开发人员
JRE: Java Runtime Environment(Java运行时环境) —— 给Java程序的使用者
JVM: Java Virtual Machine(Java虚拟机)
Java开发环境搭建
下载、安装JDK
【官网】https://www.oracle.com/technetwork/java/javase/downloads/index.html
配置Path环境变量(java -version)
JDK中的javac.exe和java.exe
正确使用方式:在命令行中使用
打开命令行:Win + R,输入cmd,按回车
Command 命令 --> cmd
命令行去哪里查找javac.exe呢?
- 当前目录
- path环境变量中的所有路径(推荐)
采取方案:把javac.exe等开发工具所在的路径,添加到path环境变量中
- 右键计算机——>属性——>高级系统设置
- 单击环境变量按钮,进入环境变量操作主界面
- 单击新建按钮,新建JAVA_HOME变量(用于说明JDK的安装目录)
- 修改系统环境变量Path,在最前面追加%JAVA_HOME%\bin 并以;和原路径分隔。再增加:“.;”。这是表示当前目录的意思。
- 一般JDK1.5版本后可不用配置classpath,JRE会自动搜索当前路径下的类文件及相关jar文件但是为了在编译运行不出现问题,我们统一配置classpath,变量为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
CMD常用命令
- 切换盘符
- F: 切换到F盘
- d: 切换到D盘
- 切换目录
- cd xxx change directory
- cd… 切换到上一级目录
- cd\ 切换到盘符根目录
- 查看目录
- dir xxx directory 查看指定目录
- dir 查看当前目录
- 创建删除
- md 创建目录
- rm 删除目录
- del 删除文件
- 退出清屏
- exit 退出dos命令
- cls 清屏
Java开发工具
文本编辑器:记事本、editplus、notpad++、sublimtext
集成开发工具:
Eclipse:一个开放源代码的、基于Java的可扩展开发平台 。
NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。
IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。
MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境 。
HelloWorld
第一个程序
public class Hello{ // 类名 必须和 文件名相同
// 程序的入口
public static void main(String[] args){
// 向屏幕输出一句话(字符串)
System.out.println("Hello XD1808!"); // ln == line 换行符
}
}
注意:
-
Java最小的运行单位是类
-
class-关键字
-
类名,类的命名规范
首字母大写,多个单词时,后续单词首字母也大写,不允许用保留字
-
main-程序的入口,程序必须有main方法
-
语句使用";"作为结束(英文字符)
开发第一个java程序常见问题
-
javac编译问题问题
提示找不到.java文件- 源文件名不存在或者写错
- 当前路径错误
- 后缀名隐藏问题
-
java执行问题
提示找不到或无法加载主类- 类文件名写错,尤其文件名与类名不一致时,要小心
- 类文件不在当前路径下,或者不在classpath指定路径下
-
声明为public的类应与文件名一致,否知编译失败
提示类xxx是公开的,应在类名为xxx的文件中声明。 -
编译失败,注意错误出现的行数,再到源代码中指定位置改错
提示需要";"
Java程序开发步骤
- 通过文本编辑器中编写java代码,将文件名的后缀改为.java文件
- 调用javac.exe对.java文件进行编译,生成字节码文件(.class文件)
- 调用运行工具java.exe对.class文件进行解释执行
总结
1.所有的编程语言的最终目的都是提供一种“抽象”方法。抽象的层次越高,越接近人的思维。越接近人的思维,越容易使用。
2.越高级的语言越容易学习;当然,这只意味着容易入门;不意味着成为高手越容易,高手仍然需要修炼。
3.Java的核心优势:跨平台。跨平台是靠JVM(虚拟机)实现的。
4.Java各版本的含义:
JavaSE(Java Standard Edition)标准版,定位在个人计算机的应用。
JavaEE(Java Enterprise Edition)企业版,定位在服务器端的应用。
JavaME(Java Micro Edition)微型版,定位在消费电子产品的应用。
5.Java程序的开发运行过程为:编写代码、编译、解释运行。
6.JDK用于开发Java程序,JRE是Java运行环境; JVM是JRE的子集,JRE是JDK的子集。
7.JDK配置,需要新建JAVA_HOME环境变量;需要修改Path环境变量。
8.Java是面向对象的语言,所有代码必须位于类里面。main方法是Java应用程序的入口方法。
9.常见的Java集成开发环境有三个:eclipse、IntelliJ IDE、NetBeans。
10.学习编程最容易犯的错是语法错误。Java要求你必须按照语法规则编写代码。如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼 错了单词,java编译器都会报语法错误。尝试着去看懂编译器会报告的错误 信息
练习
一、选择题
-
以下( )不是Java的特点。(选择一项)
A.平台无关性
B.高可靠性和安全性
C.指针运算
D.分布式应用和多线程
-
以下选项中关于Java跨平台原理的说法正确的是( )。(选择二项)
A Java源程序要先编译成与平台无关的字节码文件(.class),然后字节码文件再被解释成机器码运行
B. Java语言只需要编译,不需要进行解释
C. Java虚拟机是运行Java字节码文件的虚拟计算机。不同平台的虚拟机是不同的
D. Java语言具有一次编译,到处运行的特点,可以在所有的平台上运行
-
以下选项中是对一个Java源文件进行正确编译的语句是( )(选择一项)
A. java Test
B. java Test.class
C. javac Test
D. javac Test.java
-
在Java中,源文件Test.java中包含如下代码,则程序编译运行的结果是( )。(选择一项)
`public class Test {`` ``public static void main(String[ ] args) {`` ``system.out.println("Hello!");`` ``}``}`
A 输出:Hello!
B. 编译出错,提示“无法解析system”
C. 运行正常,但没有输出任何内容
D. 运行时出现异常
-
有一段Java 程序,其中public类名是A1,那么保存它的源文件名可以是( )。(选择一项)
A. A1.java
B. A1.class
C. A1
D. 都不对
二、简答题
- 计算机语言发展史中的主线。
- Java的跨平台的实现原理。
- JDK、JRE、JVM 的区别和联系。
- Java程序的编写、编译、运行步骤
- 环境变量Path的作用和配置。
- Java语言的来源以及发展
- Java程序编写的规则
- 在配置环境、编译、运行各个步骤中常见的错误以及解决方法
三、上机操作
- 使用记事本编写第一个Java程序。
- 自我介绍
- 姓名:张三
- 性别:男
- 年龄:20
- 身高:
- 体重:
- 籍贯:。。
- 最喜欢的颜色:
- 兴趣爱好:。。。
- 使用记事本编写Java程序(重点练习打印语句System.out.println()),开发学生管理系统主菜单界面