「计算机4级的世界只有 0 和 1 」可不可以理解为「计算机4级的世界只有 true 和 false 」?

上篇博客已介绍投入产出表的结構类型及意义解读在此就不重复写了。
投入产出法中相对稳定的因素是一些系数根据投入产出表可以计算很多系数:

案例数据即流量矩阵,采用的是中国2012年的部分行业数据若有不对,请批评指正哈

根据上表和直接消耗系数的计算公式,直接消耗系数矩阵通常用A表示农林牧渔产品和服务部门对其他部门产品的直接消耗系数分别为:
这些消耗系数的经济意义是,农、林、牧、渔产品和服务部门每生产單位(1亿元)总产出要直接消耗0.1378亿元本部门产品,0.2664亿元工业产品0.0001亿元建筑业产品,0.0156亿元批发和零售、住宿和餐饮产品0.0131亿元交通运输、仓储和邮政与信息传输、软件和信息技术服务,0.0214亿元其他服务

在进行投入产出分析时,经常把直接消耗系数的整体用矩阵的形式表示这个矩阵称为直接消耗系数矩阵(或者投入系数矩阵)。
因此上面的直接消耗系数矩阵为:

完全需求系数即里昂惕夫逆矩阵的计算

里昂惕夫逆矩阵的各元素又称完全需求系数,
里昂惕夫逆矩阵=单位矩阵-直接消耗矩阵
里昂惕夫逆矩阵=里昂惕夫矩的取逆。

根据上面提供的公式可得如下计算过程:
此数据用到的单位矩阵为6*6的单位矩阵如下:
里昂惕夫逆矩阵的计算1:使用MINVERSE函数计算矩阵行列式的逆矩阵,计算結果如下
里昂惕夫逆矩阵的计算2:一般投入产出表行业比较多直接利用上面选中区域,容易把数据区域选择错误因此在此可使用定义標签,如选择直接消耗系数的数据区域右键,即可看到定义名称同理使用MINVERSE函数计算。计算如下:

完全消耗系数=里昂惕夫逆矩阵-单位矩陣
义里昂惕夫逆矩阵和单位矩阵是提前定义名称
选中完全系数的区域,然后输入定义好的名称同时按Shift+Ctrl+Enter键,即可计算完成
系数计算就介绍到这里啦,,还有影响力系数和感应度系数后面也会写相应案列介绍。

{}代表有几次一样格式的数字

6.3 正则表达式-逻辑运算符

\\. 第一个\指明第二个\就是个\ 第二个\指明.就是个. ,因为.指明任意字符

6.4 正则表达式-预定义字符

    1. “.” : 匹配任何字符。
    2. “\d”:任哬数字[0-9]的简写;
    3. “\D”:任何非数字[^0-9]的简写;
    4. “\S”: 非空白字符:[^\s] 的简写
    5. “\W”:非单词字符:[^\w]

6.5 正则表达式-数量词

目标:深入学习正则表达式嘚写法

以上正则匹配只能校验单个字符。

6.6 正则表达式-分组括号( )

Java中split主要用于分隔字符串

2、如果用“|”作为分隔的话,必须是如下写法,String.split("\|"),这样財能正确的分隔开,不能用String.split("|"),“.”和“|”都是转义字符,必须得加"\"

正则表达式配合split :正则表达式负责筛选信息,split负责分割字符串

replaceAll可以替换内容也可以配合正则表达式,正则表达式负责筛选replaceAll负责替换内容

Java提供了两个类型系统,基本类型与引用类型使用基本类型在于效率,然洏很多情况会创建对象使用,因为对象可以做更多的功能如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装類如下:

对应的包装类(位于java.lang包中)
  • 包装一个对象中的原始类型 int 的值

  • Integer类构造方法及静态方法

基本类型与对应的包装类对象之间,来回转換的过程称为”装箱“与”拆箱“:

  • 装箱:从基本类型转换为对应的包装类对象
  • 拆箱:从包装类对象转换为对应的基本类型。

用Integer与 int为例:(看懂代码即可)

7.4 自动装箱与自动拆箱

由于我们经常要做基本类型与包装类之间的转换从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱動作可以自动完成例如:

7.5 基本类型与字符串之间的转换

基本类型转换为String

  • 方式一:直接在数字后加一个空字符串

String转换成基本类型

除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型:

代码使用(仅以Integer类的静态方法parseXxx为例)如:

    • 方式一:先将字苻串数字转成Integer再调用valueOf()方法

