java基础讲义
- 一 java语言
- 1.1 java语言介绍
- 1.1.1 什么是java
- 1.1.2 java之父
- 1.1.3 java语言发展史
- 1.2 java语言的特点
- 二 java环境搭建相关
- 2.1 Java环境介绍
- 2.1.1 虚拟机介绍
- 2.1.2 JVM介绍
- 2.2 Java跨平台
- 2.2.1 跨平台
- 2.2.2 跨平台原理
- 2.3 java运行过程
- 2.4 JDK、JRE、JVM关系图
- 2.4.1 JRE介绍
- 2.4.2 JDK介绍
- 2.5 JDK下载安装
- 2.5.1 JDK下载
- 三 java基础语法
- 3.1 关键字介绍
- 3.2 java注释
- 3.3 java标识符
- 四 常量
- 4.1 什么是常量
- 4.2 常量分类
- 4.3 案例
一 java语言
1.1 java语言介绍
1.1.1 什么是java
Java是一门面向对象编程语言,1995年诞生于Sun公司(Stanford University Network),在2009年被Oracle公司收购。
Java语言不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此 Java语言具有功能强大和简单易用两个特征。Java语言还拥有全球最大的软件开发团队和极其成熟的软件生态圈。
1.1.2 java之父
詹姆斯·高斯林(James Gosling)1955年5月19日出生于加拿大,1977年获得了加拿大卡尔加里大
学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,
设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和
Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。
2009年四月,Sun被Oracle公司并购。高斯林于2010年四月时宣布从Oracle司离职。
2011年3月29日,高斯林在个人博客上宣布将加入Google。
2011年8月30日,仅仅加入Google数月之后的高斯林就在个人博客上宣布离开Google,加盟一家从
事海洋机器人研究的创业公司Liquid Robotics,担任首席软件架构师。
在2011年5月建立的Scala公司Typesafe Inc.,高斯林被聘请为公司顾问。
1.1.3 java语言发展史
Java一开始的名称不叫Java而叫Oak,在申请注册商标时,发现Oak已经被人使用了,再想了一系列
名字之后,最终使用了提议者在喝一杯Java咖啡时无意提到的Java词语。
Java语言诞生于20世纪90年代,在1991年成立了一个称为Green的项目小组,这个小组由詹姆斯·
高斯林(James Gosling)领导在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,
专攻计算机在家电产品上的嵌入式应用。大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动
电话等)的智能化程度。
SUN公司介绍
成立到上市
Sun Microsystems是IT及互联网技术服务公司Sun Microsystems 创建于1982年。Sum和这个名字其
实是斯坦福大学校园网(Stanford University Network)的首字母缩写。主要产品是工作站及服务器。
1986年在美国成功上市。1992年sun推出了市场上第一台多处理器台式机SPARCstation 10 system,并
于1993年进入财富500强。
一年时间跌入低谷
2001年的sun公司,不仅人数规模、市场股值、办公面积远不能和八十年代相比(能人都走了,办公
楼也卖了,股票一落千丈),而且彻底退出了 IT 领域霸主之争。太阳公司从 1982 年成立到 2000 年达
到顶峰用了近二十年时间,而走下坡路只用了一年,足以令经营者为戒。
甲骨文(Oracle)收购
2009年4月20日甲骨文以现金收购Sun微系统公司,交易价格达74亿美元。该协议达成后,IBM公司
放弃了收购网络设备制造商。IBM公司此前表示愿意以每股9.40美元购买Sun公司的股票,但收购谈判破
裂后,IBM公司于2009年5月初取消独家谈判权,IBM并撤回其报价。
1.2 java语言的特点
简单性
语法简单快速上手、避免了复杂的指针、多继承等,java程序员无需手动内存管理且提供丰富的类
库等。
面向对象
支持面向对象的特点如:封装、继承、多态能让编写java程序拥有更多的复用性和灵活性,避免面向
过程思维所带来的编程复杂性。
分布式
Java包括支持HTTP和FTP等基于TCP/IP协议,针对网络协议进行封装让java应用访问网络对象时像
访问本地对象一样方便。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
健壮性
Java语言检查程序错误分为编译时错误和运行时错误,错误尽可能在编译期间检查发现,避免了运
行时发生。避免多继承、指针、手动内存管理等都是进一步避免不必要的问题发生。
安全性
Java 编译器和虚拟机强制实施的内置的语言安全特性:强大的数据类型管理、编译时检查、自动内
存管理、字节码验证、安全的类加载等。
可移植性
Java与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做
了明确的说明。例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数,32位整数,
也可能是编译器提供商指定的其他大小。在Java中对数据类型固定大小,具备良好的可移植性。
跨平台
Java程序(write once, run anywhere)号称一次编写到处运行,Java程序编译完成后可以在
Windows、Linux、MAC等系统运行。
高性能
Java程序字节码可以在运行时动态、快速、高效地翻译成对应运行这个应用特定CPU的机器语言。
多线程
Java语言支持多线程让程序可以分为多个小任务并发或并行执行,让程序可以有更好的交互性能和
实时控制性能。另一方面可以提高对CPU的利用率。
结构中立
Java的字节码实现了结构中立,与计算机结构无关。编译器生成一个体系结构中立的目标文件格式
(字节码),精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以迅速地翻译成本
地机器的代码。
动态性
Java的动态特性是其面向对象设计方法的拓展,它允许程序动态的装入运行过程中的所需要的类。
也可以通过网络来载入所需要的类有利于程序的扩展和升级。
二 java环境搭建相关
2.1 Java环境介绍
2.1.1 虚拟机介绍
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。简单的
理解就是虚拟出来的一台机器,你用的笔记本电脑就是一台真实的物理机,虚拟机都是建立在物理机的
操作系统之上,虚拟机就是一个软件。
2.1.2 JVM介绍
Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运
行环境。初学者可以简单的理解为JVM就是用来执行JAVA程序的,如果没有JVM开发好的java程序无法运行。
JVM是一种规范,可以采用硬件或软件方式来实现。如果是硬件方式实现,那么这台硬件计算机只
能执行java程序。如果采用软件方式实现,那么软件是安装在操作系统基础之上的,这台机器除了可以
执行java程序以外,还能够安装执行其他的软件程序。
2.2 Java跨平台
2.2.1 跨平台
Java程序(write once, run anywhere)号称一次编写到处运行,Java程序编写完成后可以在
Windows、Linux、MAC等系统运行。
平台:
跨平台的平台指的是操作系统。
2.2.2 跨平台原理
Java语言跨平台核心依赖的是JVM,在各个不同类型的操作系统安装对应操作系统版本的JVM即
可,JVM屏蔽了不同类型操作系统的差异性。
2.3 java运行过程
2.4 JDK、JRE、JVM关系图
2.4.1 JRE介绍
JRE(Java Runtime Environment)Java运行环境,包含JVM标准实现及Java核心类库,是java程序最
小运行环境。
JRE可以单独下载安装,如果想要运行一个编译好的Java程序,计算机中只需要安装JRE即可。
2.4.2 JDK介绍
JDK(Java Development Kit) Java语言开发工具包,包含了JRE和Java开发工具,工具包也是java语言
开发的java程序。如果安装了JDK就不用再安装JRE。
JDK包含JRE的目的:
1.使用工具开发好程序以后方便运行测试程序。
2.JDK目录下的bin目录下有很多的exe执行文件,这些exe文件都是JDK提供的一些工具,这些工具是
采用java语言编写的java程序,为了方便使用打包为exe文件,如果没有JRE,jdk所提供的工具也无法使
用。
2.5 JDK下载安装
2.5.1 JDK下载
官网地址: jdk下载
不做详细说明,可以参考其他下载安装的流程
超详细JDK下载与安装步骤
idea下载安装
三 java基础语法
3.1 关键字介绍
什么是关键字?
就是被java语言赋予特殊含义的单词。
关键字的特点
组成关键的字母都是小写。
常见关键字
class,public,static,void … 。
关键字注意事项
goto和const是java语言的保留字。
类似于editplus这样的高级文本编辑器对关键字都是有颜色变化的。
关键字列表
3.2 java注释
注释介绍
用于解释说明程序的文字,有利于程序调试、后期维护和扩展等。
初学者在开发时先写程序时,先写思路再写代码。代码里面既包含程序思路、程序解释、程序代码
等,程序思路和程序说明不属于程序执行的一部分,必须进行注释。
注释分类
单行注释
格式: // 注释的文字
多行注释
格式: /* 注释的文字 /
文档注释
格式: /* 注释的文字 */
//这是我开发的第一个java程序
class HelloWorld{
/*
main是一个主方法,是程序的入口
*/
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}
3.3 java标识符
什么是标识符
就是给类,接口,方法,变量,常量等起名字时使用的字符序列
字符序列:
多个字母组成
标识符的组成规则
英文的大小写字母(a-z,A-Z)
数字字符(0-9)
$和_
标识符注意事项
不能以数字开头
不能是java中的关键字
区分大小写
命名规则
项目名命名
全部小写
包名命名
全部小写
类名命名
//一个单词组成,单词首字母大写
//多个单词组成,每个单词首字母大写
//例如:
public class MyFirstClass{}
变量名、方法名命名
//一个单词组成,单词首字母小写
//多个单词组成,第一个单词首字母小写,后面的每个单词的首字母都要大写
//例如:
int index = 0 ;
public void toString(){}
常量名命名
/*一个单词组成,单词所有字母大写
多个单词组成,单词所有字母大写,多个单词用下划线分开。
例如:*/
public static final String GAME_COLOR = "RED";
四 常量
4.1 什么是常量
在程序运行过程中其值不会发生改变的数据就是常量。
程序运行过程:
运行时间
运行次数
4.2 常量分类
4.3 案例
public class ConstantDemo {
public static void main(String[] args){
//输出整数常量
System.out.println(12345);
//输出小数常量
System.out.println(3.14);
//输出字符常量
System.out.println('A');
//输出布尔常量
System.out.println(true);
//输出字符串常量
System.out.println("HelloWorld!");
}
}