- 博客(41)
- 收藏
- 关注
原创 Java学习-继承
文章目录python和java在继承方法中变量选取的区别方法覆盖python和java在继承方法中变量选取的区别见 Java和Python继承中的区别方法覆盖必须保证父子类之间方法的名称相同,参数列表也相同@Override 写在方法前,用于检测是不是有效的正确覆盖重写,不一定要写这个就算不写,只要方法覆盖符合要求,也是正确的覆盖重写子类方法的返回值必须小于等于父类方法的返回值范围...
2019-11-21 21:57:28
168
原创 Java学习-Arrays工具集
Arrays工具集java.util.Arraysjava.util.Arrays是一个与数组相关的工具集,提供了大量静态方法,实现数组常用操作public static String toString() 将数组转换成字符串public static void sort(数组) 将数组从小到大排序注意:排序按照数字从小到大,字母升序如果是自定义的类型,那么这个自定义类需要有Com...
2019-11-21 21:11:30
214
原创 LeetCode整理 - [Array篇]
LeetCode整理 Python + JavaLeetCode-1: 两数之和(Two Sum)LeetCode-26LeetCode-1: 两数之和(Two Sum)题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给...
2019-09-22 21:33:39
206
原创 二分法的边界问题
二分法的边界问题以leetcode-35为例题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1: 输入: [1,3,5,6], 5 输出: 2示例 2: 输入: [1,3,5,6], 2 输出: 1示例 3: 输入: [1,3,5,6], 7 输出: 4示例 4: 输入...
2019-09-22 21:26:36
1483
原创 Java学习-List
List接口的特点:1. 有序的集合2. 有索引,包含带索引的方法3. 允许存储重复的元素List接口中带索引的方法(特有)1. public void add( int index, E element): 将指定的元素,添加到该集合中的指定位置上2. public E get(int index): 返回集合中指定位置的元素3. public E remove(int index...
2019-09-03 21:42:07
147
原创 Java学习-Iterator与增强for循环
Iterator中两个方法hasNext() 判断是否还有下个元素Next() 获取下个元素,并把下标向后移动一位import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class Iter_test { public static void main(...
2019-08-01 21:21:47
179
原创 Java学习-集合Collection接口
Collection 常用功能Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。方法如下:public boolean add(E e): 把给定的对象添加到当前集合中 。public void clear() :清空集合中所有的元素。public boolean remove(E...
2019-08-01 21:16:38
203
原创 Java学习-基本类型与字符串类型之间的转换
基本类型与字符串类型之间的转换public class Demo01 { public static void main(String[] args) { // 基本类型 -> String int int1 = 100; String str1 = int1 + ""; System.out.println(str1...
2019-07-31 21:05:45
144
原创 Java学习-包装类、拆箱、装箱
包装类基本数据类型用起来方便,但是没有对应的方法来操作这些基本数据,可以使用一个类封装出一些基本类型的方法。在java.lang中有基本类型的包装类装箱与拆箱装箱:把基本类型的数据包装到到包装类中(基本类型的数据->包装类)拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)自动装箱和自动拆箱基本类型数据和包装类之间可以自动相互转换下面以int为例publ...
2019-07-31 21:03:46
147
原创 Java学习-StringBuilder
StringBuilderStringBuilder的好处提高字符串拼接效率String a;a = "d" + "e" + "f"上面这个过程涉及了5个字符串,分别是 “d”, “e”, “f”, “de”, “def”, 效率很低 StringBuilder可以看作一个长度可变的字符串,底层是一个数字,但没有被final修饰,可以改变长度。一个StringBuilder对象在内...
2019-07-31 20:33:08
146
转载 Java学习-System
import java.util.Arrays;public class Demo01 { public static void main(String[] args) { test1(); test2(); } // 复制数组 // 复制src中指定位置开始指定长度到des中指定位置开始指定长度 private stat...
2019-07-30 21:46:25
130
转载 Java学习-Calendar
import java.util.Calendar;import java.util.Date;public class Demo01 { public static void main(String[] args) { System.out.println("======打印日历====="); Calendar c = Calendar.getIn...
2019-07-30 21:33:30
132
转载 Java学习-Date
public class Date_test { public static void main(String[] args) { Date d = new Date(); System.out.println(d); System.out.println(d.getTime()); }}output:Sun Jul 28 08...
2019-07-30 20:44:10
114
转载 Java学习-内部类
如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。分类:成员内部类局部内部类(包含匿名内部类)成员内部类的定义格式:修饰符 class 外部类名称 { 修饰符 class 内部类名称 { // ... } // ...}注意:内用外,随意访问;外用内,需要内部类对象。如何使用成员内部类?有两种方式:1.间接方式:在外...
2019-07-27 10:59:56
121
转载 Java学习-四种权限修饰符
Java中有四种权限修饰符:public > protected > (default) > private同一个类(我自己) YES YES YES YES同一个包(我邻居) YES YES YES ...
2019-07-26 20:54:29
168
原创 Java和Python继承中的区别
继承方法中变量的选取Pythonclass A(): a = 1 def printA(self): print(self.a)class AA(A): a = 2 def printAA(self): print(self.a)aa = AA()aa.printA()aa.printAA()创建一个父类A,类变...
2019-07-25 21:56:06
1144
1
原创 Java学习-多态的向上向下转型
多态中的向上向下转型,以下面三个叠加继承类来说明父类:Animalpublic class Animal { public void run() { System.out.println("Animal is running"); }}子类:Felidae(猫科)public class Felidae extends Animal{ p...
2019-07-22 21:36:30
184
转载 Java学习-接口Interface
在Java 9+版本中,接口的内容可以有:成员变量其实是常量,格式:[public] [static] [final] 数据类型 常量名称 = 数据值;注意:常量必须进行赋值,而且一旦赋值不能改变。常量名称完全大写,用下划线进行分隔。接口中最重要的就是抽象方法,格式:[public] [abstract] 返回值类型 方法名称(参数列表);注意:实现类必须覆盖重写接口所有的...
2019-07-21 20:45:29
143
转载 Java学习-抽象类Abstract
抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。如何使用抽象类和抽象方法:不能直接创建new抽象类对象。必须用一个子类来继承抽象父类。子类必须覆盖重写抽象父类当中所有的抽象方法。覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号。创建子类对象进...
2019-07-21 11:00:37
187
转载 Java学习-super
super关键字的用法有三种:在子类的成员方法中,访问父类的成员变量。在子类的成员方法中,访问父类的成员方法。在子类的构造方法中,访问父类的构造方法。public class Zi extends Fu { int num = 20; public Zi() { super(); } public void methodZi() {...
2019-07-21 09:42:26
112
原创 Java学习-在继承中访问构造方法的解析
构造方法的基础概念:a. 构造方法在创建实例对象的时候调用b. 如果一个类没有写构造方法,那么编译器会自动送一个默认的无参构造器给你c. 只要你定义了一个构造方法,不论有参数没参数,编译器都不会再送你对子类来说,如果没有写构造方法,那么编译器自动赠送一个,但是前提是父类存在无参构造方法(不论是父类中自己定义的还是编译器赠送的那个, 只要有就行)如果父类中只定义了有参构造方法,没有无参构...
2019-07-20 21:35:20
168
原创 Java学习-Math
文章目录基础小练习基础java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。public static double abs(double num):获取绝对值。有多种重载。public static double ceil(double num):向上取整。public static double floor(double num):向下...
2019-07-18 21:25:07
165
原创 Java学习-Static
基础一旦使用static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的。如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。如果有了static关键字,那么不需要创建对象,直接就能通过类名称来使用它。无论是成员变量,还是成员方法。如果有了static,都推荐使用类名称进行调用。静态变量:类名称.静态变量静态方法:类名称.静态方法()对于本...
2019-07-18 20:45:46
157
原创 Java学习-String的常用方法
/*String当中与获取相关的常用方法有:public int length():获取字符串当中含有的字符个数,拿到字符串长度。public String concat(String str):将当前字符串和参数字符串拼接成为返回值新的字符串。public char charAt(int index):获取指定索引位置的单个字符。(索引从0开始。)public int indexOf...
2019-07-16 20:58:33
821
原创 Java学习-String基础
字符串的特点a. Java中所有的的双引号括起来的字符串(如"abc")都是String类的实例对象b. java.util.String不需要写导入语句c. 字符串是常量,创建之后不能修改d. 因为字符串不可改变,所以字符串可以共享使用e. 字符串相当于cha[]字符数组,但底层原理是bytes[]字节数组创建字符串的3+1种方法a. public String() - 创建一...
2019-07-16 20:28:28
186
原创 Java学习-ArrayList
/*ArrayList集合的长度可以发生改变有个<E>代表泛型泛型:装在集合中的所有元素都是统一的什么类型注意:泛型只能是引用类型,不能是基本类型。ArrayList<int>是错误的! 如果希望存储基本类型数据,必须使用基本类型对应的包装类基本类型 包装类(引用类型,包装类都位于java.lang包下)byte Bytesh...
2019-07-14 15:37:38
138
原创 Java学习-Random
/*Random.nextInt(n)左闭右开,范围是0~n-1*/import java.util.Random;public class Random_test { public static void main(String[] args) { Random rd = new Random(); for (int i = 0; i <...
2019-07-14 13:12:30
259
原创 Java学习-Scanner
/*Scanner类的功能,可以实现键盘输入数据,到程序中引用类型的一般使用步骤:1. 导包import 包路径.类名称;如果目标类在当前类统一目录下就可以省略导入语句只有java.lang包下的内容不需要导包2. 创建类名称 对象名 = new 类名称();3. 使用对象名.成员方法名()获取键盘一个Int数字,int num = sc.nextInt();变量 Str...
2019-07-14 12:24:09
180
转载 Java学习-定义一个标准类
/*一个标准类通常包含四个组成1. 所有成员变量都用private修饰2. 为每一个成员变量写一对Getter/Setter方法3. 写一个无参数的构造方法4. 写一个全参数的构造方法5. *****在idea中的alt+insert快捷键可以快速插入成员方法****/在类中写好两个成员变量之后就可以用alt+insert快速插入以下六个成员方法(构造方法和两个变量的Getter...
2019-07-14 10:34:43
301
转载 Java学习-构造方法
/*构造方法是用来创建对象的方法,用new来创建对象的时候,就是在调用构造方法格式:public 类名称(参数类型 参数名称) { 方法体}注意事项:1. 构造方法的名称必须和类名称完全一样, 包括大小写2. 构造方法不要写返回值类型,void也写3. 构造方法不能retuan一个具体的返回值4. 如果没有写任何构造方法,编译器会自动给你一个,但是没有参数,方法体什么事都不做...
2019-07-14 10:24:53
192
转载 Java学习-this
/*当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。如果需要访问本类当中的成员变量,需要使用格式:this.成员变量名“通过谁调用的方法,谁就是this。” */1.定义一个Person类public class Person { String name; // 我自己的名字 // 参数name是对方的名字 // 成员变量nam...
2019-07-14 08:43:23
133
转载 Java学习-局部变量和成员变量的比较
/*局部变量和成员变量1. 定义的位置不一样【重点】局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中2. 作用范围不一样【重点】局部变量:只有方法当中才可以使用,出了方法就不能再用成员变量:整个类全都可以通用。3. 默认值不一样【重点】局部变量:没有默认值,如果要想使用,必须手动进行赋值成员变量:如果没有赋值,会有默认值,规则和数组一样4. 内存的位置不一...
2019-07-14 08:01:34
205
转载 Java学习-内存划分
Java内存划分5个部分栈(Stack):存放的是方法的局部变量,方法的运行一定要在栈当中局部变量: 方法的参数或方法内部变量作用域:一旦超出作用域,立刻会从栈内存中消失堆(Heap):凡是new出来的东西,都在堆里堆内存里的东西都有一个地址:16进制如果是整数 默认为0如果是浮点数 默认为0.0如果是字符 默认为’\u0000’如果是布尔值 默认为f...
2019-07-11 20:30:40
117
转载 Java学习-数组Array && Arrays
1.数组的初始化package cn.itcast.day05.demo01;/*使用静态初始化数组的时候,格式还可以省略一下。标准格式:数据类型[] 数组名称 = new 数据类型[] { 元素1, 元素2, ... };省略格式:数据类型[] 数组名称 = { 元素1, 元素2, ... };注意事项:1. 静态初始化没有直接指定长度,但是仍然会自动推算得到长度。2...
2019-07-11 19:56:30
172
转载 Java学习-方法重载
package cn.itcast.day04.demo04;/*对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。方法重载与下列因素相关:1. 参数个数不同2. 参数类型不同3. 参数的多类型顺序不同方法重...
2019-07-10 21:35:28
158
转载 Java学习-方法
package cn.itcast.day04.demo03;/*使用方法的时候,注意事项:1. 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。2. 方法定义的前后顺序无所谓。3. 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。4. !如果方法有返回值,那么必须写上“return 返回值;”,不能没有。5. !return后面的返回...
2019-07-10 21:35:21
112
转载 Java学习-加号
/*四则运算当中的加号“+”有常见的三种用法:对于数值来说,那就是加法。对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。char类型字符,和int类型数字,之间的对照关系表:ASCII、Unicode对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串*/pu...
2019-07-10 21:35:04
232
转载 Java学习-编译器的两点优化
/*对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)。1. 如果没有超过左侧的范围,编译器补上强转。2. 如果右侧超过了左侧范围,那么直接编译器报错。*/public class Demo12Notice { public static void main(Stri...
2019-07-10 21:34:52
148
转载 Java学习-变量
/*使用变量的时候,有一些注意事项:1. 如果创建多个变量,那么变量之间的名称不可以重复。2. 对于float和long类型来说,字母后缀F和L不要丢掉。3. 如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围。4. 没有进行赋值的变量,不能直接使用;一定要赋值之后,才能使用。5. 变量使用不能超过作用域的范围。【作用域】:从定义变量的一行开始,一直到...
2019-07-10 21:34:37
244
转载 Java学习-数据类型转换
/*强制类型转换 1. 特点:代码需要进行特殊的格式处理,不能自动完成。 2. 格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;注意事项: 1. 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。 2. byte/short/char这三种类型都可以发生数学运算,例如加法“+”. 3. byte/short/char这三种类型在运算的时候,都...
2019-07-10 21:34:25
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人