1.Java语言的背景
语言:人们互相沟通交流的表达方式。(自然界有属于各自沟通交流的方式)
计算机语言:人和计算机之间进行信息交流沟通的语言(人们想要表达的意志使得计算机能识别)。
java就是计算机语言当中的一种,它是美国sun公司在1995年推出的计算机语言。詹姆斯·高斯林被誉为java之父。
三个版本:
Java5.0:这是Java的第一个大版本更新。
Java8.0:这个是目前绝大数公司正在使用的版本。因为这个版本最为稳定。
Java15.0:这个是我们课程中学习的版本。
解惑:
我们学的跟工作中使用的版本不太一样啊。会不会影响以后工作呢?
向下兼容。新的版本只是在原有的基础上添加了一些新的功能而已。
举例:
用8版本开发的代码,用11版本能运行吗?必须可以的。
用11版本开发的代码,用8版本能运行吗?不一定。
如果11版本开发的代码,没有用到9~11的新特性,那么用8是可以运行的。
如果11版本开发的代码,用到了9~11的新特性,那么用8就无法运行了。
1.1 小插曲,大事件
2009 年,甲骨文(大名鼎鼎的Oracle是旗下的一款产品)斥资 74 亿美元收购了 Sun公司(收版权费)。
2010年8月甲骨文起诉谷歌,剑指Android,最终谷歌胜诉。
1.2 Java语言的三大平台
Java SE、Java ME、Java EE
1.2.1 Java SE
用于桌面应用开发,也是其它两版的基础(swing)
桌面应用的意思是指用户只要打开程序,程序的界面会让用户在很短的时间内找到自己需要的功能,帮用户更 快的完成工作和更好的使用体验。
1.2.2 Java ME
Java语言的小型版,用于嵌入式消费类电子设备或者小型移动设备的开发。其中最为主要的还是小型移动设备的 开发(手机)。渐渐的没落了,已经被安卓和IOS给替代了。但是,安卓也是可以用Java来开发的。
1.2.3 Java EE
用于Web方向的网站开发。(主要从事后台服务器的开发)
在服务器领域,Java是当之无愧的龙头老大。
1.3 Java的主要特性
面向对象
安全性
多线程
简单易用
开源
跨平台
2.Java语言跨平台的原理
平台:是指操作系统(windows/Mac/Linux)。
PC端:是指电脑
移动端:是指手机,平板、智能设备(手表)
跨平台:java程序可以在其它操作系统上运行。
跨平台的原理如图所示:
面试细节注意:DNS加速,负载均衡
JVM(虚拟机)本身是否可以跨平台?
答:JVM虚拟机本身不允许跨平台,允许跨平台的是java程序。
2.1 JRE和JDK
JVM(Java Virtual Machine),Java虚拟机
JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)
JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具
总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。
类:java程序的基本单位
类库:存放多个java类文件的仓库
2.1.1 java程序开发包含了三个步骤
编写源代码、编译源代码、运行代码
2.1.2 JRE和JDK和JVM的作用
1、编写代码时会用到 JRE中已经写好的java代码
2、编译代码时会用到 JDK中的编译工具
3、运行代码时会用到 JDK中的运行工具
4、代码运行在JVM中
2.1.3 JDK的安装目录介绍
目录名称 | 说明 |
bin | 该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。 |
conf | 该路径下存放了JDK的相关配置文件。 |
include | 该路径下存放了一些平台特定的头文件。 |
jmods | 该路径下存放了JDK的各种模块。 |
legal | 该路径下存放了JDK各模块的授权文档。 |
lib | 该路径下存放了JDK工具的一些补充JAR包。 |
3.HelloWorld小案例
HelloWorld案例是指在计算机屏幕上输出“HelloWorld”这行文字。各种计算机语言都习惯使用该案例作为第一个演示案例。
3.1 Java程序开发运行流程
开发Java程序,需要三个步骤:编写程序,编译程序,运行程序。
3.2 HelloWorld案例的编写
新建文本文档文件,修改名称为HelloWorld.java。
注意:后缀名为java的才是java文件。
用记事本打开HelloWorld.java文件,输写程序内容。
注意:代码要跟我编写的完全保持一致。
publicclassHelloWorld {
publicstaticvoidmain(String[] args) {
System.out.println("HelloWorld");
}
}
保存
注意:未保存的文件在左上角会有*符号标记
编译文件。编译后会产生一个class文件。
java文件:程序员自己编写的代码。
class文件:交给计算机执行的文件。
运行代码
注意:运行的是编译之后的class文件。
用到两个命令:
javac + 文件名 + 后缀名 (就是编译java文件)
java + 文件名(运行编译之后的class文件)
3.3 HelloWorld案例常见问题
3.3.1 BUG
在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。
3.3.2 BUG的解决
具备识别BUG的能力:多看
具备分析BUG的能力:多思考,多查资料
具备解决BUG的能力:多尝试,多总结
3.3.3 HelloWorld常见问题
1、非法字符问题。Java中的符号都是英文格式的。
2、大小写问题。Java语言对大小写敏感(区分大小写)。
3、在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件。
4、编译命令后的java文件名需要带文件后缀.java
5、运行命令后的class文件名(类名)不带文件后缀.class
常见错误代码1:
publicclassHelloWorld{
publicstaticvoidmain(String[] args){
System.out.println("HelloWorld");
}
}
问题:
public和class之间缺少一个空格。
技巧:一般来讲在单词之间的空格是不能省略的。
如果是单词和符号之间的空格是可以省略的。
常见错误代码2:
publicclassHelloWorld{
publicstaticvoidmain(String[] args){
system.out.println("HelloWorld");
}
}
问题:
system首字母必须大写。
技巧:
Java代码中,是严格区分大小写的。
所以该大写的地方一定要大写,该小写的地方一定要小写。多多练习。
常见错误代码3:
publicclassHelloWorld{
publicstaticvoidmain(String[] args){
System.out.println(HelloWorld);
}
}
问题:
第三行代码中的HelloWorld必须用双引号引起来,否则就会出现问题。
常见错误代码4:
publicclassHelloWorld{
publicstaticvoidmain(String[] args){
System.out.println("HelloWorld");
}
}
问题:
在以后代码当中,所有的标点符号必须是英文状态下的。
技巧:
可以在输入法中进行对应的设置。