ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

GitHub标星128K:Java程序设计基于JDK11零基础学Java笔记

2020-12-01 14:29:24  阅读:167  来源: 互联网

标签:GitHub Java 本章 标星 程序包 程序 数据流 程序设计


Java语言从诞生之后就魅力不减,软件从业者和硬件制造者竞相采用Java语言编写主要的控制程序或应用程序,许多大专院校纷纷开设Java的基础课程及应用专题。市面上关于Java程序设计的图书琳琅满目,引进翻译的Java图书大部分只注重Java编程理论的讲解,在范例程序的解析上稍显不足。对初学者而言,这类书缺乏上机编程的实践指导,初学者很少有实际演练的机会。国内编著的Java书则在实践方面着墨甚多,以实践来引导概念的理解,注重范例程序的质与量。

 

程序设计的过程就是一种计算思维的表现,本书结合Java程序设计语言的教学特点,遵循计算思维的方式,图解重要概念,通过大量的范例程序讲解和上机编程实践来指导读者活用Java程序语法,兼顾培养计算思维和学习面向对象程序设计的双目标。

本书特点:

阿里强推:Java程序设计基于JDK11零基础学Java笔记

由于文章篇幅原因,本文以知识点+章节目录+截图的方式展示给大家,如需完整PDF的朋友可以“一键三连后”,加我VX小助理即可免费获取到!

内容章节

本书分为18章,内容包括:认识计算思维与Java程序设计、Java语言及其JDK 11、Java程序结构解析、Java语言的数据类型、流程控制、类与对象、继承与多态、抽象类、接口、程序包、嵌套类、常用类、窗口环境与事件处理、Swing程序包、绘图与多媒体、例外处理、数据流的V/O控制、集合对象与泛型、多线程、网络程序设计等。

第1章计算思维与Java设计初步体验

