第一节:java语言概述
一、java简介[了解]
1.java概述
1.1java是什么?
学习之前需要了解,java是什么。java是sun公司推出的面向对象程序设计语言,特别适用于Interent应用程序开发,它的最大特点就是“一次编译,到处运行”,并且能够在各种操作系统上运行,例如:windows,linux等。
1.2java名称的由来
Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。Java自1995诞生,至今已经20多年的历史。
1.3为什么学习java?
java可以说是无处不在,其市场占有率也在不断攀升。他已经吸收了全球最大的开发者队伍---500W+开发者这是全球最大最具活力的开发团队。
目前采用java的设备已经超过45亿,其中报告8亿台个人计算机、15亿部移动电话及其其他手持设备、22亿智能卡,以及机顶盒、打印机、网络照相机、游戏、汽车导航系统、彩票终端、医疗设备、收费站等。
以下是最新的编程语言排行榜:
2019年03月编程语言排行榜TOP 10 榜单
https://hellogithub.com/report/tiobe/?url=/
排名 | 编程语言 | 流行度 | 对比上月 | 年度明星语言 |
---|---|---|---|---|
1 | Java | 14.880% | 0.996% | 2015, 2005 |
2 | C | 13.305% | 0.881% | 2017, 2008 |
3 | Python | 8.262% | 0.688% | 2010, 2007, 2018 |
4 | C++ | 8.126% | 0.682% | 2003 |
5 | Visual Basic .NET | 6.429% | 0.666% | |
6 | C# | 3.267% | 0.421% | |
7 | JavaScript | 2.426% | 0.422% | 2014 |
8 | PHP | 2.420% | 0.149% | 2004 |
9 | SQL | 1.926% | 0.026% | |
10 | Objective-C | 1.681% | 0.234% | 2012, 2011 |
2.java发展史
1995年5月23日,Java语言诞生
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
1996年9月,约8.3万个网页应用了JAVA技术来制作
1997年2月18日,JDK1.1发布
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997年9月,JavaDeveloperConnection社区成员超过十万
1998年2月,JDK1.1被下载超过2,000,000次
1998年12月8日,JAVA2企业平台J2EE发布
2000年5月8日,JDK1.3发布
2000年5月29日,JDK1.4发布
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
2001年9月24日,J2EE1.3发布
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME
2006年12月,SUN公司发布JRE6.0
2009年4月20日,Oracle以74亿美元收购Sun公司,取得了java的版权。
2009年12月,SUN公司发布Java EE 6
2010年11月,由于Oracle公司对于Java社群的不友善,因此Apache扬言将退出JCP
java之父James Gosling 加盟google
2011年7月28日,Oracle公司发布Java SE 7
2014年3月18日,Oracle公司发表Java SE 8
2017年9月21日,Oracle公司发表Java SE 9
2018年3月21日,Oracle公司发表Java SE 10
-
2018年9月25日,Java SE 11发布
3.Java语言特点
java语言丰富多彩, 通过这11个词语来概括java语言的特性,下面来看下每个词语所代表的含义,大概了解下就可以了。
1.简单的(Simple)
风格和C++很像,基本语法和C很像,但是摒弃了C++容易引发错误的地方,如指针、内存管理、头文件等。提供了丰富的类库。
2.面向对象(Object-Oriented)
简单的来说,世界万物皆是对象,它将重点放在了数据(也就是对象)和对象的接口上。
3.分布式的(Distributed)
Java是针对Internet的分布式环境而设计的,所以它包含了一个支持HTTP和FTP等基于TCP/IP协议的子库,它能处理TCP/IP协议
4.解释的(Interpreted)
Java解释器可以在任何移植了解释器的机器上Java字节码。现在使用即时编译器将字节码翻译成机器码。
5.健壮的(Robust)
Java是强制类型的语言,它不仅在运行时检查代码,还在编译时就检查代码,消除有出错倾向的状态。
6.安全性(Secure)
指针和释放内存等C++功能被删除,避免了非法内存操作。
7.结构中立的(Architecture-neutral)
编译器生成一个体系结构中立的高层次的与机器无关的byte-code格式语言,被设计在Java虚拟机上运行。这是一种编译过的代码,只要有Java运行时系统,就可以在许多处理机上运行。
8.可移植的(Portable)
Java定义了独立于平台的基本数据类型及其运算。
9.高性能的(High-Performance)
Java通过使用及时编译器,可以很容易的将字节码转换为运行这个应用程序的特定CPU的机器码。
10.多线程的(Multi-Threaded)
多线程可以提供更好的交互性能和实时控制性能。
11.动态的(Dynamic)
Java的动态性是其面向对象设计方法的拓展,它允许程序动态地装入运行过程中所需要的类。
其中可以简单的概括为以下三个重要的特点:
特点一:面向对象
两个基本概念:类、对象
三大特性:封装、继承、多态
特点二:健壮性
吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分。如:指针、内存的申请与释放等
特点三:跨平台性
跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。
原理:
只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。 由JVM来负责Java程序在该系统中的运行。
4.java语言的构成
所谓java的构成,就是值java运行环境的组成,从核心到外围包括 JIT、JVM、JRE、JDK,四种区别如下:
JDK:是Java Develop ToolKit的缩写,它里面有很多java所编写的开发工具(如:javac.exe、jar.exe),还包括了一个jre的调试环境。
JRE:是Java Runtime Environment的缩写,是java运行的基础,
它提供了java运行的API,Java程序必须有JRE才能正常运行。JVM:是Java Vitual Machine的缩写,它是java运行的虚拟机环境.
JIT:是Java In Time的缩写,即java即时编译器,是JVM的一部分,属于内核部分。
其中的JVM是java运行的虚拟机环境,它是Java运行环境的重要一环
二、java快速入门[重点]
2.1.基础常识
人机交互方式:
现实生活中,软件的主要作用就是帮忙我们解决现实生活中的问题。例如百度提供了搜索能力,淘宝、京东提供了购物的能力。但是具体搜什么和具体买什么,得取决于我们自己告诉了软件什么样的指令,所以这里存在 人和软件进行交互的问题。一般交互主要分为以下两种情况:
图形化界面(GraphicalUser Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。但是一般后期会使用大量的命令。尤其linux操作系统下。目前只需要记住以下常用的基本命令即可。
常用的DOS命令:
dir(directory) : 列出当前目录下的文件以及文件夹
md(make directory) : 创建目录
rd(remove directory) : 删除目录
cd(change directory): 进入指定目录
cd.. : 退回到上一级目录
cd \: 退回到根目录
exit : 退出 dos 命令行
2.2什么是计算机语言
语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。
计算机语言(编程语言):人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C,C++,Java,PHP等。
2.3编写第一个 Java应用程序
实现步骤:
1.什么是JDK, JRE
2.下载及安装 JDK
3.编写第一个 Java 应用程序
a.显示已知文件类型的扩展名
b.配置环境变量 path
c.main 方法和输出语句
d.注释
e.其它细节
2.3.1 什么是JDK, JRE
简单而言,使用 JDK 的提供的开发工具完成 java 程序的开发,使用 JRE 运行开发好的 Java 应用程序。
JDK(Java Development Kit Java开发工具包):JDK是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了
JRE(Java Runtime Environment Java运行环境) :包括Java虚拟机(JVM:Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK包含了JRE,JRE包含了JVM.
2.3.2 下载及安装 JDK
下载: 官方网址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html、
安装JDK:
- 傻瓜式安装,下一步即可。
- 建议:安装路径不要有中文或者特殊符号如空格等。
- 当提示安装 JRE 时,可以选择不安装。
默认安装路径: C:\Program Files\Java
2.3.3配置环境变量:
第一步:打开-计算机-属性-高级系统设置-环境变量-系统变量
第二步:进行配置(JAVA_HOME,PATH,CLASSPATH)
- a.JAVA_HOME:另似给jdk全路径取一个别名。然后使用的时候直接使用别名
- b.PATH:通过PATH,在DOS命令行找到对应的命令。java javac
- c.CLASSPATH:JDK1.5之后,可以选择性安装,建议安装。最前面一定要配置一个.(点)
参考配置如下:
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_73
PATH = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
2.3.4 显示已知文件的扩展名
查看本地地方文件夹
2.3.5编写源代码
- 1.创建文本文件修改后缀为.java;例如:HelloWrold.java
- 2.文件名必须和源代码中的class类名保持一致
//HelloWorld由于被public 修饰,所有必须和文件名保持一致
public class HelloWorld{
//程序的入口
public static void main(String[] args){
//打印信息到控制台
System.out.println("hello bj1901.....");
}
}
3.具体细节如下:
- main的方法:
Java应用程序的执行入口是main()方法。它有固定的书写格式:
public static void main(String[] args) {...}
如果没有 main 方法则在运行时会抛出如下异常
java.lang.NoSuchMethodError:main】 - 想要和JVM来个互动,只要在main方法中加入一句System.out.println(“Hello World”);
- 一个 Java 源文件中最多只能有一个 public 类。其它类的个数不限,
如果源文件文件包含一个 public 类,它必 须是该类名命名。 - Java 语言严格区分大小写。
- Java方法由一条条语句构成,每个语句以分号结束。
4.java注释
注释:用于解释说明程序的文字、提高了代码的阅读性
Java中的注释类型:
- 单行注释
- 多行注释
- 文档注释(java 特有)
注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现
单行注释
格式: //注释文字
多行注释
格式: /* 注释文字 */
对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。多行注释里面不允许有多行注释嵌套。
2.3.6 编译
java提供了javac命令用于编译:
编译HelloWorld.java文件,编译成功会生成HelloWorld.class文件
- javac HelloWorld.java
运行
- java HelloWorld
4.4案例
public class Test01{
public static void main(String [] args){
System.out.println("-------------------------");
//注释:是一个制表符 tab键
System.out.println("\t欢迎光临家乐福西乡店");
System.out.println("机:15 \t 人:1082 \t 单:7596");
System.out.println("\t\t\t\t\tRMB");
System.out.println("商品号\t110 清风抽取式面纸 \t\t25.30");
System.out.println("商品号\t111 统一方便面 \t\t12.56");
System.out.println("-------------------------");
System.out.println("总价\t\t\t\t\t37.86");
System.out.println("-------------------------");
}
}
4.5 练习
开发出如下界面:
练习1:
**********************************
魔法饰品分发系统
1.登录系统
2.退出
**********************************
请选择输入数字:
练习2:
魔法饰品分发系统
**********************************
1.账号信息管理
2.购物结算
3.装备返点
4.注销
***********************************
请选择输入数字:
三、java语言的运行机制
1.JVM(java虚拟机)
2.GC(垃圾回收器)
2.1 JVM
概念:JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器
java是跨平台的语言(windows,linux,mac):
怎么实现跨平台的:因为不同的操作系统(平台)拥有不同的虚拟机。
2.2.GC 垃圾回收器
1.系统开辟一个线程自动检测哪些对象不再被使用,然后将这些空闲的对象及资源进行回收。(c,c++需要手动回收)
2.在系统运行的时候,会自动去执行。我们人工无法精确的取控制和干预.
四、eclipse编译工具 使用
1.解压直接使用
2.第一次进来选择工作空间,就是存放代码的地方(建议放在D盘)
3.修改eclipse的编码方式(UTF-8:万国码,国标码:GB2312,GBK)
4.修改字体大小
5.新建项目
6.创建具体的java类
选中项目,然后先建class。然后设置class名称