第08章_面向对象编程(高级)
第08章_面向对象编程(高级)
本章专题与脉络
1. 关键字:static回顾类中的实例变量(即非static的成员变量)
123456789class Circle{ private double radius; public Circle(double radius){ this.radius=radius; } public double findArea(){ return Math.PI*radius*radius; }}
创建两个Circle对象:
12Circle c1=new Circle(2.0); //c1.radius=2.0Circle c2=new Circle(3.0); //c2.radius=3.0
Circle类中的变量radius是一个实例变量(instance variable),它属于类的每一个对象,c1中的radius变化不会影响c2的radius,反之亦然。
如果想让一个成员变量被类的所有实例所共享,就用static修饰即可,称为类变量(或类属 ...
第07章_面向对象编程(进阶)
第07章_面向对象编程(进阶)
本章专题与脉络
1. 关键字:this1.1 this是什么?
在Java中,this关键字不算难理解,它的作用和其词义很接近。
它在方法(准确的说是实例方法或非static的方法)内部使用,表示调用该方法的对象
它在构造器内部使用,表示该构造器正在初始化的对象。
this可以调用的结构:成员变量、方法和构造器
1.2 什么时候使用this1.2.1 实例方法或构造器中使用当前对象的成员在实例方法或构造器中,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的可读性。不过,通常我们都习惯省略this。
但是,当形参与成员变量同名时,如果在方法内或构造器内需要使用成员变量,必须添加this来表明该变量是类的成员变量。即:我们可以用this来区分成员变量和局部变量。比如:
另外,使用this访问属性和方法时,如果在本类中未找到,会从父类中查找。这个在继承中会讲到。
举例1:
12345678910111213141516171819202122class Person{ // 定义Person类 private ...
第06章_面向对象编程(基础)
第06章_面向对象编程(基础)
本章专题与脉络
学习面向对象内容的三条主线
Java类及类的成员:(重点)属性、方法、构造器;(熟悉)代码块、内部类
面向对象的特征:封装、继承、多态、(抽象)
其他关键字的使用:this、super、package、import、static、final、interface、abstract等
1. 面向对象编程概述(了解)1.1 程序设计的思路面向对象,是软件开发中的一类编程风格、开发范式。除了面向对象,还有面向过程、指令式编程和函数式编程。在所有的编程范式中,我们接触最多的还是面向过程和面向对象两种。
类比:史书类型
纪传体:以人物传记为中心,“本纪”叙述帝王,“世家”记叙王侯封国和特殊人物,“列传”记叙民间人物。
编年体:按年、月、日顺序编写。
国别体:是一部分国记事的历史散文,分载多国历史。
早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显,出现了面向对象思想并成为目前主流的方式。
1. 面向过程的程序设计思想(Process-Oriented Programming),简称POP
关注的焦点 ...
第05章_数组
第05章_数组
本章专题与脉络
1. 数组的概述1.1 为什么需要数组需求分析1:
需要统计某公司50个员工的工资情况,例如计算平均工资、找到最高工资等。用之前知识,首先需要声明50个变量来分别记录每位员工的工资,这样会很麻烦。因此我们可以将所有的数据全部存储到一个容器中统一管理,并使用容器进行计算。
需求分析2:
容器的概念:
生活中的容器:水杯(装水等液体),衣柜(装衣服等物品),集装箱(装货物等)。
程序中的容器:将多个数据存储到一起,每个数据称为该容器的元素。
1.2 数组的概念
数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
数组中的概念
数组名
下标(或索引)
元素
数组的长度
数组的特点:
数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。
创建数组对象会在内存中开辟一整块连续的空间。占据的空间的大小,取决于数组的长度和数组中元素的类型。
数组中的元素在内存中是依次紧密排列的,有序的。
数组,一旦初始化完成,其长度就是确定的。数组的长度 ...
第04章_IDEA的安装与使用(下)
第04章_IDEA的安装与使用(下)
8. 快捷键的使用8.1 常用快捷键见快捷键章节:快捷键链接
8.2 查看快捷键1、已知快捷键操作名,未知快捷键
2、已知快捷键,不知道对应的操作名
8.3 自定义快捷键
8.4 使用其它平台快捷键苹果电脑或者是用惯Eclipse快捷的,可以选择其他快捷键插件。
9. IDEA断点调试(Debug)9.1 为什么需要Debug编好的程序在执行过程中如果出现错误,该如何查找或定位错误呢?简单的代码直接就可以看出来,但如果代码比较复杂,就需要借助程序调试工具(Debug)来查找错误了。
123456789运行编写好的程序时,可能出现的几种情况:> 情况1:没有任何bug,程序执行正确!====================如果出现如下的三种情况,都又必要使用debug=============================> 情况2:运行以后,出现了错误或异常信息。但是通过日志文件或控制台,显示了异常信息的位置。> 情况3:运行以后,得到了结果,但是结果不是我们想要的。> 情况4:运行以后,得到了结果,结果大概率是我们想要 ...
第04章_IDEA的安装与使用(上)
第04章_IDEA的安装与使用(上)
本章专题与脉络
【Why IDEA ?】
【注】JetBrains官方说明:
尽管我们采取了多种措施确保受访者的代表性,但结果可能会略微偏向 JetBrains 产品的用户,因为这些用户更有可能参加调查。
此外,2022年,某美国软件开发商在对近千名专业的Java开发者调研后,发布了《2022年Java开发者生产力报告》。报告提到:JetBrains 的 IntelliJ IDEA是最受欢迎的 Java IDE,占 48%,其次是 Eclipse,占 24%,Visual Studio Code 占 18%。
本着”工欲善其事必先利其器“的精神,本章从IDEA的介绍、安装、设置入手,讲解IDEA中项目的创建、快捷键与模板的使用、断点调试、常用插件等。
1. 认识IntelliJ IDEA1.1 JetBrains 公司介绍IDEA,是 JetBrains (https://www.jetbrains.com/)公司的产品,该公司成立于2000年,总部位于捷克的布拉格,致力于为开发者打造最高效智能的开发工具。
公司旗下还有其它产 ...
第04章_IDEA常用快捷键
IntelliJ IDEA 常用快捷键一览表
1-IDEA的日常快捷键第1组:通用型
说明
快捷键
复制代码-copy
ctrl + c
粘贴-paste
ctrl + v
剪切-cut
ctrl + x
撤销-undo
ctrl + z
反撤销-redo
ctrl + shift + z
保存-save all
ctrl + s
全选-select all
ctrl + a
第2组:提高编写速度(上)
说明
快捷键
智能提示-edit
alt + enter
提示代码模板-insert live template
ctrl+j
使用xx块环绕-surround with …
ctrl+alt+t
调出生成getter/setter/构造器等结构-generate …
alt+insert
自动生成返回值变量-introduce variable …
ctrl+alt+v
复制指定行的代码-duplicate line or selection
ctrl+d
删除指定行的代码-delete li ...
第03章_流程控制语句
第03章_流程控制语句
本章专题与脉络
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
程序设计中规定的三种流程结构,即:
顺序结构
程序从上到下逐行地执行,中间没有任何判断和跳转。
分支结构
根据条件,选择性地执行某段代码。
有if…else和switch-case两种分支语句。
循环结构
根据循环条件,重复性的执行某段代码。
有for、while、do-while三种循环语句。
补充:JDK5.0 提供了foreach循环,方便的遍历集合、数组元素。(第12章集合中讲解)
生活中、工业生产中流程控制举例
1. 顺序结构顺序结构就是程序从上到下逐行地执行。表达式语句都是顺序执行的。并且上一行对某个变量的修改对下一行会产生影响。
1234567891011121314public class StatementTest{ public static void main(String[] args){ int x = 1; int y = 2; System.out.printl ...
第02章_变量与运算符
第02章_变量与运算符
本章专题与脉络
1. 关键字(keyword)
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词)
HelloWorld案例中,出现的关键字有 class、public 、 static 、 void 等,这些单词已经被Java定义好了。
特点:全部关键字都是小写字母。
关键字比较多,不需要死记硬背,学到哪里记到哪里即可。
官方地址: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
说明:
关键字一共50个,其中const和goto是保留字(reserved word)。
true,false,null不在其中,它们看起来像关键字,其实是字面量,表示特殊的布尔值和空值。
2. 标识符( identifier)Java中变量、方法、类等要素命名时使用的字符序列,称为标识符。
技巧:凡是自己可以起名字的地方都叫标识符。
标识符的命名规则(必须遵守的硬性规定):
12345> 由26个英文字母大小写,0-9 ,_或 ...
第01章_Java语言概述
第01章_Java语言概述
1. Java知识脉络图1.1 Java基础全程脉络图
1.2 本章专题与脉络
2. 抽丝剥茧话Java2.1 当前大学生就业形势
麦可思研究院发布了《2022年中国大学生就业报告》,针对2021届毕业生收入较高的本科专业排行榜:
麦可思研究院发布过《2021年中国大学生就业报告》,应届本科毕业生就业数量较大的前十位行业类的就业质量:
报告还对毕业三年后的2017届毕业生所在十大行业进行了统计:
从国家统计局发布的2021年全国平均工资来看,不管在城镇非私营单位还是私营单位,IT业均为最高。
2.2 IT互联网是否依旧靠谱过去不能代表未来!互联网是否依旧靠谱?!
2014 年至 2018 年间,我国网民规模从 6.49 亿增长为 8.29 亿,增幅为 27.5%。同一时间段,全国移动互联网接入的流量却从 20.6EB 增长到了 711.1EB,增幅达 3352%(获取和处理的信息量大幅增加)。
随着 5G 技术进一步拓宽移动互联网的速度和容量,产业互联网将在消费型流量的基础上创造生产型流量,根据报告的预测,至 2024 年 ...