章节列表

Java 概述

  • Java的发展历史
  • 计算机语言的发展过程
  • Java语言的特点
  • Java平台的划分
  • Windows下开发环境的搭建
  • DOS常用命令
  • Mac 平台下开发环境搭建
  • mac 终端 常用命令
  • 第一个Java程序
  • 初学者常见错误
  • classpath设置
  • 类和对象简介
  • 使用帮助文档
  • 在Windows下面配置sublime ja...
  • 在Mac下面配置sublime java开发环境
  • 标识符、关键字、数据类型

  • 标识符
  • 分隔符
  • 关键字
  • Java命名规范
  • 注释
  • 变量、常量、字面量
  • Java数据类型
  • 数据类型字面量
  • Java类型转换
  • Java运算符和表达式

  • Java赋值运算
  • Java算术运算
  • Java自增自减
  • Java关系运算
  • Java三元运算
  • Java逻辑运算
  • Java位运算
  • Java优先级和结合性
  • Java流程控制

  • 程序的执行顺序
  • Java判断if
  • Java if else语句
  • Java if else if
  • Java switch
  • Java for 循环
  • Java while do while循环
  • Java数组

  • 数组的声明和初始化
  • Java数组赋值与内存分析
  • 冒泡排序
  • 选择排序
  • 插入排序
  • 快速排序
  • 直接查找
  • 二分查找
  • Arrays数组工具类
  • Java类和对象

  • 面向对象简介
  • 类和对象的语法
  • Java方法
  • 属性、实例变量、局部变量
  • 类之间的关系
  • java构造方法
  • java this关键字
  • java static关键字
  • java单例设计模式
  • 值传递和引用传递
  • 垃圾回收和内存分析
  • package和import
  • java访问控制
  • Java 继承

  • Java 继承简介
  • Java子类继承父类的成员变量
  • java子类继承父类的方法
  • Java继承构造方法
  • java super关键字
  • java 继承关系的内存分配
  • java抽象方法和抽象类
  • java final的用法
  • java Object类
  • Java接口和内部类

  • 接口的定义
  • java接口的实现和继承
  • 接口的特点
  • java接口和抽象类
  • java属性内部类
  • java 静态内部类
  • 局部内部类
  • 匿名内部类
  • java多态

  • java多态简介
  • java引用类型的类型转换
  • java方法的动态绑定
  • java多态
  • OCP设计原则
  • Eclipse的使用

  • Eclipse简介
  • 项目、文件、资源管理
  • Java开发中的项目管理
  • Java开发中的文件管理
  • Java编辑器
  • Java异常

  • java异常简介
  • java异常分类
  • java异常的块结构
  • java异常处理
  • java自定义异常
  • Java集合框架

  • java数据结构和算法
  • java集合概述
  • List接口及其实现类
  • Set接口及其实现类
  • Map接口及其实现类
  • java集合的常用算法
  • Java输入输出

  • Java文件操作
  • Java I/O 概述
  • Java文件流
  • Java缓冲流
  • Java转换流
  • Java打印流
  • Java 数据流
  • Java文件随机访问
  • Java对象流
  • Java泛型编程

  • Java泛型编程概述
  • Java泛型类
  • Java泛型方法
  • Java类型变量的限定
  • Java泛型代码和虚拟机
  • Java泛型的约束和局限性
  • Java泛型类型的继承规则
  • Java通配符类型
  • Java多线程

  • java线程简介
  • Java线程的创建
  • Java线程的启动、停止和中断
  • Java线程的状态
  • Java线程的控制方法
  • Java线程的同步
  • Java线程死锁
  • Java线程间通信
  • Java 线程API Timer和Timer...
  • Java反射机制

  • Java反射机制简介
  • Java创建松耦合、基于配置的程序
  • Java 构造方法反射
  • Java 字段反射
  • Java方法反射
  • Java正则表达式

  • Java正则表达式简介
  • Java正则表达式API
  • Java正则表达式语法
  • Java正则表达式实例
  • Java与XML

  • XML简介
  • XML文档解析
  • XML文档验证
  • 使用XPath来定位XML
  • XML命名空间
  • Java常见API类库

  • Java基本类型封装类
  • Runtime
  • System
  • Date Canlendar
  • Math
  • Random
  • Java的发展历史


    Java语言简介

    Java起源于20世纪90年代初Sun公司的一个叫Green的项目,该项目的目标是开发嵌入家用电器的分布式软件系统,使电器更加智能化。 项目小组成员皆为C++的高手,于是采用C++进行系统开发,但在开发过程中发现了很多问题,如C++语言过于复杂、安全性差等。 于是项目小组只好另辟蹊径,在遵循“简单、可靠、紧凑且易于移植的”的框架内,开发了一个小型的计算机语言Java,用于编写电子产品中的程序。

    刚才我们谈到Java是在C语言和C++基础之上,发展起来的一门完全面向对象的编程语言。 在这里我们要强调三点,第一是C语言,第二是C++,第三是完全面向对象, 有了C语言和C++语言,为什么还要开发Java语言呢? 当然就是他们都有各自的缺点,首先,C语言是面向过程的,所有的程序都由函数构成,不利于大型项目的模块划分。 而C++也是在C语言基础之上发展起来的,兼容C语言,既有面向过程的特性,也有面向对象的特性,其显著缺点就是过于复杂、不便于移植。

    比如:科技公司谷歌在使用C++编写程序时,开发团队都要制定使用规范,规定要使用C++里面的那些部分,不使用那些部分,这些都有明确的说明。可见C++是非常复杂的一门语言。

    那么,Java语言是在C和C++基础之上发展起来的, 可以说他站在了巨人的肩膀上。 同时具备c语言和c++的优点,也摒弃了他们当中的很多缺点。 例如:指针的使用、内存管理、C++过于复杂等缺点。

    Java语言有很多优点,例如:完全面向对象、简单、跨平台、自动内存管理、不直接使用指针等等。 当然Java语言也有自身的缺点,最显著的缺点就是,比C和C++慢一些,这是由于跨平台的特性,程序在自身虚拟机中运行,后面我们会详细讲述。

    Java的应用领域

    Java的应用领域大致分为三个方向:

    1. WEB(网站或者网络)应用

    1)Java企业应用,银行(建行、工行、农行)、证券以及通信领域(电信、移动、联通、网通),大部分都使用Java来编程。 2)大型网站,例如:电商平台阿里巴巴、淘宝、京东,社交网站:Facebook、新浪微博、微信,门户网站:网易、新浪、腾讯等等。 3)电子政务,例如:如:OA、CRM、MIS也都使用Java来编写; 如果你想从事Java WEB开发,就需要学好Java基础了。

    2. Java 移动及游戏应用

    由于Java跨平台特性,在早期一些移动和游戏应用都是由Java来编写的,其中有一个版本或者叫做平台JavaME,也就是Java 微型版,专门针对Java移动和游戏领域编程, 当然,随着移动平台的不断变革,现在主流的移动平台 Android 和 iOS 占领了大部分移动操作系统市场,现在Java在移动领域的主要应用是安卓Android开发,如果你想从事Android开发,必须从现在起打好基础。

    3. Java 桌面应用

    应用比较少,就是一些C/S结构的桌面应用。比如:编写一个Java版的QQ或者office办公软件,这就属于Java的桌面应用了。

    Java的发展过程

    1991年  Sun公司成立Green项目。Oak语言诞生,当时还没有叫Java。

    1992年  18个月后,第一个成果是可触摸控制的手持家庭娱乐设备控制器,名为*7(star seven)。Sun公司为Green项目成立First Person公司

    1993年  First Person公司重定位Oak。转向到网络应用领域(背景:WWW开始席卷全球)

    1994年  Oak技术包括源代码全部免费公开。Oak开发出网络浏览器Webrunner,后更名为Hotjava。Oak编写的Applet让网页由静态转成动态

    1995年  Oak注册登记时,发现该名已被占用,遂更名为Java。First Person公司解散。Java当年被评为十大优秀科技产品之一。JDK1.0a2版本正式对外发布

    1996年  Sun成立Javasoft分公司来发展Java。Netscape支持Java。IBM、Symantec、Inprise、Microsoft IE支持Java。

    1997年  JDK 1.1(Java Development Kit) 发布

    1998年  JDK 1.2发布,JDK更名为J2SDK(Java 2 Software Development Kit)。J2SDK 1.2又名Java 2,并将Java的应用细分为三个平台即:J2SE/J2EE/J2ME 后面我们会讲到。

    2000年  J2SDK 1.3发布

    2002年  J2SDK 1.4发布

    2004年  J2SDK 1.5发布,从1.5之后,Java使用的新的命名规范及Java 5.0

    目前Java的最高版本是Java 9

    和Java相关的几件事情

    当你进入Java领域进行编程时,你经常会听到这样一些声音,比如:SUN公司、Oracle公司、JDK、JRE、Java和咖啡有啥关系、Eclipse、JavaEE、Android等等。

    SUN公司

    SUN是斯坦福大学校园网(Stanford University Network)的首字母缩写,创建于1982年。主要产品是工作站及服务器。1995年Sun 开发了Java语言。最辉煌时曾和Google、IBM、微软等公司齐名。

    Oracle公司

    主要产品是Oracle数据库,中文名称是甲骨文,2009年4月20日甲骨文以现金收购Sun公司,交易价格74亿美元。SUN宣告结束。现在的Java隶属于Oracle公司。

    JDK (Java Development Kit) 的缩写,是 Java 语言的软件开发工具包,包括Java的编译器、解释器、类库、源码、文档等。

    JRE 为Java Runtime Environment的简称,是安装在Java生产环境中的Java运行环境。

    Java环境变量

    当我们在系统某个目录下执行某个可执行程序时,系统首先会在当前目录下面去寻找是否有该程序,如果没有会到设置好的环境变量中去找,如果这两个地方都没有,系统就会报错。我们在开发Java程序时,开始都是在命令行执行Java程序,经常在不同的目录下执行Java编译程序javac和java解释程序java,为了方便在任意系统下面都能找到他们我们需要去设置环境变量。

    Java 虚拟机 JVM,Java是一个跨平台的语言,在每个平台下面都有对应的虚拟机,我们写好的程序运行在这些虚拟机里面,从而达到跨平台的效果。

    JavaSE、JavaEE、JavaME,Java是个庞大的生态系统,其自身可以分为Java标准版Java Standard Edition,简称JavaSE。企业版,Java Enterprise Edition和Java微型版 ,简称Java Micro Edition。企业版和微型版都是建立在标准版基础之上的。JavaSE主要是Java基础类库,可以完成一些桌面应用,企业版主要是实现Java WEB 分布式企业应用。微型版主要是手持移动设备开发,目前已经被淘汰。

    Eclipse,IBM开发的一个开源集成开发环境,早期主要针对Java,现在可以开发C++、php等等…,Eclipse意思是日食的意思,当年IBM和SUN公 司竞争,IBM有意遮挡太阳的光芒吧!:)

    Java与咖啡的关系,Java最早其实不叫Java,叫Ork橡树的意思,后来注册时发现Ork已经被注册,一位爱喝咖啡的工程师给他起了一个名字Java,Java是一个盛产咖啡的地方叫爪哇岛的谐音。

    Java与Android的关系,Android系统本身是非常复杂的,包含了操作系统Linux、中间层C++,以及上层应用接口Java,我们做的App开发其实是在搞Android中最容易的部分,因为上层应用是通过Java开发的,所以在学习Android之前需要有牢固的Java基础。

    本课程包含19章,共计136个小节课程。内容涵盖:Java 概述、标识符、关键字、数据类型、Java运算符和表达式、Java流程控制、Java数组、 Java类和对象、Java 继承、Java接口和内部类、java多态、Eclipse的使用、Java异常、Java集合框架、Java输入输出、Java泛型编程、Java多线程、 Java反射机制、Java正则表达式、Java与XML、Java常见API类库。

    评价

    田野  2020-03-30: 04:03
    好听的声音,牛掰的技术~
    卢云  2020-03-30: 04:03
    疫情期间,不能上课,马上要毕业了,都在上网课,课程是老师推荐的,挺好的。
    陆佳豪  2020-01-10: 12:01
    老师把知识从怎么使用到原理一步一步地深入剖析,拓展应用场景。让你学习到怎么应用,还学会为什么要这么用。老师的思路清晰,把各个知识点串联起来,跟着老师的思路系统学习,少走很多弯路。教学风格风趣幽默,小白也很容易听得懂。这个课程绝对超值。