自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 108:将有序数组转换为二叉搜索树

问题描述:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。实例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / ...

2019-11-30 15:34:43 118

原创 HTTP协议详解

HTTP协议请求信息和响应信息的格式请求信息请求行请求头信息请求主体信息请求行分为3部分↓请求方法 请求路径 所用的协议请求方法:GET/POST/PUT/DELETE/TRACE/OPTIONS等。经典问题:浏览器能够使用HTTP协议,HTTP协议只能被浏览器使用吗?答:当然不是。只要遵循HTTP协议的程序都可以使用HTTP协议。用Chrome抓一个发往百度的请求:当然...

2019-11-27 19:51:21 183

原创 【vue跳转页面时传递参数】

在vue中使用 this.$router.push({ path: '/home' }) 默认是替代本窗口如果想新开一个窗口,可以使用下面的方式:let routeData = this.$router.resolve({ path: '/home', query: { id: 1 } });window.open(routeData.href, '_blank');但是你可能会问,为...

2019-11-23 16:38:48 280

原创 Go代码正确姿势

sh build.sh./bin/xxx -config conf/dev.toml这是编译后执行

2019-11-21 14:13:25 278

原创 【vue兄弟组件传值】

第一步,我们需要新建一个js文件,用来创建一个Vue实例并暴露出去创建一个事件中心,相当于中转站,可以用它来传递事件和接收事件。假如,我们想要Home组件传递自身的msg属性给News组件,并在News组件中展示出来。首先,需要在Home组件中导入我们刚创建的VueEvent。Home 组件 代码 如图所示创建一个按钮并设置事件在NewsEmit事件中,通过VueEvent.$...

2019-11-16 15:44:32 182

原创 【0x01】黑盒测试技术

不需要了解代码的内部结构,只要知道有怎样的输入会有怎样的输出。比如登录功能,我不知道代码是怎么写的,我只要知道输入正确的用户名密码可以登录系统。这种就是黑盒测试。黑盒测试主要发现的错误功能不正确或遗漏界面错误 - 排版、文字错误等数据库访问错误 - 数据库连接不上,有的数据查询不出来性能错误 - 打开一个页面需要很久,执行一个功能要很长时间才完成初始化和终止错误凡是用户觉得不方...

2019-11-16 15:39:42 344

原创 【工作常用】VUE页内路由

我们经常会有种需求是,左侧边栏是不变的,在右边实现组件更新。咋做的呢??难不成写很多冗余的页面,都包含同样的侧边栏,然后跳转过去之后再考虑状态问题?这也太蠢了。而且跳转过去之后考虑状态问题太蛋疼了。那么我们要怎么办???可以用嵌套路由。首先贴大神博客。既然都说了是嵌套路由,那么我们大概有了想法了:① 为了演示,我们现在view文件夹下新建一个title1.vue和title2.vue用...

2019-11-14 20:11:45 502 1

原创 【0x17】classpath和jar

在Java中,我们经常听到classpath这个东西。所有的Java教科书都会教我们Java语法之前设置classpath,而不告诉我们为什么要设置classpath。所以我们学的云里雾里,我们是为了学习而学习,而不是为了做事而学习,所以效率极其低下。那么,什么是classpath?classpath是JVM用到的一个环境变量,它用来指示JVM如何搜索class。因为Java是编译型语言,源...

2019-11-14 13:56:02 249

原创 【0x00】软件测试概述

什么是软件测试测试的对象测试的过程模型测试的生命周期测试方法测试基本原则什么是软件测试发现软件缺陷对软件质量进行评估软件缺陷及其原因软件测试的主要目的之一,就是发现软件缺陷。什么是软件缺陷软件未实现规格说明书中的功能 - 少了功能软件功能出现了不应有的错误 - 功能有,但是有BUG软件功能超出规格说明书的范围 - 画蛇添足软件未达到应达到的目标 - 没完成预...

2019-11-13 23:47:28 182

原创 【0x16】作用域

在Java中,我们经常看到public、protected、private这些修饰符。在Java中,这些修饰符可以用来限定访问作用域。public定义为public的class、interface可以被其他任何类访问:注意哦,如果把一个类定义为了public类,那么它应该存在于某个文件名与类名相同的文件中,也就是说,一个文件至多只能有一个public类:package abc;publ...