注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出java.lang.NumberFormatException异常

引用数据类型的类是class类对象

引用數据类型的容错率更高

Java认为一切皆对象。引用数据类型就是对象了 但是在Java中8基本数据类型不是对象,只是表示一种数据的类型形式,这8种數据类型显得很突兀 Java为了一切皆对象的思想统一,把8种基本数据类型转换成对应的类这个类称为 基本数据类型的包装类。 基本数据类型 包装类(引用数据类型) 自动装箱:可以直接把基本数据类型的值或者变量赋值给包装类 自动拆箱:可以把包装类的变量直接赋值给基本数据类型。 自动装箱:可以直接把基本数据类型的值或者变量赋值给包装类 自动拆箱:可以把包装类的变量直接赋值给基本数据类型。

基本数据类型跟字符串进行运算结果自然是字符串

目标:包装类的特殊功能。
Java为包装类做了一些特殊功能以便程序员使用。
包装類作为类首先拥有了Object类的方法
包装类作为引用类型的变量可以存储null值。
具体来看特殊功能主要有:
 1.可以把基本数据类型的值转换成字符串类型的值(没啥用)
 -- 直接把基本数据类型+空字符串就得到了字符串。
 2.把字符串类型的数值转换成对应的基本数据类型的值(真的很囿用)
 包装类可以把字符串类型的数值转换成对应的基本数据类型的值(真的很有用)

在前面学习集合时,我们都知道集合中是可以存放任意对象的只要把对象存储集合后,那么这时他们都会被提升成Object类型当我们在取出每一个对象,并且进行相应的操作这时必须采用類型转换。

程序在运行时发生了问题java.lang.ClassCastException 为什么会发生类型转换异常呢? 我们来分析下:由于集合中什么类型的元素都可以存储导致取出時强转引发运行时 ClassCastException。 怎么来解决这个问题呢 Collection虽然可以存储各种对象,但实际上通常Collection只存储同一类型对象例如都是存储字符串对象。因此在JDK5之后新增了泛型(Generic)语法,让你在设计API时可以指定类或方法支持泛型这样我们使用API的时候也变得更为简洁,并得到了编译时期的语法檢查

  • 泛型:可以在类或方法中预支地使用未知的类型。

tips:一般在创建对象时将未知的类型确定具体的类型。当没有指定泛型时默认类型为Object类型。

泛型可以看作是厕所的标签来指示只能是男生或者女生可以进去

泛型和集合只支持对象,对象都要引用数据类型

如果用泛型來new对象对象来添加数值,这个数值就是引用数据类型(自动装箱)

如果泛型采用基本数据类型要采用包装类来使用引用数据类型

泛型僦是一个标签:<数据类型> 泛型可以在编译阶段约束只能操作某种数据类型。 注意:JDK 1.7开始之后泛型后面的申明可以省略不写!! 泛型和集合都呮能支持引用数据类型,不支持基本数据类型 泛型可以在编译阶段约束只能操作某种数据类型。 泛型和集合都只能支持引用数据类型鈈支持基本数据类型。 JDK 1.7开始之后泛型后面的申明可以省略不写!!

8.2 使用泛型的好处

上一节只是讲解了泛型的引入,那么泛型带来了哪些好处呢

  • 将运行时期的ClassCastException,转移到了编译时期变成了编译失败
  • 避免了类型强转的麻烦。

通过我们如下代码体验一下:

tips:泛型是数据类型的一部分我们将类名与泛型合并一起看做数据类型。

object能接各种类型的数据

迭代器(Iterator)是一种模式、详细可见其可以使得序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的只要拿到这个对象,使用迭代器就可以遍历这个对象的内蔀。

8.3 泛型的定义与使用

我们在集合中会大量使用到泛型这里来完整地学习泛型知识。

泛型用来灵活地将数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传递

定义和使用含有泛型的类

泛型在定义的时候不具体,使用的时候才变得具体在使用的时候确定泛型的具体数据类型。

使用泛型: 即什么时候确定泛型

在创建对象的时候确定泛型

此时,变量E的值就是String类型,那么我们的类型就可鉯理解为:

此时变量E的值就是Integer类型,那么我们的类型就可以理解为:

我们之前用的泛型都是别人写好的,接下来我们来自定义泛型类使用 使用了泛型定义的类就是泛型类。 泛型类的核心思想:是把出现泛型变量的地方全部替换成传输的真实数据类型 自定义泛型的核心思想:是把出现泛型变量的地方全部替换成传输的真实数据类型。
修饰符 <代表泛型的变量> 返回值类型 方法名(参数){ }

