![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java菜鸟笔记
五毒幽泉
一只努力的菜鸟
展开
-
JAVA笔记五十一:多态
一、多态的格式和使用代码当中体现多态性,其实就是一句话:父类引用指向子类对象。格式:父类名称 对象名 = new 子类名称();或者:接口名称 对象名 = new 实现类名称();二、多态的成员变量的使用特点访回成员变量的两种万式:直接通过对象名称访问成员变量:看等号左边是谁,优先用谁,没有则向上找。 间接通过成员方法访问成员变量:看该方法属于谁,优先用谁,没有则向上找。...原创 2022-03-15 19:06:17 · 247 阅读 · 0 评论 -
JAVA笔记五十:接口的多继承
使用接口的时候,需费汪意:接口是没有静态代码块或者构造方法的。 一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。格式: public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB { 覆盖重写所有抽象方法 } 如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。 如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类。 如果...原创 2022-03-08 19:52:41 · 563 阅读 · 0 评论 -
JAVA笔记四十九:接口知识小结
在Java 9+版本中,接口的内容可以有1. 成员变量其实是常量,格式:[public] [static] [final]数据类型常量名称 = 数据值;注意:常量必须进行赋值,而且一旦赋值不能改变。 常量名称完全大写,用下划线进行分隔。2.接口中最重要的就是抽象方法,格式:[public] [abstract]返回值类型方法名称(参数列表);注意:实现类必须覆盖重写接口所有的抽象方法,除非实现类是抽象...原创 2022-03-08 19:35:30 · 108 阅读 · 0 评论 -
JAVA 笔记四十八:接口
一、接口就是多个类的公共规范。接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。备注:换成了关键字interface之后,编译生成的字节码文件仍然是(.class):如果是Java 7,那么接口中可以包含的内容有:1、常量 2、抽象方法 如果是Java 8,还可以额外包含有:3.默认方法 4、静态方法 如果是Java 9,还可以额外包含有:5.私有方法二、接口的抽象方法定义在任何版本的Java中,接口都能定义抽象方法。格式:public abstract 返回值类型 方法名称(原创 2022-03-08 19:26:17 · 276 阅读 · 0 评论 -
JAVA笔记四十七:抽象
抽象方法和抽象类的格式抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。 抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。原创 2022-03-03 19:40:23 · 156 阅读 · 0 评论 -
JAVA笔记四十六:面向对象三大特征:继承性
在父子类的继承关系当中,创建子类对象,访问成员方法的规则: 创建的对象是谁,就优先用谁,如果没有则向上找。注意事项:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会下找子类的。...原创 2021-12-25 16:57:43 · 82 阅读 · 0 评论 -
JAVA笔记四十五:Math练习题
题目:计算在-10.8到5.9之间,绝对值大于6或者小于2.1的帧数有多少个?分析:既然已经确定了范围,for循环 起点位置-10.8应该转换成为-10,两种办法: 可以使用 Math.ceil 方法,向上(向正方向)取整 强转成为 int ,自动舍弃所有小数位 每一个数字都是整数,所以步进表达式应该是num++,这样每次都是+1的。 如何拿到绝对值:Math.abs 方法 一旦发现了一个数字,需要让计数器 ++ 进行统计public static void main(Stri原创 2021-11-08 10:06:35 · 436 阅读 · 0 评论 -
JAVA笔记四十四:Math类
一、public static double ceil(double d)【天花板数】public static void main(String[] args) { int records = 101;// 共有 101 条记录 final int GROUP_NUM = 10;//每组 10 条 int groups = (int) Math.ceil(1.0 * records / GROUP_NUM); //注意这里的1.0,目的是要把类.原创 2021-10-28 10:30:26 · 105 阅读 · 0 评论 -
JAVA笔记四十三:排序
一、冒泡排序基本思路:对未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有 N 个元素,那么一共要进行 N-1 轮比较,第 I 轮要进行 N-I 次比较。(如: 有 5 个元素,则要进行 5-1 轮比较。第 3 轮则要进行 5-3 次比较)public static void main(String[] args) {原创 2021-10-27 09:50:57 · 86 阅读 · 0 评论 -
JAVA笔记四十三:排序
一、冒泡排序基本思路:对未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有 N 个元素,那么一共要进行 N-1 轮比较,第 I 轮要进行 N-I 次比较。(如: 有 5 个元素,则要进行 5-1 轮比较。第 3 轮则要进行 5-3 次比较)public static void main(String[] args) {原创 2021-10-27 09:50:57 · 86 阅读 · 0 评论 -
JAVA笔记四十二:数组工具类Arrays
java.util.Arrays 是一个与数组相关的工具类,里面提供了大量静态方法,用来事项数组常见的操作。public static String toString( 数组 ):将参数数组变成字符串(按照默认格式:[ 元素1,元素2,元素3,... ])public static void sort( 数组 ):按照默认升序(从小到大)对数组的元素进行排序。备注:如果是数值,sort 默认按照升序从小到大如果是字符串,sort 默认按照字母升序如果是自定义的类型,那么这个自定义的.原创 2021-10-27 09:39:32 · 1259 阅读 · 0 评论 -
JAVA笔记四十一:静态static关键字
如果一个成员变量使用了static关键字,难么这个变量不再属于对象自己,而是属于所在的类。多个对象共享同一份数据static用法:1.修饰成员变量 2.修饰成员方法 3.静态块 4.静态导包一旦使用 static 修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的。如果没有 static 关键字,那么必须首先创建对象,然后通过对象才能使用它。如果有了 static 关键字,那么不需要创建对象,直接就能通过类名称来使用它。无论是成员变量,还是成员方法。如果有.原创 2021-10-26 09:35:17 · 108 阅读 · 0 评论 -
JAVA笔记四十:字符串方法练习
一、按指定格式拼接字符串定义一个方法,把数组{1,2,3}按照指定格式拼接春一个字符串。格式:[word1#word2#word3]。分析:首先准备一个int[ ]数组,内容是:1,2,3 定义一个方法,用来将数组变成字符串。 三要素: 返回值类型:String 方法名称:fromArrayToString 参数列表:int[ ] 3.格式:[word1#word2#word3]用到:for循环、字符串拼...原创 2021-10-13 21:52:42 · 184 阅读 · 0 评论 -
JAVA笔记三十九:字符串常用方法
== 是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:一、public bolean equals( Object obj ):参数可以是一个字符串并且内容相同的才会给 true;否则返回 false。注意事项:任何对象都能用 Object 进行接收。 equals 方法具有对称性,也就是 a.equals(a) 效果一样。 如果比较双方一个常量一个变量,推荐把常量字符串写在前面。public bolean equalsIgnoreCase(String st.原创 2021-10-11 09:11:38 · 107 阅读 · 0 评论 -
JAVA笔记三十八:字符串概述和特点
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分原创 2021-09-27 20:46:02 · 106 阅读 · 0 评论 -
JAVA笔记三十七:ArrayList 练习题
一、题目:生成6个1~33之间的随机整数,添加到集合,并遍历集合。思路:需要存储6个数字,创建一个集合,<integer> 产生随机数,需要用到Random 用循环6次,来产生6个随机数字:for循环 循环内调用r.nextInt(int n),参数是33,0~32,整体+1才是1~33 把数字添加到集合中: add 遍历集合:for、size、 getpublic static void main(String[] args) { ArrayList<原创 2021-09-23 17:39:31 · 532 阅读 · 0 评论 -
JAVA笔记三十六:ArrayList概述和基本使用
数组的长度不可以发生改变。但是 ArrayList 集合的长度是可以随意变化的。对于ArrayList 来说,有一个尖括号<E>代表泛型。泛型:也就是装在集合当中的所有元素,全都是统一的什么类型·。注意:泛型只能是引用类型,不能是基本类型。注意事项:对于ArrayList 集合来说,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空的中括号:[ ]public static void main(String[] args){ // 创建一个 .原创 2021-09-18 13:44:58 · 167 阅读 · 0 评论 -
JAVA笔记三十五:对象数组
题目:定义一个数组,用来存储3个Person对象数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变。原创 2021-09-17 15:28:23 · 67 阅读 · 0 评论 -
JAVA笔记三十四:Random使用
Random类用来生成随机数字。使用起来也是三个步骤:导包:import java.util. Random; 创建:Random r = new Random(); // 小括号当中留空即可 使用: 获取一个随机的int数字(范围是int所有范围,有正负两种): int num = r.nextInt() 获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3) 实际上代表的含义是:[0,3),也就是0~2 ...原创 2021-09-17 15:16:57 · 101 阅读 · 0 评论 -
JAVA笔记三十三:匿名对象
创建对象的标准格式:类名称对象名= new类名称();匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。new类名称();注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。...原创 2021-09-15 10:15:54 · 70 阅读 · 0 评论 -
JAVA笔记三十二:Scanner概述
scanner类的功能:可以实现键盘输入数据,到程序当中。引用类型的一般使用步骤:1.导包import包路径.类名称;如果需要使用的自标类,和当前类位于同一个包下,则可以省略导包语句不写。只有java.Lang包下的内容不需要导包,其他的包都需要import语句。2.创建类名称对象名= new类名称();3.使用对象名.成员方法名()...原创 2021-09-13 17:54:49 · 97 阅读 · 0 评论 -
JAVA笔记三十一:定义一个标准的类
一个标准的类通常要拥有下面四个组成部分:所有的成员变书都要使用private关键字修饰 为每一个成员变量编写一对儿Getter/Setter方法 编写一个无参数的构造方法 编写一个全参数的构造方法这样标准的类也叫做Java Bean...原创 2021-09-13 15:09:02 · 96 阅读 · 0 评论 -
JAVA笔记三十:构造方法
一、构造方法:是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法二、格式:public类名称(参数类型参数名称){方法体}三、注意事项:构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样 构造方法不要写返回值类型,连void都不写 构造万法不能return—个具体的返回值 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事情都不做。public student() {} —旦编写了至少—个构造方法,那么编译器将原创 2021-09-11 17:42:32 · 146 阅读 · 0 评论 -
JAVA笔记二十九:this关键字的作用
当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。如果需要访问本类当中的成员变量,需要使用格式:this.成员变量名“通过谁调用的方法,谁就是this”...原创 2021-09-11 11:28:22 · 524 阅读 · 0 评论 -
JAVA笔记二十八:面向对象三大特征之封装性
面向对象三大特征:封装、继承、多态。封装装性在Java当中的体现:方法就是一种封装 关键字private也是一种封装封装就是将一些细节信息隐藏起来,对于外界不可见。—旦使用了private进行修饰,那么本类当中仍然可以随意访问。但是!超出了本类范围之外就不能再直接访问了。间接访问private成员变量,就是定义一对儿Getter/Setter方法必须叫setXxx或者是getXxx命名规则。对于Getter来说,不能有参数,返回值类型和成员变量对应; 对于setter...原创 2021-09-10 21:29:33 · 526 阅读 · 0 评论 -
JAVA笔记二十七:成员变量和局部变量的区别
1.定义的位置不一样【重点】局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中2.作用范围不一样【重点】局部变量:只有方法当中才可以使用,出了方法就不能再用成员变量:整个类全都可以通用。3.默认值不—样【重点】局部变量:没有默认值,如果要想使用,必须手动进行赋值成员变量:如果没有赋值,会有默认值,规则和数组—样4、内存的位置不一样(了解)局部变量...原创 2021-09-10 21:13:55 · 81 阅读 · 0 评论 -
JAVA笔记二十六:练习题(三)
一、面向过程public class work { // public int day(int a) {// if (a >= 0 && a <= 6) {// switch (a) {// case 0:// System.out.println("星期日");// break;//原创 2021-09-09 17:21:51 · 164 阅读 · 0 评论 -
JAVA笔记二十六:练习题(二)
一、面向过程public class Tools { //没有参数,没有返回值 public void m1() { //方法内容 控制台上输出HelloWorld System.out.println("HelloWorld"); } //没有参数,没有返回值 public void m2() { //方法内容 比较两个整数大小输出较大的值 int x = 10; int y原创 2021-09-09 17:18:57 · 109 阅读 · 0 评论 -
JAVA笔记二十六:练习题(一)
一、创建一个手机类二、创建面向过程public class work { // public int day(int a) {// if (a >= 0 && a <= 6) {// switch (a) {// case 0:// System.out.println("星期日");// break.原创 2021-09-09 11:33:24 · 143 阅读 · 0 评论 -
JAVA笔记二十五:面向对象
一、概述面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。 面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事儿。 二、类和对象类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。 对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性和行为。三、类的定义曾成员变量是直接定义在类当中的,在方法外边。 成员...原创 2021-09-09 11:26:53 · 69 阅读 · 0 评论 -
JAVA笔记二十四:数组的常用内容
一、获取数组长度:数组名称.length这将会得到一个int数字,代表数组的长度。数组一旦创建,程序运行期间,长度不可以改变。练习题:求最小public static void main(String[] args) { int[] array = {4, 3, 2, 1, 6,}; int min = array[0], i; for (i = 0; i < array.length; i++){ if (ar原创 2021-09-08 11:44:37 · 86 阅读 · 0 评论 -
JAVA笔记二十三:常见问题
一、数组的索引编号从e开始,一直到“数组的长度-1”为止。如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常ArrayIndexOutOfBoundsException原因:索引编号写错了。解决:修改成为存在的正确索引编号。二、所有的引用奕型艾重,都叮以赋值为一个null值。但是代表具中什么都没有。数组必须进行new初始化才能使用其中的元素。如果只是赋值了一个null,没有进行new创建,那么将会发生:空指针异常 NulLPointerExcept..原创 2021-09-04 10:24:27 · 58 阅读 · 0 评论 -
JAVA笔记二十二:java中的内存划分
Java的内存需要划分成为5个部分:1.栈(Stack) :存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。局部变量:方法的参数,或者是方法科内部的变量 作用域:一旦超出作用域,立刻从栈内存当中消失。2.堆(Heap):凡是new出来的东西,都在堆当中。 堆内存里面的东西都有一个地址值:1...原创 2021-09-04 09:50:59 · 76 阅读 · 0 评论 -
JAVA笔记二十一:访问数组元素进行获取和赋值
直接打印数组名称,得到的是数组对应的:内存地址(哈希值(16进制))。访问数组元素的格式:数组名称[索引值]索引值:就是一个int 数字,代表数组当中元素的编号。【注意】索引值从0开始,一直到 “ 数组的长度-1 ” 为止。 public static void main(String[] args) { // 静态初始化的省略格式 int [] array = {10,20,30}; System.out.println(array);/原创 2021-09-04 09:26:35 · 133 阅读 · 0 评论 -
JAVA笔记二十:数组
数组的概念:是一种容器,可以同时存放多个数据值。数组的特点:数组是一种引用数据类型 数组当中的多个数据,类型必须统— 数组的长度在程序运行期间不可改变转载 2021-09-02 10:06:11 · 80 阅读 · 0 评论 -
JAVA笔记十九:重载联系
题目要求:比较两个数据是否相等参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,并在main方法中进行测试。public class Demo8{ public static void main (String[] args){ byte a = 10; byte b = 20; System.out.println(isSame(a,b)); System.out.println(isSame((short)20,(short)20)原创 2021-09-01 15:19:33 · 95 阅读 · 0 评论 -
JAVA笔记十八:方法的 【 重载 】
对于功能类似方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。方法的重载(OverLoad):多个方法的名称一样,但是参数列表不一样。好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。一、方法重载与下列因素相关: 参数个数不同 参数类型不同 参数的多类型顺序不同 二、方法重载与下列因素无关:与参数的名称无关 与方法的返回值类型无关public class Demo7{ public static void main(Strin原创 2021-09-01 10:03:47 · 125 阅读 · 0 评论 -
JAVA笔记十七:方法的注意事项
注意事项方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。 方法定义的前后顺序无所谓。 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。 如果方法有返回值,那么必须写上“ return 返回值;”,不能没有。 return 后面的返回值数据,必须和方法的返回值类型,对应起来。 对于一个 void 没有返回值的方法,不能写 return 后面的返回值,只能写 return 自己。 对于 void 方法当中最后一行的 return 可以省略不写。 一个原创 2021-09-01 09:58:33 · 105 阅读 · 0 评论 -
JAVA笔记十六:三种循环的区别
1.如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。2. for循环的变量在小括号当中定义,只有循环内部才可以使用。while循环和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。public class Demo13LoopDifference { public static void main(String[]args) { for (int i = 1; i < 0; i原创 2021-08-28 17:24:30 · 105 阅读 · 0 评论 -
JAVA笔记十五:switch语句注意事项
switch语句使用的注意事项:多个case后面的数值不可以重复。 switch后面小括号当中只能是下列数据类型: 基本数据类型: byte/short/char/int 引用数据类型:String字符串、java.lang、enum枚举 switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。“匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止。...原创 2021-08-28 16:33:40 · 146 阅读 · 0 评论