第一章 JAVA概述
目录
前言
掌握java的发展历史,特点,跨平台原理,开发环境,首次运行
提示:以下是本篇文章正文内容,下面案例可供参考
一、JAVA语言发展历史
java生于SUN公司,09年被Oracle公司收购
JAVA之父是詹姆斯.高斯林(james Gosling)。
1996年发布1.0版本的jdk,大约有28年历史
目前最新版 :请关注www.Oracle.com
二、java语言特点
1.优点
面向对象:JAVA语言支持封装继承多态,面向对象编程,让程序更好达到"高内聚""低耦合"的标准
支持分布式:JAVA语言支持 Internet的应用开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段 .
健壮型:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
安全性高:Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
跨平台性:Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
2.缺点
语法过于复杂,严谨,对程序员的约束比较多,与python和php等相比入门相对较难。但是一旦学会了,就业岗位需求量大,而且薪资待遇节节攀升。
一般适用于大型网站开发,整个架构会比较重,对于初创公司开发和维护人员的成本比较高(即薪资高),选择用Java语言开发网站或应用系统的需要一定的经济实力。
Java语言跨平台原理
Java语言跨平台原理
Java虚拟机(JVM,Java Virtual Machine)它负责解释执行字节码指令集
Java虚拟机可以配置在MacOS,Windows(PC操作系统),Linux等上,但是不能配置在WP(Windows Phone),IOS(移动操作系统)上,只能配置在android(移动操作系统)。
****Java程序可以实现一次编译处处运行.
JVM、JRE、JDK的关系
-
JVM(Java Virtual Machine ):Java虚拟机,是运行所有Java程序的假想计算机,是Java程序的运行环境之一,也是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。
-
JRE (Java Runtime Environment) :是Java程序的运行时环境,包含
JVM
和运行时所需要的核心类库
。 -
JDK (Java Development's Kit):是Java程序开发工具包,包含
JRE
和开发人员使用的工具。
jdk(jre(jvm+核心类库)+开发工具)
jdk包含jre,jre包含jvm
三.Java语言开发环境
JDK的下载
-
下载网址:www.oracle.com
JDK的安装
-
安装步骤:
-
双击
jdk-8u202-windows-x64.exe
文件,并单击下一步
,如图所示: - 取消独立JRE的安装,单击
公共JRE前的下拉列表
,选择此功能将不可用
如图所示: -
- 修改安装路径,单击更改,如图所示:
将安装路径修改为D:\develop\Java\jdk1.8.0_202\
,并单击确定,如图所示:
单击下一步,如图所示:
稍后几秒,安装完成,如图所示:
目录结构,如图所示:
配置环境变量
为什么配置path?
希望在命令行使用javac.exe等工具时,任意目录下都可以找到这个工具所在的目录。
例如:我们在C:\Users\Irene目录下使用java命令,结果如下:
我们不可能每次使用java.exe,javac.exe等工具的时候都进入到JDK的安装目录下,太麻烦了。我们希望在任意目录下都可以使用JDK的bin目录的开发工具,因此我们需要告诉操作系统去哪里找这些开发工具,这就需要配置path环境变量。
配置 JAVA_HOME+Path
步骤:
-
打开桌面上的计算机,进入后在左侧找到
计算机
,单击鼠标右键
,选择属性
,如图所示:
选择高级系统设置
,如图所示:
在高级
选项卡,单击环境变量
,如图所示:
在系统变量
中,单击新建
,创建新的环境变量,如图所示:
变量名输入JAVA_HOME
,变量值输入安装路径 D:\develop\Java\jdk1.8.0_202
,并单击确定
,如图所示:
选中Path
环境变量,双击
或者点击编辑
,如图所示:
点击新建,键入%JAVA_HOME%\bin
,最后点击确定 。如图所示:
环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac
命令,运行成功。
为了使用方便,以下配置皆为系统变量
1.打开 计算机属性>高级系统设置>环境变量开始以下步骤
2.新建系统变量JAVA_HOME
3.JAVA_HOME变量值选择jdk所在文件夹,例如D:\Program Files\Java\jdk1.8.0_251
4.在Path环境添加%JAVA_HOME\bin%;(后面分号不能丢)
注意:%JAVA_HOME\bin%;中的JAVA_HOME也就是上面新建的系统变量,需要保持
一致
配置完成,重新打开cmd,在任意目录下执行java -version,如果显示jdk版本号则配置正确,否则失败,重新检查一遍。
如果将来你想更换jdk版本或者jdk目录发生改变,直接修改JAVA_HOME环境变量即可。
四.HelloWorld
开发说明
程序开发步骤说明
Java程序开发三步骤:编写、编译、运行。
编写Java源程序保存.java源文件
-
在电脑中目录新建文本文件,完整的文件名修改为
HelloWorld.java
,其中文件名为HelloWorld
,后缀名必须为.java。 -
用vscode文本编辑器打开(虽然是记事本也可以,但是不够没有关键字颜色标识,不利于初学者学习)
-
在文件中输入如下代码,并且保存
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
友情提示:
每个字母和符号必须与示例代码一模一样。
第一个HelloWord
源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件
编译成JVM可以看懂的字节码文件
,也就是.class文件。
3、编译Java源文件生成.class字节码文件
在DOS命令行中,进入 目录,使用javac
命令进行编译。
方式一:使用文件资源管理器打开目录,然后在地址栏输入cmd。
方式二:在vscode软件的文件菜单-->在集中终端中打开-->命令行
javac Java源文件名.后缀名
javac HelloWorld.java
编译成功后,命令行没有任何提示。打开目录,发现产生了一个新的文件 HelloWorld.class
,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。
运行Java程序
在DOS命令行中,在字节码文件目录下,使用java
命令进行运行。
java 主类名
java HelloWorld
五.常见错误
1书写错误
单词拼写问题
-
正确:class 错误:Class
-
正确:String 错误:string
-
正确:System 错误:system
-
正确:main 错误:mian Java语言是一门严格区分大小写的语言 标点符号使用问题
-
不能用中文符号,英文半角的标点符号(正确)
-
括号问题,成对出现
2Java程序的结构与格式
类{
方法{
语句;
}
}
格式:
(1)每一级缩进一个Tab键
(2){}的左半部分在行尾,右半部分单独一行,与和它成对的"{"的行首对齐
3、字符编码问题
当cmd命令行窗口的字符编码与.java源文件的字符编码不一致,如何解决?
在vscode编辑器中,修改源文件的字符编码.
在使用javac命令式,可以指定源文件的字符编码
javac -encoding utf-8 HelloWorld.java
4、大小写问题
(1)源文件名:
在Windows操作系统中.java的源文件名不区分大小写,我们建议大家养成区分大小写的习惯。
字节码文件名与类名 ,代码中 ,严格区分大小写
、源文件名与类名一致问题?
源文件名是否必须与类名一致?public呢?
如果这个类不是public,那么源文件名可以和类名不一致。但是不便于代码维护。
如果这个类是public,那么要求源文件名必须与类名一致。否则编译报错。
我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。
一个源文件中是否可以有多个类?public呢?
一个源文件中可以有多个类,编译后会生成多个.class字节码文件。
但是一个源文件只能有一个public的类。
main方法必须在public的类中吗?
不是。
但是后面写代码时,基本上main方法(主方法)习惯上都在public类中。
注意事项:
1.类名要和java文件名保持一致
2.程序中的标点符号必须是英文的
3.不要将main写成mian
4.System和String的首字母s要大写
5.每个单词写完来个空格增强代码的可读性
6.括号要一对一对的写
7.代码写完语句用;代表结束了,一句话来个分号,证明这是一个单独的语句
总结
"成功并不是终点,失败也不是终结,唯有勇气才是永恒。"