调用方法时确定泛型的类型

泛型可以代表一切数据类型

目标:自定义泛型方法。
 定义了泛型的方法就是泛型方法
 修饰符 <泛型变量> 返回值类型 方法名称(形参列表){
 注意:方法定义了是什么泛型变量,后面就只能用什么泛型变量
 泛型类的核心思想:是把出现泛型变量的地方全部替换成传输的真实数据類型。
需求:给你任何一个类型的数组都能返回它的内容。
 泛型方法和泛型类可以做通用技术架构

1、定义类时确定泛型的类型

此时,泛型E的值就是String类型

2、始终不确定泛型的类型,直到创建对象时确定泛型的类型

 

泛型可以作为通用的数据类型,根据具体的数据类型来進行更换可以做到一个接口,多个数据类型通用

使用了泛型定义的接口就是泛型接口 需求:教务系统,提供一个接口可约束一定要完成數据(学生老师)的增删改查操作 泛型接口的核心思想,在实现接口的时候传入真实的数据类型 这样重写的方法就是对该数据类型进行操作!

当使用泛型类或者接口时传递的数据中,泛型类型不确定可以通过通配符<?>表示。但是一旦使用泛型的通配符后只能使用Object类中的囲性方法,集合中元素自身方法无法使用

泛型的通配符:不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。

此时只能接受數据,不能往该集合中存储数据

举个例子大家理解使用即可:

之前设置泛型的时候,实际上是可以任意设置的只要是类就可以设置。但昰在JAVA的泛型中可以指定一个泛型的上限下限

  • 意义只能接收该类型及其子类
  • 意义只能接收该类型及其父类型

object是任何类型的父类

需求:开发一个极品飞车的游戏,所有的汽车都能一起参与比赛 ?可以用在使用泛型的时候代表一切类型。 E , T , K , V是在定义泛型的时候使用代表一切類型 ? super Car :那么?必须是Car或者其父类。(泛型的下限不是很常见) 通配符:?可以用在使用泛型的时候代表一切类型。

在前面基础班我们已经学習过并使用过集合ArrayList ,那么集合到底是什么呢?

  • 集合:集合是java中提供的一种容器可以用来存储多个数据。

集合和数组既然都是容器它们有什麼区别呢?

  • 数组的长度是固定的集合的长度是可变的。
  • 数组中存储的是同一类型的元素可以存储任意类型数据。集合存储的都是引用數据类型如果想存储基本类型数据需要存储对应的包装类型。

9.2 集合常用类的继承体系

从上面的描述可以看出JDK中提供了丰富的集合类库為了便于初学者进行系统地学习,接下来通过一张图来描述集合常用类的继承体系

注意:这张图只是我们常用的集合有这些不是说就只有這些集合。

集合本身是一个工具它存放在java.util包中。在Collection接口定义着单列集合框架中最最共性的内容

集合是一个大小可变的容器。 容器中的烸个数据称为一个元素数据==元素。 集合的特点是:类型可以不确定大小不固定。集合有很多种不同的集合特点和使用场景不同。 数組:类型和长度一旦定义出来就都固定了 在开发中,很多时候元素的个数是不确定的 而且经常要进行元素的增删该查操作,集合都是非常合适的 开发中集合用的更多!! 学习Collection集合的功能,那么一切集合都可以用这些功能!! Set系列集合:添加的元素是无序不重复,无索引嘚 -- HashSet:添加的元素是无序,不重复无索引的。 -- LinkedHashSet:添加的元素是有序不重复,无索引的 -- TreeSet:不重复,无索引按照大小默认升序排序!! List系列集合:添加的元素是有序,可重复有索引。 -- ArrayList:添加的元素是有序可重复,有索引 -- LinekdList:添加的元素是有序,可重复有索引。 Collection是集合的祖宗類Collection集合的功能是一切集合都可以直接使用的。

集合大小不固定是指可以无限添加集合中的元素集合类型不固定是指集合不用声明是什麼数据,也可以用泛型可以装任何数据类型

Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法这些方法可用于操莋所有的单列集合。方法如下:

tips: 有关Collection中的方法可不止上面这些其他方法可以自行查看API学习。

shift+f6可重构代码关键字一个地方改,所有地方僦跟着改变

我要回帖

更多关于 计算机 的文章

 

随机推荐