计算机((Computer)堪称是20世纪以来人类最伟大的发明之一,对于人类的影响更甚于工业革命所带来的冲击。计算机是一种具备数据处理与计算功能的电子设备。在1946年,美国宾州大学教授埃克特与莫西利合作完成了人类第一台真空电子管计算机ENIAC。而在1945年,冯·诺依曼教授首先提出了计算机存储程序的运行方式与二进制的概念,认为数据与程序可以存储在计算机的存储器再投入运行,于是拉开了程序设计语言与程序设计蓬勃发展的序幕。自从人类发明计算机,计算机就渗透到人类生活的各个领域。如图1-1所示的是计算机运用于工厂生产线与大楼自动化安保管理的例子。

本章的学习目标

  • 认识计算思维
  • 程序设计语言的分类
  • 程序设计的流程
  • 程序设计的原则
  • 结构化与面向对象的程序设计
  • Java语言的起源
  • Java语言的特性
  • Java的开发工具
  • JDK的安装与运行环境的设置
  • Java程序的编译与执行
  • Java的程序结构
  • 解析Java SE11新增功能的简介

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第⒉章认识数据处理与表达式

计算机主要的特点之一就是具有强大的计算能力,能把从外界得到的数据输入计算机,并通过程序来进行运算,最后输出所要的结果。下面我们从数据处理的角度来认识Java。Java 中任何数据处理的结果都是由表达式来完成的。通过不同的操作数与运算符的组合就可以得到程序设计者所要的结果。在本章中,我们将认识变量与常数的使用以及Java 语言中常见的基本数据类型,其中的数据类型代表变量使用内存空间的大小,而变量用于存放程序执行时的数据(如图2-1所示)。同时,我们还会示范如何进行各种数据类型之间的转换。

本章的学习目标

  • 变量与常数的使用·
  • 基本数据类型·
  • 自动数据类型转换·
  • 基本输入与输出
  • 强制类型转换

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第3章流程控制

程序执行的顺序并不会像南北直接贯通的高速公路那样,可以从北到南一路通到底,事实上程序执行的顺序可能复杂到像云贵高原的公路,九弯十八转,容易让人晕头转向,因此程序的控制流程就像为公路系统设计的四通八达的通行指示方向,如图3-1所示。Java的流程控制一般是按照程序源代码的顺序自上而下按序执行的,不过有时也会根据需要来改变程序执行的顺序,此时就是通过流程控制语句或指令来告诉计算机应该优先以哪一种顺序来执行程序,程序设计语言中的基本流程控制结构有三种,分别是顺序结构、选择结构和重复结构。本章将介绍Java 语言中关于“流程控制”的使用方法。

本章的学习目标

  • 程序的流程结构
  • 条件结构
  • switch条件选择语句·
  • 条件运算符
  • 循环结构
  • 跳转控制语句

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第4章过程与函数

软件开发是相当耗时且复杂的工作,随着需求和功能越来越多,程序代码也就越来越庞大,这时多人分工合作来完成软件开发是势在必行的。那么应该如何解决分工合作的问题呢﹖我们通常会将程序中要重复执行特定功能的程序代码独立出来作为一个过程(Procedure)或函数(Function)。简单来说,过程(或函数)就是一段程序代码的集合,并且给予它一个名称。

当程序需要运用这段程序代码时,可以直接调用过程(或函数)。通常过程是指有特定功能的独立程序单元,如果该过程有返回值,就称为函数。通过过程(或函数)的编写,我们可以精简主程序的重复流程,减轻程序人员编写程序代码的负担,更能大幅降低日后程序的维护成本。

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第5章数组结构

本章的学习目标

  • 数组的声明与使用
  • 多维数组与不规则数组·
  • 数组的复制
  • 对象数组
  • Arrays类

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第6章字符与字符串的声明与应用

字符是组成文字最基本的单位,由字符组成的一串文字符号就称为字符串。Java提供了两种处理字符串的类,分别为String字符串类与StringBuffer字符串缓冲区类(注意:后文都简称为String类和StringBuffer类)。由于String类所产生的对象内容是只读的,因此适合不经常变动的字符串应用。在Java 中,字符串被当成内建的对象来使用,内建的方法有比较字符串、搜索字符串、更改字符串内容等。在本章中,我们将介绍字符串类及其各种方法,除此之外,我们还会探讨StringBuffer类。

本章的学习目标

  • 宇符的声明与使用·
  • 创建字符串·
  • 创建字符串数组·
  • 字符串类的方法
  • StringBuffer类

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第7章面向对象程序设计的初探

面向对象程序设计(Object- Oriented Programming, 0OP)是当前主流的程序设计方法。它主要让程序设计人员以一-种更生活化、可读性更高的设计思路来进行程序的开发和设计,并且所开发出来的程序更易于扩展、修改及维护,弥补“结构化程序设计”的不足。Java语言是一种纯面向对象的程序设计语言,面向对象的程序设计通常具有封装( Encapsulation)、继承( Inheriance)、多态(Polymorphism)三种特性,这三种特性将在后续章节为大家- -- - 介绍。

本章的学习目标

  • 面向对象的基本概念
  • 数据的封装
  • 类与对象的创建
  • 类的参数与自变量
  • 类的构造函数
  • 对象的赋值与使用
  • 对象的作用城与生命周期

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第8章继承与多态

继承类似于遗传的概念,例如父母生下子女,若无例外情况,则子女一定会遗传父母的某些特征。当面向对象程序设计技术以这种类似的概念定义其功能时,就称为继承(Inheritance)。继承是面向对象程序设计中核心的概念之一,我们可以参照现有的类,通过继承派生出新的类,这种程序代码可重复使用的概念可以帮助我们省去重复编写相同程序代码的繁复工作。在本章中,我们将探讨继承的基本概念,学习如何通过继承来声明并定义新的类,最后还会介绍对象多态的概念。

本章的学习目标

  • 继承的概念
  • 基类和派生类
  • 单一继承
  • 继承权限的处理
  • 构造函数的调用顺序
  • 类构造函数的继承关系
  • 重载( Overload )
  • 覆盖( Override )
  • 动态调度( Dynamic Dispatch ).
  • 多态的概念与实现

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第9章抽象类、接口、程序包与嵌套类的作用

在面向对象程序设计中,类(Class)关系到程序中所有对象的创建。本章将为大家介绍关于类的4种扩展类型:抽象类(Abstract Class)、接口( Interface)、程序包(Package)与嵌套类(NestedClass)。首先,我们会介绍抽象类的基本概念,同时会说明如何声明、定义与使用抽象类:接着,会讨论以接口来实现多重继承;最后,我们将探讨在大型程序项目中如何使用程序包来有效管理程序代码。

本章的学习目标

  • ·抽象类的概念与实现
  • 以接口来实现多重继承
  • 程序包的包装与导入
  • 嵌套类
  • 内部类·
  • 匿名类

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第10章Java常用类

Java 的类库已定义了许多实现的类,各种类中也针对这些类的特性设计了许多实用的方法,如果对这些常用的类有相当的了解,那么不仅可以把它们灵活地运用在Java的程序开发中,还可以减少许多不必要的开发时间。在本章中,我们将介绍几种相当实用的类。

本章的学习目标

  • Math类
  • Number类.
  • Vector类

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第11章窗口环境与事件处理

图形用户界面(Graphics User Interface,GUI)是一种以图形化为基础的用户界面,用户在操作时只需要移动鼠标,单击另一个被赋予功能的图形,即可执行对应的已设计好的程序。在Java中,抽象窗口工具包(Abstract Window Toolkit,AWT)提供了窗口与绘图的基本工具。AWT 是Java较早的技术,缺点是会浪费许多系统资源,SUN公司后来又推出了Swing类库以取代AWT类库。在Swing类库中提供了比AWT更多的对象,也是Java窗口应用程序更新一代的架构。Swing的对象是基于AWT的Container类发展而来的。由于用AWT开发窗口应用程序的普及率不低,即使SUN不再扩充AWT类库,我们仍有必要再介绍Swing 技术之前对AWT技术有所了解,因此本章将探讨如何用Java的AWT类来构建窗口环境作为我们开发窗口程序设计的基础。

本章的学习目标

  • ·浅谈GUI设计
  • ·创建第一个窗口程序·
  • 窗口的版面布局
  • 窗口的事件
  • 处理鼠标事件
  • ·键盘事件·
  • 低级事件类

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第12章Swing程序包开发守则

Swing程序包是一个完全用Java 语言编写的新版窗口程序包,它定义在javax.swing 类下,并提供了比AWT程序包更多、更新的功能。大部分的Swing 组件都继承自JComponent 类,所以它的组件名称大都是以“J”字母开头的,以此来区分AWT的组件。Java Swing 是 Java用来开发窗口应用程序的新技术,以AWT 的架构为基础,相关的组件除了基本的按钮(Button)、复选框(Checkbox)、标签(Label)和文本框(Textbox)外,Swing还提供了树形图(Tree)、表格(Table)和滚动式面板(Scroll Pane)等组件。在本章中,我们将介绍Swing 的特色及组件外观,并针对几个重要的组件为大家说明这些组件的实现方式及其主要的应用场合。

本章的学习目标

  • Swing程序包特色
  • 调整Swing 组件外观
  • JButton(按钮)组件
  • JCheckBox (复选框)组件
  • JRadioButton(单选按钮)组件
  • JTextField(文本字段)与JTextArea(文本框)组件
  • JList(列表框)组件
  • 创建页签

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第13章绘图与多媒体功能开发

java.awt程序包中的Graphics类负责Java基本图形的绘制工作。我们可以调用它所提供的各种成员方法在AWT、Swing窗口或Applet组件上绘制各种图形和图案。另外,还通过MediaTracker类对象来重复播放动画。

本章的学习目标

  • Java的基本绘图程序包
  • draw的成员方法
  • 画线
  • 画矩形画圆和椭圆
  • 窗口颜色
  • 图像的重新绘制
  • 动画处理与声音的播放

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第14章例外处理

例外(Exception)的定义:程序在执行过程中,中断程序继续执行的错误信息。在程序设计过程中,从思考设计流程到开始编写程序代码,再到编译、执行,难免会有考虑不周而导致的错误。有些过程所产生的错误是在执行前,程序设计者可以自行处理;但有些错误是程序设计者无法自行处理的,这时Java必须“接手”来处理,还好Java提供了例外处理的机制。本章将完整地说明Java语言的例外机制,并通过范例程序来示范如何自定义例外类。

本章的学习目标

  • ·什么是例外处理·
  • 例外处理的语法
  • ·例外处理的执行流程
  • 使用throws 抛出例外
  • 事件调用方法来处理例外使用类处理例外例
  • 外结构的介绍
  • 自定义例外处理的类

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第15章数据流与文件管理.

数据流(Stream)表示一个序列的数据从“源头”流向“终点”。在C++中,所有数据的输入输出都建立在数据流的概念上。一种是“输出数据流”,用来把程序输出的结果传到输出设备(例如屏幕、磁盘等)﹔另一种是“输入数据流”,用来让输入设备(例如键盘、磁盘等)把数据传入程序中。在 Java环境下,无论是存储于哪一种类型的媒介(文件、缓冲区或网络)中的不同类型的数据(数值、字符、字符串、图形甚至对象),它们的基本输入输出操作都必须依靠内建的数据流(Stream)对象来进行处理。我们将在本章完整地说明Java数据流的IO控制,包括标准输入输出数据流、字符数据流、字节数据流、文件数据流及缓冲区等。

本章的学习目标

  • Java 的基本数据流对象
  • 标准输出数据流
  • 标准输入数据流
  • 抽象基类——Reader 与 Writer
  • InputStream类与OutputStream类·
  • 文件数据流
  • ·缓冲区

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第16章泛型与集合对象

泛型(Generic)在C++中其实就是模板(Template),只是Swift、Java和C#采用了泛型这个更广泛的概念。泛型可以让用户根据不同数据类型的需求编写出适用于任何类型的函数和类。我们或许可以这么说:泛型是一种类型参数化的概念,主要是为了简化程序代码,降低程序日后的维护成本。

 

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第17章深度剖析多线程

所谓多线程执行机制,就是将程序分割为多个线程(Thread),让这些线程在同一段时间并行或并发执行。在. Java 的虚拟运行环境中提供了完善的多线程机制,让程序开发人员能编写高效率的应用程序。我们在本章中将完整地说明程序(Program)、进程(Process)与线程(Thread) )之间的关系,同时还会介绍多线程的基本用法。

