第一章-java语言简介

第一节: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发展史

java.png
  • 1995年5月23日,Java语言诞生

  • 1996年1月,第一个JDK-JDK1.0诞生

  • 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发布

  • 1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME

  • 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运行环境的重要一环


jvm.png

二、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下载

安装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):
怎么实现跨平台的:因为不同的操作系统(平台)拥有不同的虚拟机。

Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
jvm.png

2.2.GC 垃圾回收器

1.系统开辟一个线程自动检测哪些对象不再被使用,然后将这些空闲的对象及资源进行回收。(c,c++需要手动回收)
2.在系统运行的时候,会自动去执行。我们人工无法精确的取控制和干预.

四、eclipse编译工具 使用

1.解压直接使用
2.第一次进来选择工作空间,就是存放代码的地方(建议放在D盘)
3.修改eclipse的编码方式(UTF-8:万国码,国标码:GB2312,GBK)
4.修改字体大小
5.新建项目
6.创建具体的java类
选中项目,然后先建class。然后设置class名称

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 姓名:周君会 学号:17011210526 转载自: http://www.jianshu.com/p/...
    lotus儿阅读 1,937评论 1 9
  • [toc] 第1章 Java平台概论 1.1 Java不止是语言 从1995年至今,Java已经过20个年头...
    默然说话_牟勇阅读 413评论 0 3
  • 菠萝 是甜的 苹果 是甜的 香蕉 是甜的 桂圆 也是甜的
    二货远哥阅读 103评论 0 0
  • 正所谓“考考考,老师的法宝;分分分,学生的命根。”这句话对于学生来说,是再熟悉不过的了,简直就是千古绝唱。...
    荷韵恩子阅读 472评论 0 0
  • 再次得到蒋义峰的消息是在他结束了五年军旅生活之后,我俩怕久别重逢气氛过于压抑,决定在一家迪吧碰面。周围的青年随着动...
    嘉悲阅读 341评论 0 1