前言:
在学习Java前,我们需要先对Java的历史,以及其发展状况进行初步的理解。
Java
Java是一门面向对象编程的语言,其不仅吸收了C++语言的优点,还去掉了C++中让人感到烦躁,难以理解的多指针,多继承等等概念,因此Java语言有简单易用和功能强大的两个特性。Java以面向对象为理论,允许程序员能更加专注与业务逻辑,也不用考虑函数的复杂。
Java具有简单性,面向对象,可移植性,多线程,动态性等特点。
(Java平台标准版( Java SE)允许您在桌面和服务器上开发和部署Java应用程序。Java提供了当今应用程序所需的丰富用户界面,性能,多功能性,可移植性和安全性。)
Java最新版本到现在为止已经发行到Java SE 12.0.2版本了,不过因在JavaSE 10版本以上,Java在面向对象等方面进行了一定的更新,其为了适应云计算等新技术,其学习难度,以及逻辑上都不方便初学者学习,因此我以JavaSE 8.0版本来讲述我在学习Java过程中的遇到的难题与知识。
Java发展历程
20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。。。。
2009年,甲骨文公司宣布收购Sun 。2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。2011年,甲骨文公司举行了全球性的活动,以庆祝Java7的推出,随后Java7正式发布。2014年,甲骨文公司发布了Java8正式版。
以上发展历程内容来自百度百科(https://baike.baidu.com/item/Java/85979?fr=aladdin)需要详细了解可以上百度百科自行了解。
计算机语言发展
学习网站
oracle官网:http://www.oracle.com
IBM:http://www.ibm.com/developerWorks/cn/
开源大全:http://www.open-open.com/
这几个网站都是国外网站,可能会比较慢。
Java流行原因
在互联网的爆发的时期,当时在计算机界急需一种能够解决硬件和软件的兼容性问题的一款语言,恰好Java因其核心优势就是跨平台,(Java将程序编译成字节码文件,使得任何一台计算机只要拥有Java虚拟机就可以运行程序。)这使得Java在世界快速流行起来,同时Java还因其开源的特性,保密性(程序员只需将字节码文件给客户,不需要将源代码展示给客户看,在这过程中对程序拥有一定的保密性),这些特性使得Java在互联网商业模式下得到快速发展,到现在为止,Java依然在世界计算机语言中占有重要的地位。
跨平台的实现方式
源文件---------编译--------->字节码文件-------解析操作---------->Windows,mac,uniux
- 一次编译,到处运行
- 编译器的作用:将源文件转化为class(字节码文件)
- 虚拟机的作用:解析并运行字节码文件
- Java不可以直接跨平台,只能跨所以拥有虚拟机的平台
JDK的安装
所谓的jdk:
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
JDK安装中没有什么可以特别注意的,不会在网上找找就能看到很多安装教程
其中,只有JDK的环境变量配置需要稍微注意一下。
环境变量
计算机->右键属性->高级系统设置
[1]JAVA_HOME:告知第三方依赖jvm的软件这个平台jdk安装的位置。
指定jdk安装的目录(…例如:F:\Java\jdk_1.8.161)
这里最好建议在盘符下开辟一个专门的文件夹安装软件。特别是在安装目录中不要出现中文。
[2]Path:告知终端在什么地方找用户输入的命令。
[3]classpath
在1.5以上的版本,classpath是不需要用户自行配置了。
Java程序编写
我们先以notepad++.exe,来编写Java程序,在控制台上打印出来。
public class Hello{
public static void main (String[] args){
System.out.println("hello world");
}
}
public class | 表示一个公共类 |
---|---|
Hello{} | Hello是类名,类名一定要大写。文件的保存名称一定要和类名保持一致 |
public static | 类的静态方法 |
void | 方法返回值 |
main | 方法名称,任何类都是从main方法开始执行 |
String[] args | 方法参数 |
System.out.println | 控制台的输出 |
“hello world” | 双引号内容会被原样输出 |
编译:
javac hello.java
运行:
java hello
(不需要加.class后缀)
存在问题
- Java对大小写敏感
- Java以;为结尾
- 括号等符号一定要成对出现
注释的三种方式
- 单行注释 // 注释内容
- 多行注释
- 文档注释
/*
注释内容
*/
/**
* 注释内容
..
*/
转义字符
控制不能直接输出的字符,都需要用转义字符 () 转义
转义字符可以直接存在与字符串中
转义符 | 含义 |
---|---|
\n | 换行 |
\t | 制表符 |
\ | 表示反斜杠 |
" | 表示一个双引号" |