本章的学习目标

  • Java的多任务处理
  • Timer类与 TimerTask 类
  • 多线程机制——Thread类
  • 多线程机制———Runnable接口
  • 线程的生命周期
  • 管理线程的方法
  • 线程分组
  • 数据同步操作的问题

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

第18章精通网络程序设计

如果我们要编写一个网络应用程序,首先必须对于因特网通信协议(Internet Protocol,或称为互联网协议)、数据的传输方式有所了解。在Java的java.net程序包中提供了有关网络应用的相关类,我们只要在这些类中设置一些参数,即可完成网络连接、数据传输及远程控制等功能。本章重点介绍如何用Java语言来编写网络应用程序。

本章的学习目标

  • 认识网络应用程序
  • Java网络应用程序的相关程序包
  • InetAddress类
  • 以Socket来建立通信
  • 服务端与Socket
  • 客户端与Socket
  • UDP通信
  • URL类

阿里强推:Java程序设计基于JDK11零基础学Java笔记

 

本书适合综合性大学、理工科大学、技术专科学院作为教材,用于教授程序设计、面向对象程序设计等相关课程;同时,也适合想学习Java程序设计的读者作为自学参考书。需要获取的小伙伴可以一键三连后,加我VX小助理即可免费获取到!

 

标签:GitHub,Java,本章,标星,程序包,程序,数据流,程序设计
来源: https://blog.csdn.net/a159357445566/article/details/110431141

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有