自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自定义异常

自定义异常 使用Java内置的异常类可以描述在编程是出现的大部分异常情况,除此之外用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可‘ 在陈旭中使用自定义异常类,大体可分为以下及格步骤: 创建自定义异常类 在方法中通过throw关键字抛出异常对象。 如果在当前抛出异常的方法中处理异常,可以用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。 在出现异常方法的调用者中捕获并处理异常。 pac

2021-06-30 22:56:47 138

原创 2021-06-30

异常处理机制 异常抛出 捕获异常 异常处理5个关键字 try catch finally throw throws package Expection; public class Test { public static void main(String[] args) { int a =1; int b =0; //假设要捕获多个异常:从大到小a try{//监控区域

2021-06-30 21:47:23 116

原创 Java异常机制

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

2021-06-30 21:00:44 131

原创 java内部类

内部类 内部类就是一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对于A类来说就称为内部类,而A类相对于B类来说就是外部类 成员内部类 静态内部类 局部内部类 匿名内部类 package oop.Dome10; public class Test { public static void main(String[] args) { //没有名字初始化类,不用将实例保存早变量中 new Apple().eat();

2021-06-29 21:14:07 100

原创 2021-06-29接口jiava

接口 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有 接口:只有规范,自己无法写方法,专业的约束,约束和实现分离:面向接口编程 接口就是规范,定义的是一组规则,体现了显示世界中“如果你是,则必须能”的思想:如果你是汽车则必须能跑 接口的本质是契约,就想我们人间的法律一样。制定好后大家都遵守 OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计,模式都只这对具备了抽象能力的语言(比如java,c等)及时因为设计模式所研究的,实际上就是如何合理地去抽象。

2021-06-29 20:37:42 208

原创 2021-06-29

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

2021-06-29 20:36:53 84

原创 Java,static

Static package oop.Dome07; //static public class Student { private static int age;//静态变量 private double score;//非静态变量 public void run(){ } public static void go(){ } public static void main(String[] args) { Student s1

2021-06-24 17:02:39 82

原创 java多态

多态 动态编译 :类型,可拓展性 即同一方法可以根据发送对象的不同而采用多种不同的行为方式 一个对象的实际类型是确定的,但可以指向的引用类型有很多(父类或者有关系的类) 多态存在的条件 有继承关系 子类重写父类方法 父类引用指向子类对象 注意:多态是方法的多态,属性没有多态性 package oop.Dome06; public class Applacation { public static void main(String[] args) {

2021-06-24 16:23:08 82

原创 继承JAVA

继承 继承的本质是对一批类的抽象,从而实现对现实世界更好的建模。 extends的意思是“拓展”。子类是父类的拓展 Java中只有单继承,没有多继承 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖,组合,聚合等’ 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示 子类和父类之间从意义上讲应该具有(is a)的关系 package oop.Dome05; public class Person { //p

2021-06-23 17:21:15 101

原创 封装Java

封装 该露的露该藏得藏 程序的设计要追求“高内聚,低耦合”,高类聚就是指内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用 封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 记住这句话就够了:属性私有,get/set package oop; import oop.Dome04.Student; /* 1.提高程序的安全性 2.隐藏代码的显示细节 3.统一接口 4.系统的可维护性增加了 */ publ

2021-06-22 21:00:19 78

原创 2021-06-21

创建对象内存分析 package oop.Dome03; import oop.Dome03.Pet; public class Application { public static void main(String[] args) { Pet dog = new Pet(); dog.name ="旺财"; dog.age = 3; dog.shout(); System.out.println(dog.name);

2021-06-21 00:14:56 90

原创 diaoyong

类跟对象的关系 类是一种抽象的数据类型,他是对某一类事物的抽象描述/定义,但是并不代表某一个具体的事物 动物,职务,手机,电脑。。。 person类,pet类,car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为 对于抽象的概念的具体实例 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。 能够体现书特点,展现出功能的具体实例,不是一个抽象的概念。 我们可以将这些思想转换为代码实现 创建与初始化对象 使用new关键字创建对象 使用new

2021-06-19 19:28:53 153

原创 2021-06-10

回顾方法 回顾方法及加深 方法的定义 修饰符 返回值类型 break:跳出switch,结束循环 和return :方法结束;的区别 方法名:注意规范,见名知意 参数列表:(参数类型,参数名)… 异常抛出:疑问 package oop; import com.sun.corba.se.impl.logging.IORSystemException; import java.io.IOException; //Dome01 类 public class Dome01 {

2021-06-10 18:16:26 77

原创 2021-06-10

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

2021-06-10 18:15:16 71

原创 2021-05-25

冒泡排序 冒牌排序无意识最为出名的排序算法之一,总共有八大排序。 冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人尽皆知 我们看到嵌套循环,应该立马就可以看出这个算法的时间复杂度为o(N2) 思考:如何优化? package array; /*冒泡排序 1.比较数组中响铃的两个元素,如果第一个数比第二个数大,我们就交换他们的位置。 2.每一次比较,都会产生出一个最大,或者最小的数字 3.下一轮则可以减少依次排序 4.依次循环知道结束

2021-05-25 17:14:54 103 1

原创 2021-05-24

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

2021-05-24 17:30:56 147

原创 2021-05-24

多维数组 多维数组可以看成数组的数组。比如二维数组就是一个特殊的以为数组,其每一个元素都是一个一维数组。 二维数组 int a[][] = new inr[2][5]; 解析:以上二维数组a看一看成一个两行五列的数组。 思考:多维数组的使用 package array; public class ArrayDome05 { public static void main(String[] args) { /*四行两列[4],[2] 1,2 arra

2021-05-24 16:49:50 94

原创 2021-05-21

数组的使用 普通的for循环 For-Each 循环 数组方法入参 数组的返回值 package array; public class ArrayDome04 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //JDK1.5,没有下标 /* for (int array : arrays) { System.out.p

2021-05-21 16:49:21 66

原创 2021-05-20

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

2021-05-20 17:02:34 86

原创 2021-05-20

数组的定义 数组是相同类型数据的有序集合 数组描述的是相同类型的若干数据,按一定的先后次序排列组合而成 其中,每一个数据乘坐一个数组元素,没一个数组元素可以通过一个下标来访问他们 数组声明创建 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法; dataType[] arrayRefVar;//首选的方法 或 dataType arrayReVar; //小姑相同但不是首选的方法 Java语言使用new操作符来创建数组,语法如下: dataType[]

2021-05-20 16:11:52 93

原创 2021-05-02

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

2021-05-02 18:15:03 54

原创 2021-05-02

命令行传参 有时候你希望运行一个程序时候再传递给他消息。这要靠传递命令参数给main()函数实现 public class CommandLine{ public static void main(String arg[]){ for(int i=0;i<args.length;i++){ System.out.println("arg[]"+i+"]:"+args[i]) } } } 可变参数 JDK1.5开始,J

2021-05-02 18:14:21 51

原创 2021-05-02

方法的重载 重载就是在一个类中,有相同函数名称,但形参不同的函数 方法的重载规则: 方法名称必须相同 参数列表必须不同(个数不同,或类型不同,参数排列顺序不同) 方法的返回类型可以相同也可以不同 仅返回类型不同不足以成为方法的重载 实现理论 方法名称相同时,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,以选择对应的方法,如果匹配失败则编译器报错 package method; public class Dome02 { public static v

2021-05-02 18:13:46 45

原创 2021-04-12

方法的定义 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包换以下语法 方法包含一个方法头和一个方法体。下面是一个方法的所有部分 修饰符:这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。 返回值类型:方法可能会返回值,returnValueType是方法返回值的数据类型。这些方法执行所需的操作,但没有返回值。这种情况下,returnValueType是关键字void 方法名:是方法的实际名称,方法名和参数表共同构成方法签名

2021-04-12 11:05:28 58

原创 2021-04-12

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

2021-04-12 11:04:52 51

原创 2021-04-07

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

2021-04-07 18:42:13 99

原创 2021-04-05

循环结构 while循环 do…while 循环 for循环 在Java5中引入了一种主要用于数组增强型for循环 while 循环 while是最基本的循环,他的结构为: while(布尔表达式){ //循环内容 } 只要布尔表达式为ture,循环就会一直执行下去 我们大多数情况是让循环停止下来,我们需要一个让表达式失效的方式来结束循环。 package struct; public class WhileDome01 { public static

2021-04-05 10:53:27 67

原创 2021-04-02

选择结构 if单选择结构 if双选择结构 嵌套的if结构 switch多选择结构 if单选择结构 我们很多时候需要去判断一个东西是否可行,然后我们采取执行,这样一个个过程在程序中用if语句来表示 语法 if(布尔表达式){ //如果布尔表达式为ture将执行语句 } package struct; import java.util.Scanner; public class IfDome01 { public static void main(String[]

2021-04-02 16:55:14 181

原创 2021-04-02

顺序结构 Java的基本结构就是顺序结构,除非特别指明,否则就按顺序一句一句执行 顺序结构尸最简单的算法结构 语句与语句之间,框与框之间是按从上到下的顺序进行的,他是若干个依次执行的处理步骤组成,他是任何一个算法都离不开的一种基本结构。 package struct; public class ShunXunDome { public static void main(String[] args) { System.out.println("hello1");

2021-04-02 16:54:42 47

原创 2021-04-01

Java scanner进阶 package scanner; import java.util.Scanner; public class Dome04 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //从键盘接收数据 int i = 0; float f = 0.0f; System.out

2021-04-01 22:25:48 57

原创 2021-03-28

Java流程控制 Scanner对象 java.ytil.Scanner是Java的Java5的新特征,我们可以通过Scanner类来获取用户的输入 基本语法 Scanner s = new Scanner(System.in) 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般要使用hasNext()与hasNextLie()判断是否还有输入的数据。 next(): 一定要读取到有效字符后才可以输出 对输入的有效字符之前遇到的空白,ne

2021-03-28 14:07:19 135

原创 包机制

包机制 为了更好的组织类,Java提供了包机制。用于区别类名的命名空间。 包机制的语法格式为 package pkg1[. pkg1[. pkg3...]] 一般利用公司域名倒置作为包名;www.baidu.com 建立 com.baidu.www 为了能够使用某一个包的成员,我们在Java程序中明确导入该包。使用import语句可完成次功能 import package1[. pkg2...](classname|*)Java dos java Doc Java doc命令是来

2021-03-27 20:24:21 66

原创 2021-03-25

包机制 为了更好的组织类,Java提供了包机制。用于区别类名的命名空间。 包机制的语法格式为 package pkg1[. pkg1[. pkg3...]] 一般利用公司域名倒置作为包名;www.baidu.com 建立 com.baidu.www 为了能够使用某一个包的成员,我们在Java程序中明确导入该包。使用import语句可完成次功能 import package1[. pkg2...](classname|*) package com.kuang.Operator; imp

2021-03-25 10:26:31 47

原创 2021-03-17

运算符 Java语言支持如下运算符:优先级() 算数运算符:+,-,*,/,%(取余运算,即模运算),++,– package operator; public class Dome01 { public static void main(String[] args) { //二元运算符 //Ctrl + D :复制当前行到下一行 int a = 10; int b = 20; int c = 25;

2021-03-17 23:59:04 73

原创 2021-03-16

变量 变量时什么:就是可以变化的量,指一个空间。 Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的储存单元,其要素包括***变量名***,变量类型***和***作用域。 type verName [=value][{,varName[=value]}] //不建议在一行里面定义多个值 //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。 注意事项 每个变量都有类型,类型可以是基本类型,也可以是引用类型。 变量名必须是合法的标识符。 变

2021-03-16 12:09:10 77

原创 2021-03-16

类型转换 由于Java是强语言类型,所以要进行有些运算的时候,需要用到类型转换 低---------------------高(容量,小数的优先级大于整数) byte,short,-->int-->long-->float-->double 运算中,不同类型的数据转化为同一类型,然后进行运算。 强制类型转换 高>低 自动类型转换 低>高 public class Dome04 { public static void ma

2021-03-16 11:38:52 62

原创 2021-03-15

import javax.lang.model.element.NestingKind; public class Dome03 { public static void main(String[] args) { //整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010;//八进制0 int i3 = 0x10;//十六进制0x 0-9 A-F System.out.println(i); System.out.println(i2); S

2021-03-15 10:30:01 79

原创 2021-03-14

数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量必须先定以后才能使用 安全性高,运行慢 public class Demo02 { public static void main(String[] args) { String a="hello"; //String(字符串) a=10; int num=10; //int num="hello"; System.out.println(a);

2021-03-14 16:27:52 48

原创 2021-03-14

java基础2 标识符 关键字 abstract assert boolean break byte case catch char class const contimue default do double else enum extends final finally float for goto if impiements import instanceof int interface long native new package private prote

2021-03-14 11:21:23 84

原创 2021-03-13

java基础语法1 注释 java中的三种注释 新建一个空的项目 file-new-project-Empty Project-Project name:(Java SE)-project structure file-new-module-java-module mame(基础语法) 基础语法-src-new-Java class file-project structure-project***搭建环境变量*** project SDK-选1.8 project la

2021-03-13 23:43:19 163

空空如也

空空如也

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

TA关注的人

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