2019-11-13 17:42:07 148

原创 【0x15】包

包是什么?为什么要有包?大家当然不是随便的程序员,起的类名都特别有内涵的。比如创造了个对象叫刘亦菲,然后…package program;public class Main{ public static void main(String[] args){ LiuYiFei liuYiFei = new LiuYiFei(); System.out....

2019-11-13 16:36:09 196

原创 【0x14】静态属性和静态方法

在一个class中定义的属性,我们称之为实例属性。实例属性的特点是,每个实例都有独立的属性,各个实例的同名属性互不影响。还有一种属性,是用static修饰的属性,称为静态属性:static field。实例属性在每个实例中都有自己的一个独立“空间”,但是静态属性只有一个共享“空间”,所有实例都会共享该属性。package program;public class Main{ pu...

2019-11-13 14:03:41 214

原创 【0x13】接口

预留

2019-11-12 15:41:08 513

原创 【0x12】抽象类

抽象类是个啥?由于多态的存在,每个子类都可以覆写父类的方法。所以父类的方法实际上就是起一个被子类重写,且支持多态的作用,所以父类方法的代码是不是不用写了?是的。所以这个类除了制定了一个规范外,并没有实现任何逻辑代码。我们可以把这个类做成一个抽象类,从语法上强制的使它不可以实例化,而且子类必须实现抽象类中的方法。注意,包含了抽象方法的类必须定义成抽象类。但是抽象类中可以有抽象方法,也可以有非...

2019-11-12 15:34:37 137

原创 【0x11】多态

在继承关系中,子类如果定义了一个与父类方法签名完全相同的方法,被称为重写(Override)。重写和重载的区别是什么?重载要求相同方法名的参数的类型或者数量不同,并且符合重载的要求时,方法的返回值类型可以不同也可以相同。重写要求参数的类型或者数量与父类中的方法相同,并且返回值类型相同,参数名随意。我们发现我们在重写父类方法的时候,很容易就写成了重载的语法,怎么破?很简单,我们可以在方法的...

2019-11-11 20:49:30 303

原创 【0x10】继承

我们假如说已经有了一个Person类,我们要想定义一个Student类,咋办?开干:package program;import java.util.*;public class Main { public static void main(String[] args) { }}class Person { public String nam...

2019-11-11 20:23:49 154

原创 【0x0F】方法重载

上文我们用到了N个重名的构造函数。我们想象,它凭什么可以重名呢?是因为它的参数数量或者是参数类型各不相同,编译器有能力识别出来到底应该去寻找哪个函数。(C中不允许重名也是出于这点考虑的)。这种现象就叫函数的重载,当然啦,对于java这种彻头彻尾的面向对象的语言来讲,这叫方法重载。这种方法名相同,但各自的参数不同,称为方法重载(Overload)。注意:方法重载的返回值类型通常都是相同的。...

2019-11-11 15:54:43 133

原创 【0x0E】构造方法

构造方法有啥用? 可以初始化对象的属性。 啥意思???说人话:相当于出厂默认配置。构造方法怎么用?构造方法也是方法,也要用访问控制修饰符进行修饰(不写似乎默认为protected)。关于访问控制修饰符的详解应该是在继承那块讲。然后构造方法的方法名要与类名一模一样,访问控制修饰符只能是protected或public,为啥呢?因为是在实例化的时候用到构造方法,所以这属于类的外部,如果是pri...

2019-11-11 15:31:53 620

原创 【0x0D】方法

我们上节的例子会发现,public的属性可以被类的外部访问,这就好像,抓娃娃的人可以直接伸手抓到娃娃(细思极恐)而不需要通过投币等操作。所以我们要把属性用private保护起来,让它变成一个私有的属性,外部不能访问。等等,但是好像有什么不对??? 外部不能访问的话,怎么才能抓到娃娃呢?好问题。所以我们要创建一个规则让用户可以抓娃娃,创建规则就是定义方法。package program;im...

2019-11-11 15:02:11 430

原创 【0x0C】面向对象编程概述&基础

为啥这么早就学面向对象编程呢???因为在Java中,没有独立的函数的概念,都是在类中的方法。所以我们需要先学面向对象编程。面向对象编程和面向过程编程最大的区别是什么?面向过程编程是把要做的事情进行建模,把模型分成一步一步的过程。而面向对象编程是搞出来一个对象,然后和对象进行互动。面向对象编程符合人类的思维习惯。我们人类社会发展到现在,靠的是分工。举个栗子比较一下面向过程和面向对象:如...

2019-11-11 11:43:31 546

原创 【0x0B】数组操作

遍历数组太简单了懒得写了。跟C系一模一样,只不过java有了面向对象特性,可以用arr.length来获取数组长度,而且还能用迭代的方式遍历数组而已。数组排序本文只讲语言不讲算法,所以说冒泡啊,快排啊什么的就不写了。写点java内置的。import java.util.Arrays;public class Main { public static void main(Stri...

2019-11-10 17:45:56 263

原创 【0x0A】循环

while循环while (条件表达式) { 循环语句}// 继续执行后续代码跟C系完全相同的语法。while有可能一次都执行不到,因为是先判断后循环。do while循环do while是先执行一次再进行判断。所以do while最少也要执行一次循环体。do { 执行循环语句} while (条件表达式);不要忘记最后的那个分号。for循环for (初...

2019-11-10 16:53:23 195

原创 【0x09】switch

switch语句根据switch (表达式)计算的结果,跳转到匹配的case结果,然后继续执行后续语句,直到遇到break结束执行。package program;import java.util.*;public class Main { public static void main(String[] args) { int option = 1; ...

2019-11-10 16:39:54 169

原创 【0x08】条件语句

if-else if-else。跟C系的用法一模一样。public class Main { public static void main(String[] args) { int n = 70; if (n >= 90) { System.out.println("优秀"); } else if (n &...

2019-11-10 16:23:09 171

原创 【0x07】输入输出

Java的输出还好,输入就很麻烦了。输出System.out.print(1); // 输出单个值,不自动带换行System.out.println(); // 输出单个值,自动带换行。System.out.printf("", vars); //c风格的格式化输出public class Main { public static void main(String[] args...

2019-11-10 15:49:20 429

原创 【0x06】数组类型

数组同样是一种引用类型。所以引用类型的公共特性在数组中也是适用的。定义一个数组类型的变量,使用数组类型“类型[]”,例如,int[]。和单个基本类型变量不同,数组变量初始化必须使用new int[5]表示创建一个可容纳5个int元素的数组。语法:类型[] 数组名 = new 类型[数组长度];和C语言不同的是,这里的数组长度可以是一个变量指定。而C不能用动态的。Java的数组有几个特点...

2019-11-10 14:55:51 414

原创 【0x05】字符和字符串

在Java中,字符和字符串是两个不同的类型。字符类型字符类型char是基本数据类型。因为Java在内存中总是使用Unicode表示字符,所以,一个英文字符和一个中文字符都用一个char类型表示,它们都占用两个字节。要显示一个字符的Unicode编码,只需将char类型直接赋值给int类型即可:int n1 = 'A'; // 字母“A”的Unicodde编码是65int n2 = '中'...

2019-11-10 14:34:28 9459

原创 【0x04】布尔运算

对于布尔类型boolean,永远只有true和false两个值。比较运算符:>,>=,<,<=,==,!=与运算 &&或运算 ||非运算 !短路运算布尔运算的一个重要特点是短路运算。如果一个布尔运算的表达式能提前确定结果,则后续的计算不再执行,直接返回结果。三元运算符Java还提供一个三元运算符b ? x : y,它根据第一个布尔表达式的...

2019-11-10 13:49:58 294

原创 【0x03】浮点数运算

基本规则浮点数不能作位运算和移位运算。浮点数是不精确的。浮点数在运算过程中得不到精确的结果,所以我们比较两个浮点数大小是否相等的策略是看他们的差的绝对值是不是比一个特别小的数还要小。类型提升整数和浮点数进行运算,整数自动提升类型为浮点数。double c = 1 + 5.2; //1会提升为1.0double c = 1.0 + 25/3; //25/3的结果是8,8提升到8.0+1....

2019-11-10 13:46:17 552

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除