自定义博客皮肤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)
  • 收藏
  • 关注

原创 异常Exception

异常机制Exception什么是异常异常体系结构java异常处理机制处理异常自定义异常总结异常指程序运行中出现得不期而至得各种状况,如文件找不到、网络连接失败、非法参数等等异常发生在程序运行器件,会影响正常的程序执行流程三类异常检查性异常:最具代表的检查异常是用户错误或问题引起的异常,这是码农无法预见的运行时异常:程序运行时异常是可以被码农规避的异常,这也可能在编译中被忽略掉错误error:错误不是异常,而实脱离码农控制的问题,错误在代码中通常被忽略​

2021-09-26 15:25:32 86

原创 面向对象09内部类

内部类内部类就是在一个类的内部再定义一个类成员内部类静态内部类局部内部类匿名内部类成员内部类:package com.oop.demo10;public class Other { private int id=28; public void out(){ System.out.println("外部类方法"); } public class Inner{ public void in(){ S

2021-09-26 15:24:57 50

原创 面向对象08接口

```## 接口普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范,自己本身无法写方法,专业约束,即约束和实现分离开来,面向接口编程接口的本质就是契约### 声明类的关键字是class,声明接口的关键字是interface```javapackage com.oop.demo09;public interface UserService { //接口中的所有定义其实都是抽象的 public abstract(默认)// public a.

2021-09-26 15:24:13 65

原创 面向对象07抽象类

抽象类abstract修饰符可以用来修饰方法,也可以用来修饰类;如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类抽象类中可有没有抽象方法,但是有抽象方法,必须要声明为抽象类抽象类不能使用new关键字来创建对象,它是用来让子类继承的抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的子类继承抽象类,那么就必须要实现 抽象类没有的实现的抽象方法,否则该子类也要声明为抽象类package com.oop.demo08;//abstract抽象类public ab

2021-09-26 15:22:43 52

原创 面向对象06static关键字详解

static关键字详解package com.oop.demo07;//staticpublic class Student { private static int age;//静态的变量 private double score;//非静态变量 public void run(){ } public static void go(){ } public static void main(String[] args) {

2021-09-26 15:21:43 55

原创 面向对象05多态

多态多态即同一方法可以根据发生对象的不同而采用多种不同的行为方式,可以实现动态编译,增强可扩展性一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的条件:有继承关系子类重写父类的方法父类引用指向子类对象多态是方法的多态,属性没有多态性instanceof (类型转换) 引用类型package com.oop.demo06;public class Person { public void run(){ System.out.printl

2021-09-26 15:20:53 103

原创 面向对象04继承(object、super、方法重写)

继承继承的本质是对某一批类的抽象,extends就是扩展,子类就是父类的扩展Java里只有单继承没有多继承,一个父类可以有多个子类,但一个子类只能一个父类继承是类和类之间的一种关系,除此之外,类和类之间的关系还有依赖、组合、聚合等继承关系的两类,一个为子类(派生类),一个为父类(基类),子类继承父类,使用关键字extends来表示object类super方法重写object类:package com.oop.demo05;//Person 父类//public、private/

2021-09-26 15:19:15 70

原创 面向对象03封装

封装程序设计追求"高内聚、低耦合",高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量方法给外部使用。封装(数据的隐藏),通常应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这就是信息隐藏属性私有,get/setpackage com.oop.demo04;//类 private:私有public class Student { //名字、学号、性别、年龄 private String name; private int i

2021-09-26 15:18:32 43

原创 面向对象02类与对象的关系(创建与初始化对象)

类与对象的关系类:是一种抽象的数据类型,对某一类事物整体描述or定义,但不能代表某一具体的事物对象是抽象概念的具体实例创建与初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化****以及对类中构造器的调用****类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点:必须和类的名字相同必须没有返回类型,也不能写voidpackage com.oop.demo02;//学生类pub

2021-09-26 15:17:58 73

原创 面向对象01面向对象定义及方法回顾

面向对象初识面向对象方法回顾和加深对象的创建分析面向对象三大特性抽象类和接口内部类及OOP(面向对象编程)实战面向过程&面向对象面向过程思想:步骤清晰,第一步做法、第二步做法;且适合处理一些较为简单的问题面向对象思想:分类的思维模式,首先思考解决问题需要哪些分类,然后对这些分类进行单独思考,最后才对某个分类下的细节进行面向过程的思索;其适合处理复杂的问题,适合处理需要多人协作的问题对于复杂的事物,从整体上合理分析,需要使用面向对象的思路来分析整个系统,到了具体操作仍然需要面向

2021-09-26 15:17:05 62

原创 数组06稀疏数组

稀疏数组当一个数组中大部分元素位0,或者为同一值得数组时,可以使用稀疏数组来保存该数组稀疏数组得处理方式是:记录数组一共有几行几列,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模package com.dsh.array;import java.util.jar.JarEntry;public class ArrayDemo08 { public static void main(String[] args) { //1.创

2021-09-22 20:17:25 43

原创 数组05Arrays类

Arrays类数组的工具类java.util.Arrays因为数组对象本身没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作查看JDK帮助文档Arrays类中的方法都是static修饰的静态方法,在使用时可以直接使用类名进行调用,而”不用“使用对象来调用(注意:是 不用,而不是 不能)具有以下功能:给数组赋值:通过fill方法给数组排序:通过sort方法,升序比较数组:通过equals方法比较数组中元素是否相等查找数组元素:

2021-09-22 20:16:55 36

原创 数组04多维数组

多维数组多维数组可以看成是数组的数组,如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组二维数组:int a[ ] [ ]=new int[ 2] [ 5]以上二维数组a可以看成两行五列的数组package com.dsh.array;public class ArrayDemo05 { public static void main(String[] args) { //[4][2] /* 1,2 array[0]

2021-09-22 20:15:20 100

原创 数组03数组的使用

数组的使用普通For循环For-Each循环数组方法入参数组作返回值package com.dsh.array;public class ArrayDemo03 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //打印全部的数组元素 for (int i=0;i<arrays.length;i++){ Syst

2021-09-22 20:14:53 41

原创 数组02内存分析+初始化

内存分析Java内存分析:堆存放new的对象和数组可以被所有的线程共享,不会存放别的对象引用栈存放基本变量类型(会包含这个基本类型的具体数值)引用对象的变量(会存放这个引用在堆里面的具体地址)方法区可以被所有线程共享包含了所有的class和static变量三种初始化静态初始化int[] a={1,2,3};Man[ ] mans = {new Man(1,1),new Man(2,2)};动态初始化int[] a = new int[2];a[0]=1;

2021-09-22 20:14:16 46

原创 数组01数组定义+数组声明及创建

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

2021-09-22 20:13:48 112

原创 java方法04递归

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

2021-09-22 13:23:48 62

原创 Java方法03方法的重载+命令行传参

方法的重载重载就是在一个类中,有相同的函数名称,但形参不同的函数方法的重载规则:方法名称必须相同参数列表必须不同(个数不同or类型不同、参数排列顺序不同等)方法的返回类型可相同也可不同仅仅返回类型不同不足以成为方法的重载实现理论:方法名称相同时,编译器会根据调用方法的参数个数、参数类型等逐个匹配,以选择对应的方法,若匹配失败,则编译报错命令行传参有时需要运行一个程序时再传递给它消息,这需要靠传递命令行参数给main()函数实现package com.dsh.method;publ

2021-09-22 13:23:16 41

原创 Java方法01-02

1. 何谓方法?方法的定义及调用方法重载命令行传参可变参数何谓方法java方法是语句的集合,在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能快,就是实现某个功能的语句块的集合我么设计方法的时候,最好保持方法的原子性,即一个方法只完成1个功能,这样有利于我们后期的扩展方法的定义Java方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,

2021-09-22 13:22:10 65

原创 流程控制05循环结构

循环结构while循环do…while循环for 循环还有一种用于数组的增强型for循环while循环while是最基本的循环,结构为:while(布尔表达式){//循环内容}只要布尔表达式为true,则循环就会一直执行下去多数情况下,需要将循环停下,则需要一个让表达式失败的方式来结束循环少数情况需要循环一直执行循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中应尽量避免死循环,死循环会影响程序性能或者造成成勋卡死崩溃package com.d

2021-09-19 13:53:02 47

原创 流程控制04选择结构

选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构if单选择结构判断一个东西是否可行,然后再执行,这样一个过程就需要用到if语句语法:if(布尔表达式){//如果布尔表达式为true,将执行后续语句}package com.dsh.struct;import java.util.Scanner;public class IfDemo01 { public static void main(String[] args) {

2021-09-16 00:32:04 34

原创 流程控制03顺序结构

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

2021-09-16 00:31:08 36

原创 流程控制01-02Scanner

流程控制用户交互Scanner顺序结构选择结构循环结构break & continue练习可以通过Scanner类来获取用户的输入基本语法:Scanner s = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用 hasNext()与hasNextLine()判断是否还有输入的数据package com.dsh.scanner;import jav

2021-09-08 15:51:30 33

原创 基础篇04运算符

运算符Java支持如下运算符:优先级( )算术运算符:+、-、*、/、%(取余,模运算)、++(自增)、–(自减)赋值运算符:=关系运算符:>、<、>=、<=、==(就是等于)、!=(不等于)、instanceof逻辑运算符:&&、||、!(与、或、非 )位运算符:&、|、^、~、>>、<<、>>>(了解!!!)条件运算符?:扩展赋值运算符:+=、-=、*=、/=二元运算符:public class

2021-09-06 23:45:48 392

原创 基础篇03类型转换及变量常量命名规范

类型转换由于Java是强类型语言,故有时需要进行类型转换低--------------------------->高byte、short、chat–>int–>long–>float–>double运算中需将不同类型的数据先转化为同一类型数据,再进行运算public class Demo05 { public static void main(String[] args) { int i=128; byte b=(byte)i;

2021-09-06 15:32:28 72

原创 基础篇02数据类型及类型转换

数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用弱类型语言Java的数据类型分为两大类基本类型 primitive type数值类型整数类型byte占1个字节范围:-128 ~ 127short占2个字节范围:-32768 ~ 32767int占4个字节范围:-2147483648 ~ 2147483647long占8个字节范围:-9223372036854775808 ~ 9223372036854775807浮点类型float占4个字节

2021-09-06 15:30:27 55

原创 基础篇01注释、标识符、关键字

注释、标识符、关键字注释单行注释(另起一行,开头//)多行注释(开头/*,结尾 */)文档注释JavaDoc(开头/** ,中间可* @ 结尾*/)注释不会被执行,给开发者看的,结构复杂时,注释尤为重要平时写代码,注意编写规范标识符关键字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfin

2021-09-06 15:29:34 107

原创 入门篇02

hello world随便新建一个文件夹,code新建一个Java文件后缀为, .javahello.java编写代码public class hello{ public static void main(String[] args){ System.out.print("hello,world!"); }}编译javac Java文件,会生成一个class文件运行class文件,java class文件可能遇到的情况每个单词的大小写不能出现问

2021-09-06 15:28:43 40

原创 入门篇01

Markdown标题三级标题四级标题字体hello,world!hello,world!hello,world!hello,world!hello,world!引用选择java分割线图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1rIb56tr-1630913228281)(C:\Users\lenovo\Pictures\Saved Pictures\IMG_0167(20191126-222903)].JPG)超链接点击跳转

2021-09-06 15:28:06 31

空空如也

空空如也

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

TA关注的人

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