自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 集合

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结1.1由来1.2 集合和数组的区别1.3 集合简述2. 集合详述2.1 Collection接口(单列集合)2.1.1 List接口2.1.1.1ArrayList实现类2.1.1.2 LinkedList实现类2.1.1.3Vector实现类(只要了解就行)2.1.1.4通过List接口引用指向子类常用的方法2.1.1.4.1迭代器2.1.1.4.2 泛型(简述)2

2021-03-29 22:11:16 136

原创 ArrayList和LinkedList源码解读

ArrayList & LinkedList & Vector源码分析1. ArrayList源码分析1.1ArrayList继承关系和层次结构ArrayList:说明支持了泛型entends AbstractList:继承了AbstractListimplements List, RandomAccess, Cloneable, java.io.Serializablepublic class ArrayList<E> extends AbstractList&

2021-03-29 19:56:51 115

原创 常用类

常用类Object类getClass()方法public final Class<?> getClass(){}返回引用中存储的实际对象类型应用:通常用于判断两个引用中实际存储对象类型是否一致public static void main(String[] args) { Students s1 = new Students("张三",20); Students s2 = new Students("李四", 21); //判断s

2021-03-22 02:15:39 184

原创 捕获和抛出异常

异常处理机制异常处理的五个关键字:try、carch、finally、throw、throws。捕获异常:try、catch、finallypublic class Demo01 { public static void main(String[] args) { int a = 1; int b = 2; //捕获异常一定要有try、catch,finally可有可以无(它主要用在IO 资源 关闭)

2021-03-14 14:44:24 412

原创 什么是异常

异常什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序在跑着,内存或硬盘就满了。等等。软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程序作出合理的处理。而不至于程序奔溃。异常指程序运行中出现的不期而至的各种,如:文件找不大、网络连接失败、

2021-03-14 01:09:50 356

原创 内部类

内部类内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就成为内部类,而A类相对B类来说就是外部类。成员内部类public class Outer { private int id = 10; public void out(){ System.out.println("这里是外部类"); } public class Inner{ public void in(){

2021-03-14 00:15:14 86

原创 接口

接口普通类:只有具体实现抽象类:具体实现和规范(抽象方法)只有规范!自己无法写方法,只有定义接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…的思想。如果你是汽车,就必须会跑、如果你是飞机,就必须会飞。接口的本质是契约,就像我们法律一样,制定好后大家必须遵守。OO(面向)的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都是针对具备了抽象能力的语言(c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。声明类的关键字是cl

2021-03-13 14:04:11 81

原创 抽象类

抽象类abstract 抽象类:java里的类是单继承的(extends),但接口是多继承的public abstract class Demo01 {}abstract 抽象方法,只有方法名,没有方法的实现public abstract void dosomething();注意点:不能new这个抽象类,只能靠子类去实现它:约束!抽象中可以写普通方法, 抽象方法必须在抽象类中(如果类中存在抽象方法就必须是抽象类)抽象类的所有方法,继承它的子类,都必须要实现(重写)它

2021-03-13 14:01:49 68

原创 static关键字详解

static关键详解方法:静态方法可以共享给它方法非静态方法的调用必须要new出来才能调用//还有方法public static void run(){ //静态方法//调用不了非静态方法,必须要new出来 new Student().go();}public void go(){ //非静态方法//在非静态或者类中的其他方法中,可以共享调用静态方法}属性:非静态的属性不能通过类名来调用。可以通过类名调用属性来判断它是否为静态属性。public class

2021-03-13 00:05:19 77

原创 多态

多态即同一个方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类、有关系的类:object)。多态存在的条件有继承关系(父类、有关系的类:object)子类重写父类的方法父类的引用指向子类对象注意事项:多态是方法的多态,属性是没有动态的(静态的属性,动态的方法)。父类和子类有联系的 类型转换异常:ClassCastExCeption!存在条件:继承关系、方法需要重写、父类引用指向子类对象!

2021-03-12 19:11:03 90

原创 继承

继承继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。extends的意思是“扩展”。子类是父类的扩展。public class person{}public class student extends person{}//这样就是继承了person这个父类(基类)Java中只有单继承,没有多继承。可以理解成一个儿子只能有一个父亲,但一个父亲可以有很多个儿子。继承是类和类之间的一种关系,除此之外,类和类的之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个

2021-03-12 14:47:16 74

原创 封装

封装该露的露,该藏的藏我们程序设计要追求"高内聚,低耦合",高内聚就是类的内部数据操作细节自己完成,不匀许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。记住这句话就够了:属性私有(private),get/set。封装的好处:提高程序的安全性,保护数据。隐藏代码的实现细节。统一接口: get/set系统可维护增加了//类 private(私有)它和publi

2021-03-12 14:46:24 74

原创 简单小结类与对象

类与对象小结类与对象:类是一个模板:抽象;对象是一个实例。方法:定义和调用对应的应用:在java中除了基本类型(byte、int、short、long、float、duoble、char、boolean(true和false))外的都是引用类型(类、接口、数组)。对象是通过引用类操作的:栈-----》堆(指向对象的地址)属性:字段(Field) 成员变量默认初始化数字:0 / 0.0char:u0000boolean:false引用:null

2021-03-10 21:29:40 66

原创 创建对象内存分析

创建对象内存分析应用小结的不是很到位,还有很多地方也迷迷糊糊的,有大神发现错误的可以私发我,谢谢!栈(stack):栈中主要寄放一些基本变量(8大基本类型)、对象引用。对象是不会放置里面的。堆(heap):用于存放new出来的对象(类的实例)与数组。方法区(method):方法区在堆空间内,用于存放:类的代码信息方法和静态变量常量池:字符串常量等,具有共享机制下面通过代码和内存分析图进行分析:public class Application {

2021-03-10 21:02:22 102

原创 创建与初始化对象

类与对象的关系类是一种抽象的数据类型,它是对某一类事物整体的描述/定义,但是并不能代表一个具体的事物。动物、植物、手机、电脑。。。Perosn类、Pet类、Car类等,这些类都是用来描述/定义某一类具体事物应该具备的特点和行为。对象是抽象概念的具体实例张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。创建与初始化对象使用new关键字创建对象。//学生类public class Student

2021-03-10 14:38:26 145

原创 回顾方法及加深

回顾方法及加深方法的定义修饰符:public static…返回类型:返回类型要和返回值类型相同break:强制结束程序。return:为方法结束语句,只要在方法结束输入return 和返回值;后面输入的内容会报错方法名:驼峰命名 和见名思意参数列表异常抛出方法的调用静态方法:有static的为静态方法静态方法要怎么去调用://对象名.方法名student.say();非静态方法:没有static的为非静态方法public class Student { p

2021-03-10 14:36:57 113

原创 什么是面向对象

对象过程 & 面向对象面向过程思想步骤清晰简单,第一步做什么…第二步做什么面向过程比较适合处理一些简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要那些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题!对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。什么是

2021-03-10 14:35:51 59

原创 数组总结

数组目录数组的定义、声明、创建...数组的定义数组的声明和创建内存分析三种初始化数组的四个基本特点数组边界小结数组的使用多维数组Arrays类冒泡排序稀疏数组数组的定义、声明、创建…笔记数组的定义数组是相同类型数据的有序组合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作为一个数组元素,每个数组元素可以通过一个下标来访问它们。数组的声明和创建数组类型 变量名字 = 变量的值首先对数组变量进行声明,才能在程序中使用。dataType[]

2021-03-08 21:58:55 73

原创 稀疏数组

稀疏数组稀疏数组它一种数据结构当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方式是:记录数组一共有几行几列,有多少个不同值把具体不同的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模如图左边是原始数组。右边是稀疏数组练习题:需求:创建一个11*11的二维数组 0:没有棋子 1:等于黑棋 2:等于白棋输出原始数组输出稀疏数组将稀疏数组还原成原始数组public class ArrayDemo08

2021-03-08 16:32:49 128 3

原创 冒泡排序

冒泡排序冒泡排序无疑是最为出名的排序算法之一,总共有八大排序!冒泡的代码还是相当简单的,两层循环,外层是循环次数,内层是依次比较。我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n2)。import java.util.Arrays;/* 冒泡排序: 1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换它们的位置 2.每次比较,都会产生出一个最大的值,或者一个最小的值 3.下次轮则可以少一次排序! 4.依次循环,直到结束!

2021-03-07 23:55:28 105 1

原创 Arrays类

Arrays类数组的工具类java.util.Arrays由于数组对象本身没有并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作。查看JDK帮助文档 APIArrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象类调用(注意:是“不用”而不是"不能")具体以下常用功能:打印数组元素:通过toString方法:public class ArrayD

2021-03-07 23:54:46 66

原创 多维数组

多维数组多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一堆数组,其每一个元素都是一个一堆数组。二维数组int a[][] = new int[2][5];解析:以上二维数组a可以看成一个两行五列的数组。public class ArrayDemo05 { public static void main(String[] args) { /*多维数组 怎么定义多维数组,在数组类型后面加两个[][]中括号 那下面这行代码代表什

2021-03-07 19:58:29 92

原创 数组的使用

数组的使用普通for循环int[] arrays = {1,2,3,4,5};求数组的元素for (int i = 0; i <arrays.length ; i++) { System.out.println(arra求数组中元素的和int sum = 0; //定义一个变量for (int i = 0; i <arrays.length ; i++) { sum = sum+arrays[i]; //将循环出来的每一个数组元素加上

2021-03-07 19:57:27 96

原创 数组

数组数组的定义数组是相同类型数据的有序组合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作为一个数组元素,每个数组元素可以通过一个下标来访问它们。数组声明和创建首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的语法:dataType[]arrayRefVar; //首先方法 ☆或dataType arrayRefVar[];//效果相同,但不是首选方法(它是c和c++的语法)Java语言使用new操作符来创建数组,语法

2021-03-06 18:07:56 115

原创 练习题:写一个计算器!

写一个计算器,要求加减乘除,并且能够循环接收新的数据,通过用户交互实现。写4个方法:加减乘除。利用循环switch进行用户交互传递需要操作的两个数输出结果package com.dai.method;import com.sun.org.apache.xml.internal.utils.SuballocatedByteVector;import java.util.Scanner;public class Calculator { public static void

2021-03-04 00:21:36 308 1

原创 Java方法总结

Java方法总结什么是方法?笔记Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含类或对象中方法在程序中被创建,在其他地方呗引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。方法的定义Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段方法包含一个方法头和一个方法体:修饰符、返回值类型、方法名、参数类

2021-03-03 20:54:52 100 1

原创 递归

递归A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己利用递归可以简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转换为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可描述出解题过程所以需要多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限聚合。递归结构包括两个部分:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归体:什么时候需要调用自身方法。public cla

2021-03-03 20:33:45 103 1

原创 可变参数

可变参数JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法。在方法声明中,在指定参数类型后加一个省略号(…).一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。public class Demo04 { public static void main(String[] args) { printMax(35,35.4,78,54,12.5,41); printMax(new double[]{1,2

2021-03-03 20:33:03 129 1

原创 命令行传参

命令行传参有时候你希望运行一个程序的时候在传递给它消息。这要靠传递吗命令行参数给main()函数实现。public class Demo03 { public static void main(String[] args) { //命令行传参 //args.length:数组长度 for (int i = 0; i < args.length ; i++) System.out.println("args["+i+

2021-03-03 20:32:35 165 1

原创 方法重载

方法重载重载就是在一个类中,有相同的函数名称,但形参不同的函数。public class Demo02 { public static void main(String[] args) { //max(20,20)是实际参数:调用方法时实际传給方法的数据。 int max = max(20, 20); System.out.println(max); } //比较大小 //max(int num1,int num2)是形

2021-03-03 20:31:55 109 1

原创 什么是方法、定义、调用

何谓方法System.out.println(),它是什么呢?答:System是系统的类;out是类的对象;println()是对象下的方法。Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含类或对象中方法在程序中被创建,在其他地方呗引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。回顾:方法的命名规则?答:驼峰原

2021-03-03 20:31:30 200 1

原创 Java控制流程总结

文章目录用户交互ScannerScanner对象顺序结构、选择结构顺序结构:选择结构:循环结构while循环:break & continue用户交互Scannerhttps://blog.csdn.net/Daibinbin_/article/details/114047281?spm=1001.2014.3001.5501Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但Java给我们提供了一个工具类,我们可以获取用户输入。Java.util.Scanner是J

2021-03-03 08:41:27 162 5

原创 增强for

增强for循环java5 引入了一种主要用于数组或集合的增强型for循环。java增强for循环语法格式如下;for(声明语句:表达式){ //代码语句}声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为 数组的方法。public class PulsForDemo { public static void main(String[] args)

2021-03-01 22:21:28 91

原创 break、continue

Breakbreak在任何循环语句的主体部分,均可以用break控制循环流程。break用于强行退出循环,不执行循环中剩余的语句(break语句也在switch语句中使用)。public class BreakDemo { public static void main(String[] args) { //break语句 int i = 0; while (i<100){ i++; Sy

2021-03-01 22:20:41 112

原创 循环结构

循环结构while循环while是最基本的循环,他的结构为while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直循环下去。我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。循环条件一直为true就会造成无线循环【死循环】,我们正常的业务编辑过程中应该尽量避免死循环。会影响程序性能或者造成程序卡死奔溃!思考:计算1+2+3+…+100=?publi

2021-02-28 22:07:58 119

原创 顺序结构、选择结构

顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。> System.out.println("hello world1" ); System.out.println("hello world2" ); System.out.println("hello wo

2021-02-28 16:43:00 122

原创 用户交互Scanner

Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但Java给我们提供了一个工具类,我们可以获取用户输入。Java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户输入。基本语法:Scanner scanner = new Scanner(scanner.in);通过Scanner类的next()与nextLine()方法获取输入字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

2021-02-24 22:53:32 81

原创 基础语法总结

总结目录注释、标识符、关键字数据类型类型转换变量、常量运算符包机制、JavaDoc目录链接和笔记链接是一样的!!!注释、标识符、关键字 笔记Java中分3中注释:单行注释://多行注释:/* */文档注释:/** @author… */标识符:Java 所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符。所有表示符都应该字母(A-Z 或者 a-z),美元($)、或者下划线(_)开始首字母后可以使用(A-Z 或者 a-

2021-02-23 23:19:19 149

原创 包机制、javadoc

包机制为了更好的组织类,java提供了包机制,用于区别类名的命名空间。包语法的语法格式为:package pkg1[.pkg[.pkg...]] //这句话必须放在程序的第一行,不然要报错一般利用公司的域名倒置作为包名:如www.baidu.com---->com.baidu.www为了能够使用某一个包的成员,我们需要在java程序中明确导入该包。使用“import”语句可完成此功能import package[.package2...].(classname|*);//

2021-02-23 22:04:09 132

原创 Java支持的运算符

Java支持以下运算符目录1. 算数运算符2. 赋值运算符3. 关系运算符4. 逻辑运算符5. 位运算符6. 条件运算符7. 扩展赋值运算符算数运算符:+,-,*,/,%,++,–二元运算符 //二元运算符(需要两个数运算称为二元运算符) //CTRL+D可以将内容复制下一行,非常好用! int a = 10; int b = 20; int c = 30; int d = 40;

2021-02-22 00:14:30 238

空空如也

空空如也

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

TA关注的人

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