- 博客(33)
- 收藏
- 关注
原创 002选择排序python实现
第一次:array[record]与第四个元素进行比较,重复比较运算步骤,当运算结束时,record记录的就是这两个元素中最小的元素的下标了。第一次:array[record]与第五个元素进行比较,重复比较运算步骤,当运算结束时,record记录的就是这两个元素中最小的元素的下标了。第二次:array[record]与第四个元素进行比较,重复比较运算步骤,当运算结束时,record记录的就是这三个元素中最小的元素的下标了。record = i;
2024-08-18 09:21:11
517
原创 001冒泡排序python实现
第三轮开始:此时注意,由于经过了前两轮,最大的两个数字已经放到了正确的位置上,所以,此时只需要比较前面的三个数字,把三个数字中的。第二轮开始:此时注意,由于经过了第一轮,最大的数字已经放到了最后的位置上,所以,此时只需要比较前面的四个数字,把四个数字中的。第四轮开始:此时注意,由于经过了前三轮,最大的三个数字已经放到了正确的位置上,所以,此时只需要比较前面的两个数字,把最大的。第二次:比较第二个数字和第三个数字,此时注意:经过第一次的比较,第二个数字一定是大于或者等于第一个数字。
2024-08-17 12:50:05
330
2
原创 Java学习笔记(疯狂Java讲义第三版)——对象与垃圾回收
我们是如何使用对象的?当程序创建对象、数组等引用类型实体时,例如A a = new A();这类语句的时候,系统都会在内存中为之分配一块内存,对象本身就保留在这块内存中。注意,我们是无法直接访问这块内存的,也就是说我们是无法直接访问对象的,我们只能通过对象的引用来间接的访问对象本身。例如:A a = new A();我们只能通过a变量来间接的使用new A()这个对象。那么对于一个没有引用的变...
2019-07-24 07:00:30
165
原创 Java学习笔记(疯狂Java讲义第三版)——枚举类
什么是枚举类?实例有限且固定的类。例如:可以定义一个表示四季的类,那么他的实例就是春、夏、秋、冬。有限且固定。如何定义枚举类?Java 5之后新增了一个关键字enum关键字,可以用来定义枚举类。定义语法:enum 类名{所有的对象,必须在第一行中列出。0到多个成员…//之后的内容和定义一个类时的语法一样。}通过观察可知,在定义的语法上,跟普通类只有两个区别。1、类定义的关键字为...
2019-07-19 19:46:11
275
原创 Java学习笔记(疯狂Java讲义第三版)——Lambda表达式
什么是Lambda表达式?是一种创建实例的语法,这类语法要比匿名内部类创建实例时还要简洁。(个人理解)Lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口的实例。(书中原文)在什么情况下,可以使用Lambda表达式?我们先看下什么样的情况可以通过定义匿名内部类的形式来创建实例:1、只继承一个类(普通类或抽象类)。2、或者只实现一个接口。例如:class A{}i...
2019-07-18 11:34:02
244
原创 Java学习笔记(疯狂Java讲义第三版)——局部内部类、匿名内部类
局部内部类:如果把一个内部类放在方法里定义,则这个内部类就是一个局部内部类。其作用域仅在这个方法内部有效,无法在方法外部使用。关于这一点可以近似的理解为相当于在方法中定义了一个普通变量,只能在该方法中使用。所以有关局部内部类的使用:1、定义变量。2、创建对象。3、被子类继承也只能在该方法的内部使用。所以在方法内部使用起来和一个普通类的使用规则几乎一样。局部内部类是一个非常"鸡肋"的语法,在实...
2019-07-17 18:25:30
153
原创 Java学习笔记(疯狂Java讲义第三版)——内部类
内部类什么是内部类?大部分时候,类被定义成一个独立的程序单元。在某些情况下,也会把类放在另一个类的内部定义,这个定义在其它类内部的类就被称为内部类(有的地方也叫嵌套类),包含内部类的类也被称为外部类(有的地方也叫宿主类)——引用书中的原文。例如:class A{class B{}}由于B类是定义在A类内部的,所以B类相对于A类,是A类的内部类。A类相对于B类,是B类的外部类。内...
2019-07-17 16:57:04
161
原创 XML学习笔记——空白处理
空白处理在XML规范中,空白包括空格、制表符、空行。空白在XML文档中,主要有两种作用。第一种,为了使代码格式更加美观,进行的空白。对于代码本身的运行没有什么影响,仅仅是为了代码的美观和规范。——可以舍弃的空白第二种,分隔作用,例如<!ELEMENT content (#PCDATA)>此种代码中用到的空白符为空格,主要就是为了分隔关键字ELEMENT、定义的元素content...
2019-07-15 18:49:19
2855
原创 XML学习笔记9——注释、处理指令
注释在XML文档中,注释可以出现在其他标记之外的任何位置,另外,它们还可以在文档类型声明中语法允许的地方出现。分析:注释可以出现在其他标记之外的任何位置。即标记内部是不允许出现注释的。例如:可以出现注释<content(不可以)>可以出现注释</content(不可以)>可以出现注释允许在文档类型中语法允许的地方出现例如:可以出现注释<!ELEMENT ...
2019-07-15 15:56:26
1348
1
原创 Java学习笔记(疯狂Java讲义第三版)——命令模式
命令模式:假设,定义一个类,该类的功能可以实现对数组的遍历。数组的遍历指的就是访问数组中的每一个成员,并且该成员进行相应的处理。例如,将数组中的每一个元素加上一定的数值。或者输出打印每一个数组。现在定义一个处理数组类,该类的功能是可以打印输出int类型数组的内容class ProcessArray{public void process(int[] target){//定义一个可以遍历打...
2019-07-15 10:52:48
129
原创 Java学习笔记(疯狂Java讲义第三版)——简单工厂设计模式
案例:假设需要设计一个电脑类,类名用Computer表示。然后需要在该电脑类上装一台打印机,那么接下来定义一个打印机的了,名为Printer。我们通过简单的语法定义来掩饰://打印机类class Printer{//其他内容省略}//计算机类class Computer{Printer p;//安装Printer类型的打印机public Computer(Printer p...
2019-07-15 10:02:32
226
原创 Java学习笔记(疯狂Java讲义第三版)——接口
接口:可以简单的理解成特殊的抽象类。先看接口的定义语法[修饰符] interface 接口名{//零个到多个常量定义//零个到多个抽象方法定义//零个到多个内部类、内部接口、内部枚举类定义//零个到多个默认方法或类方法定义}对于定义接口时的修饰符,只能是public和不写(即默认为default访问权限)。接口名的规则和定义类名时候的规则一样,只是推荐使用英文中的形容词。接口...
2019-07-13 21:30:05
148
原创 Java学习笔记(疯狂Java讲义第三版)——抽象类
什么是抽象类?个人理解:对于一个类来说,主要有两点作用。第一点,用来创建对象,第二点用来被子类继承。那么有一种类,这种类只希望被子类继承而不希望创建对象,那么这种类就可以定义成抽象类。抽象类的特点就是不能被用来创建对象,只能用来被子类继承。举例说明:对于狗,猫,老虎,狮子,它们都一个共同的特征,即都是哺乳类动物,所以,在定义狗、猫、老虎、狮子这四种动物的类的时候就可以先定义一个抽象类——...
2019-07-13 11:02:06
202
原创 Java学习笔记(疯狂Java讲义第三版)——缓存实例的不可变类
什么是缓存实例的不可变类?该不可变类内部有一块区域,该区域可用来存储创建出来的实例。在使用该类型创建变量的时候,如果新创建的变量的内容和已存在实例的内容一样,那么直接返回已存在的实例而不会再创建新的对象。这样可以减少系统对于创建对象的开销,但是会浪费相应的存储空间用来缓存已存在的实例对象。运行速度和存储空间二者有点此消彼长的意思,一般想要提高速度就会耗费更多的空间,想要节省空间也有可能降低运行...
2019-07-12 21:37:03
148
原创 Java学习笔记(疯狂Java讲义第三版)——利用final关键字实现不可变类
final关键的一个应用场景——不可变类什么是不可变类?由不可以变类创建出来的对象是不可以改变的。对于final修饰引用类型的变量,虽然该变量存储的地址是永远不能改变的,即永远指向对该引用变量执行初始化时候的那个变量。但是变量的本身是可以改变的。而不可变类的作用是使得该类创建出来的对象永远不会改变。如果二者结合就是可以实现引用类型变量永远只能指向一个对象,且对象本身也永远无法再被改变。通过不...
2019-07-12 20:29:27
240
原创 Java学习笔记(疯狂Java讲义第三版)——final修饰符
final修饰的功能:一、修饰变量修饰变量主要考虑两种情况:1、该变量是基础数据类型还是引用数据类型2、该变量是成员变量还是局部变量二、修饰方法三、修饰类final修饰变量的作用——使得该变量以但获得了初始值就不可以被改变。无论是修饰成员变量还是普通变量,又或者是基础数据类型变量和引用类型变量都是一样的。只是在细节上,有些许差别。我们先看成员变量(包括类成员变量和普通成员变量),当...
2019-07-12 20:24:50
237
原创 Java学习笔记(疯狂Java讲义第三版)——单例类
单例类:一个类,如果只能创建一个对象。那么这个类就是单例类,即只能创建一个对象的类。通常情况下,一但定义好了一个类,如果系统允许,那么就可以通过该类创造无数多该类类型的对象。所以,单例类需要程序员采用某种手段使得该类只能创建一个对象。如何才能创建单例类呢?1.首先将该类中的构造器用private修饰符进行修饰。当我们创建对象的时候,主要就是通过构造器来创建对象的。所以如果构造器的修饰符是p...
2019-07-11 15:49:40
180
原创 Java学习笔记(疯狂Java讲义第三版)——==和equals
==号和equlas()等号“==”和equals()的作用是用来判断两个数据是否相等,因为Java语言分为基本数据类型和引用数据类型。所以Java语言中对于数据的比较有以下三种情况。1.基础数据类型的数据和基础数据类型数据的比较2.引用数据类型的数据和基础数据类型数据的比较3.引用数据类型的数据和引用数据类型数据的比较等号“==”的作用是判断两个数据的数值是否相等。——通过数值来判断来...
2019-07-11 11:25:50
213
原创 Java学习笔记(疯狂Java讲义第三版)——打印对象和toString()
打印对象和toString()什么是打印对象?就是利用System.out.println()直接对对象进行输出。看下面例子class A//随意定义一个类,类名为A{int a;//定义一个普通成员变量,变量名为apublic A(int a)//定义一个构造器,在创建A类对象的时候初始化正在创建的对象,即对普通成员变量a进行赋值操作。{this.a = a;}}publi...
2019-07-11 10:17:48
272
原创 Java学习笔记(疯狂Java讲义第三版)——包装类
包装类是什么?就是Java语言为其中的8种基本数据类型(byte、short、char、int、long、float、double、boolean),分别定义了相应的引用类型。简单来讲就是为8种基本数据类型分别定义了相应的类。为什么需要包装类?首先,Java语言是面向对象的编程语言,面向对象的三大特性(继承、封装、多态)主要是通过类和对象实现的。而Java语言中的8个基本数据类型不是类更不是...
2019-07-10 14:44:59
147
原创 Java学习笔记(疯狂Java讲义第三版)——构造器
个人总结,在学习计算机编程的语言里面概念的时候。首先在理论层面要知道它是怎么回事,其次实际应用是如何实现这一理论的。构造器:1.创建对象的重要途径,在后续的学习过程中要重点理解“重要途径”这个含义,此处可以先简单的认为构造器就是用来创建对象的。2.在创建对象的时候,为对象的成员变量赋用户需要的数值。可以先简单的理解成构造器就是为类中定义的成员变量进行初始化的,也就是赋值用的。这也是构造器最大...
2019-07-10 09:14:24
131
原创 XML学习笔记8——XML中的元素
一、XML中的元素:元素由开始标签、结束标签、属性及属性值、元素内容构成。空元素由元素标签和属性及属性值构成。个人理解:此处说的元素内容包括开始标签和结束标签之间出现的一切内容,注意是一切内容无论是注释、其他元素、还是字符数据都属于元素内容。空元素由元素标签构成外还包括写在该空标签中的属性和属性值。每一个元素有一个用名字标识的类型,同时它可以有一个属性说明集、每一个属性说明有一个名字和一个值。...
2019-07-09 18:27:14
3620
原创 XML学习笔记7——文档类型声明
文档类型声明:个人理解:"文档类型声明"主要用来声明XML文档中的元素、元素中的属性、元素与元素之间的结构关系、元素是否为空元素和元素之间包含的数据类型等使用的是哪一种规范。注意,文档类型声明仅仅是声明了遵循一个规范,而规范的具体是内容是在DTD文件中定义的,关于DTD文件下面会有具体讲解,这里先理解为DTD文件中定义了XML文档中元素使用的详细规范。在这里先理解为文档类型声明就是声明了XM...
2019-07-09 10:49:18
532
原创 XML学习笔记6——XML声明
XML文档总是以一个XML声明开始,其中指明所用的XML版本、文档的编码、文档的独立性(意思是该文档是否需要引用其它文档)。XML声明的语法:<?xml 版本声明 [文档编码] [文档的独立性]?>注意开始出的第一个问号两边不允许有任何的空格中括号的意思是可选的意思,简单来说就是该属性可以写也可以不写。当然,不写系统会给你个默认值。先看最简单的只有版本声明的XML声明&l...
2019-07-08 23:36:38
495
原创 XML学习笔记4——XML与HTML的比较
XMlL将数据与显示分开。个人理解:对于一个文档来说,除了要展示数据信息,还要考虑到数据在文档中的样式,例如字体大小颜色等等,同时还会考虑数据在文档中是如何排版的,是居中显示还是左对齐显示等等。一个HTML文档,它里面的标签标记数据的时候,不同的标签标记完数据之后,数据的样式也有可能不同,且还会参与到数据的排版,即不同的标签标记同一个数据其排版也可能不同。而XML文档中的标记仅仅用来修饰数...
2019-07-08 22:26:52
196
原创 Java学习笔记(Java疯狂讲义第三版)——方法重载
方法重载的定义:如果一个类里面包含了两个或两个以上方法名相同但是形参列表不同的方法,则称为方法重载。Java程序中确定一个方法需要三个要素。对于一个Java程序来说,程序员在使用方法的时候其本质还是通过调用“方法名”的形式来调用方法的,所有只有方法名是唯一的时候才能判断调用的具体是哪一个方法。所以如何在Java程序中确定一个方法是唯一的是基本的语法要求。如何确定一个方法在Java程序中的唯一性...
2019-07-08 10:04:27
161
原创 xml学习笔记2——XML是HTML的扩展吗?
XML是HTML的扩展吗?——不是HTML是英文单词Hypertext Markup Language超文本标技语言XML是Extensible Markup Languge可扩展的标记语言首先先明确XML和HTML是不同层次的标技语言。意思是都是标记语言,但是是不同层次的,所以XML不是HTML的扩展。xml不是html的扩展,只是在名字上容易让人误会。问题1:XML和HTML中标技语...
2019-07-07 23:34:54
267
原创 Java学习笔记(疯狂Java讲义第三版)——方法详解
关于Java语言中的方法,从语法和功能上看,Java语言中的方法和结构化编程语言中函数十分相似,但也有以下区别:结构化编程语言的函数在定义的时候是可以独立存在到,而Java语言中的方法在定义的时候是必须放在类定义语句当中的,是不能独立存在的。从逻辑关系上看,一个方法要么属于类本身(static修饰的方法)或者属于对象(也可称为实例)本身(非static修饰的方法)。未完待续...
2019-07-04 19:08:41
345
原创 Java学习笔记(疯狂Java讲义第三版)——对象的this引用
Java提供了一个this关键字,this关键总是代之调用该成员的对象。根据this出现位置的不同,this作为对象的默认引用有两种情形。这句话有两个地方需要重点看下:1.this关键字总是代之调用该方法的对象——this关键字是代之对象的,而且是调用该成员的对象。2.根据this出现位置的不同,this作为对象的默认引用有两种情形。{1.构造器中,引用调用该方法的对象。意思是出现在构造器...
2019-07-04 18:44:37
206
原创 Java学习笔记(疯狂Java讲义第三版)——对象、引用和指针
public class Person{public int age;public String name;public void say(String content){System.out.println(content);}}Person p1 = new Person();//该语句声明了变量类型为Person、变量名为p1的引用类型变量。同时创建了一个Person类的对...
2019-07-04 18:25:10
134
原创 Java学习笔记(疯狂Java讲义第三版)——类和对象基础知识讲解
知识概要,简单过一遍即可,不理解的地方可以先放放。相对整体的知识有一个简单的框架。类可被认为是一种自定义的数据类型可以使类来定义变量,所有用类定义的变量都是引用变量类用于描述客观世界里某一类对象的共同特征,而对象是类的具体实现Java程序使用类的构造器来创造类的对象面向对象三大特征:继承、封装、多态三个访问控制修饰符:private、protect、public——为了现实良好的封装...
2019-07-04 17:47:38
250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人