自定义博客皮肤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 76

原创 2021-06-30

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

2021-06-30 21:47:23 57

原创 Java异常机制

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

2021-06-30 21:00:44 71

原创 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 50

原创 2021-06-29接口jiava

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

2021-06-29 20:37:42 147

原创 2021-06-29

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

2021-06-29 20:36:53 44

原创 Java,static

Staticpackage oop.Dome07;//staticpublic 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 45

原创 java多态

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

2021-06-24 16:23:08 47

原创 继承JAVA

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

2021-06-23 17:21:15 52

原创 封装Java

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

2021-06-22 21:00:19 45

原创 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 50

原创 diaoyong

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

2021-06-19 19:28:53 91

原创 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 38

原创 2021-06-10

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

2021-06-10 18:15:16 36

原创 2021-05-25

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

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

原创 2021-05-24

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

2021-05-24 17:30:56 68

原创 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 57

原创 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 36

原创 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 53

原创 2021-05-20

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

2021-05-20 16:11:52 54

原创 2021-05-02

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

2021-05-02 18:15:03 28

原创 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 30

原创 2021-05-02

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

2021-05-02 18:13:46 23

原创 2021-04-12

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

2021-04-12 11:05:28 35

原创 2021-04-12

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

2021-04-12 11:04:52 27

原创 2021-04-07

break continuebreak在任何循环语句的主体部分,均可用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 72

原创 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 42

原创 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 111

原创 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 24

原创 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 32

原创 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 70

原创 包机制

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

2021-03-27 20:24:21 40

原创 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 27

原创 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 49

原创 2021-03-16

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

2021-03-16 12:09:10 51

原创 2021-03-16

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

2021-03-16 11:38:52 32

原创 2021-03-15

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

2021-03-15 10:30:01 51

原创 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 32

原创 2021-03-14

java基础2标识符关键字abstractassertbooleanbreakbytecasecatchcharclassconstcontimuedefaultdodoubleelseenumextendsfinalfinallyfloatforgotoifimpiementsimportinstanceofintinterfacelongnativenewpackageprivateprote

2021-03-14 11:21:23 60

原创 2021-03-13

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

2021-03-13 23:43:19 100

空空如也

空空如也

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

TA关注的人

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