![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
javaSE
javaSE内容
玥骋
春雨如膏,农夫喜其润泽,行人恶其泥泞。
展开
-
小白日更三十七日:自定义异常
自定义异常使用java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常类,只需继承Exception类即可。在程序中使用自定义异常类的大体步骤创建自定义异常类。在方法中通过throw关键字抛出。如果在当前抛出异常的方法中处理异常,可以使用try–catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。在出现异常方法的调用者中捕获并处理异常。自定义异常类的练习package com.yueche原创 2021-05-20 22:06:06 · 73 阅读 · 0 评论 -
小白日更36日:异常的处理
异常处理机制抛出异常捕获异常异常处理的五个关键字try:监控区域catch:捕获异常(catch(想要捕获的异常类型)) Throwable 可以捕获所有的异常是最大的ErrorException可以同时捕获多个异常**(注意:假设要捕获多个异常:要从小到大的捕获)**finally:处理善后工作,不论如何,必须执行。throwthrows这里可以学一个快捷键:ctrl+Alt+t :自动生成捕获异常的代码关键字使用方法捕获异常package co原创 2021-05-19 22:37:23 · 71 阅读 · 0 评论 -
小白日更第三十五日:异常的理解
异常什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写某个模块,用户输入不一定符合你的要求,你的程序要打开某个文件,这个文件可能不存在,或者文件格式不对,你要读取数据库,数据库可能是空着的等。我们的程序再跑着,内存或硬盘可能满了,等等!软件程序再运行过程中,非常可能遇到刚刚提到的这个学异常问题,我们叫做异常,英文是:Exception,意思是例外。这些例外情况,或者说异常,怎么让我们写出的程序作出合理的处理。而不至于程序崩溃。异常值程序运行总出现的不期而至的各种情况。如:文件转载 2021-05-18 22:43:11 · 120 阅读 · 0 评论 -
小白日更三十四日:内部类
内部类内部类就是在一个类的内部定义了一个类,比如:a类中定义了一个B了,那么B相对于A类来说就称为内部类,而A类相对于B类来说就是外部类了。成员内部类静态内部类局部内部类匿名内部类内部类的作用:一个java类中可以有多个class类,但只能有一个public classpackage com.yuecheng.oop.Demo10;public class Outer { private int id; public void out(){原创 2021-05-17 22:40:54 · 53 阅读 · 0 评论 -
小白日更三十三日:初识接口!
接口普通类:只有具体实现。抽象类:具体实现和规范(抽象方法)都有。接口:只有规范!(自己无法写方法~)专业的约束!约束和实现分离:面向接口编程。定义接口就是规范,定义的是一组规则,体现了现实世界中:“如果你是…则必须能…”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你是好人,则必须干掉怪人;如果你是坏人,则必须欺负好人。接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。OO的精髓,是对对象的抽象,最能体现这一点的就是接口!为什么我们讨论设计模式原创 2021-05-16 22:47:04 · 66 阅读 · 0 评论 -
小白日更三十二日:抽象类的理解
抽象类abstract 修饰符可以用来修饰方法,也可以用来修饰类,如果修饰方法那么该方法就是抽象方法,如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类,一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类要继承抽象类,那么就必须要实现抽象类,没有实现的抽象方法,否则该子类也要声明为抽象类!package com.yuecheng.oop.Demo08;//abstr原创 2021-05-15 16:58:35 · 76 阅读 · 0 评论 -
小白学java日更第三十一日:static详解
static详解static修饰的变量或者属性是静态的package com.yuecheng.oop.Demo07;public class Student { private static int age;//静态变量 private double score;//非静态变量 public static void main(String[] args) { Student s1 = new Student(); S原创 2021-05-14 22:47:18 · 81 阅读 · 0 评论 -
小白学java第三十日:面向对象的类型转换!
instanceof与类型的转换判断一个对象是什么类型instanceof通常用来判断两个类或方法之间是否有联系package com.yuecheng.oop;import com.yuecheng.oop.Demo06.Student;import com.yuecheng.oop.Demo06.Person;import com.yuecheng.oop.Demo06.Teacher;public class Application { public static原创 2021-05-13 22:46:33 · 130 阅读 · 0 评论 -
小白学Java第二十九日:面向对象--多态
多态 在类等级的不同层次中可以分享(公用)一个行为(方法)的名字,然而不同层次中的,每个类却可以按自己的需要来实现这个行为。当对象接收到发给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法。定义即同一方法可以根据发送对象的不同而采用不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用类型有很多多态存在的条件有继承关系子类重写父类的方法父类引用指向子类对象static 方法 (静态),属于类,不属于实例。final常量;private方法;以原创 2021-05-12 22:16:26 · 184 阅读 · 0 评论 -
小白学Java第二十八日:方法重写
方法重写重写方法:Override Methods,快捷键 ALT+ Insert注意:重写与静态方法(带static)没又联系,只和非静态方法(不带static)有关。子类对象调用方法的时候:先找子类本身,再找父类。重写的条件非静态方法.必须是public的方法,如果是私有的(private)则无法重写。默认类型与受保护类型,也可以重写。必须是子类继承了父类才可以重写,重写是子类重写父类的方法也就是说需要有继承关系。方法名必须相同。参数列表必须相同。修饰符:范围可以 扩原创 2021-05-11 23:09:45 · 120 阅读 · 0 评论 -
小白学java第二十七日:super关键词
Super详解Super关键词super学习时要与this区别开更好理解在子类内部调用父类的属性和方法是通过super关键词来实现的!//子类package com.yuecheng.oop.Demo05;//学生也是人(子类,派生类): 学生 is 人;//子类继承父类,就会继承父类所有的方法//注意:private(私有方法或属性) 私有的东西是无法继承的public class Student extends Person{//快捷键ctrl + h 打开树 pu原创 2021-05-10 22:47:20 · 79 阅读 · 0 评论 -
小白学java第二十六日:面向对象-继承
面向对象:继承定义,特点继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。extends的意思是"扩展"。子类是对父类的扩展。Java中 :类,只有单继承,没有多继承!(一个儿子只有一个爸爸,但一个爸爸可以有多个儿子)继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖,组合,聚合等。继承关系的两个类,一个为子类(派生类);一个为父类(基类)。子类继承父类,使用关键词extends来表示。注意一般都是public方法。私有的属性和方法private,原创 2021-05-09 20:20:51 · 95 阅读 · 0 评论 -
小白学Java第二十五日:面向对象-封装
面向对象:封装回顾基础类与对象类是一个模板是抽象的;对象是一个具体的实例方法定义,调用!对应的引用引用类型:基本类型(8个)对象是通过引用来操作的:栈(引出模板)------>堆(真实对象是在堆里)属性:字段Field ,成员变量默认初始化数字(默认):0, 0.0char:u0000boolean: false引用:null修饰符 属性类型 属性名 = 属性值! (属性的定义)对象的创建和使用必须使用new,关键字创造对象原创 2021-05-08 20:27:57 · 100 阅读 · 1 评论 -
小白学java第二十四日:构造器与内存分析
构造器详解一个完整的类,应该就是属性,方法。空构造,有参构造,然后Set和get,再toString。idea 快捷键 ALT + Insert:自动生成构造器一个类即使什么也不定义也会存在一个方法使用new,实质就是在调用构造器,无参构造用来初始化值有参构造,一旦定义了有参构造,那么无参构造必须显示定义。构造器练习package com.yuecheng.oop.Demo02;public class Application { public s原创 2021-05-07 20:41:34 · 114 阅读 · 1 评论 -
小白学java第二十三日:类和对象的创建和理解
类与对象的创建个人理解:类其实就是对象的模板,对象是类的具体事例。创建对象其实就像女娲造人一样,每个人又有自己的名字年龄,还有自己的方法(狩猎,学习,吃饭)等等。类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。动物,植物,手机,电脑…Person类,Pet类,Car类等等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为。对象是抽象概念的具体事例张三就是人类的一个具体实例,张三家里的旺财就是狗的一个具体实例。能够体现出特点,展原创 2021-05-06 22:16:40 · 155 阅读 · 1 评论 -
小白学Java第二十二日:方法的回顾
回顾方法方法的定义修饰符返回值类型break和return的区别break跳出switch,结束循环。return结束方法,返回一个结果,可以为空。方法名:大驼峰原则,见名知意。参数列表(参数类型,参数名)package com.yueCheng.oop;public class Demo02 { public static void main(String[] args) { //实际参数和形式参数的类型要对应 int原创 2021-05-05 23:43:27 · 74 阅读 · 1 评论 -
小白学Java第二十一日,初识面向对象
面向对象Java的核心编程思想oop(面向对象思想)初识面向对象面向过程思想步骤简单,清晰,第一步做什么,第二步坐什么…面向过程适合处理一些较为简单的问题。面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类行进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题!对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路,来分析整个系统。但是原创 2021-05-04 18:49:57 · 86 阅读 · 0 评论 -
小白学java第二十日:稀疏数组
稀疏数组理解:稀疏数组就是把具有很多重复数据的数组简化,放入另一个即小,又一目了然,也不影响数组的准确性的数组。还能节省空间和代码量。 (稀疏数组实质是记录坐标)当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组,来保存该数组。稀疏数组的处理方式是:记录数组一共有几行几列,有多少不同值。把具有不同的元素和行列及值,记录在一个小规模的的数组中,从而缩小规模如下:左边是原始数组,右边是稀疏数组。通过坐标定位它的值。+因为第0行存放的是外围数组的行列以及值,原创 2021-05-03 20:25:17 · 76 阅读 · 0 评论 -
小白学java第十九日冒泡排序
冒泡排序自我理解:通过两两比较对数组进行排序的方法。主要理解思路。冒泡排序无疑是最出名的排序算法之一。冒泡排序的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较。我们看到嵌套循环,应该立刻得出这个算法的时间复杂度为:O(n2)。例子做法:比较数组中,两个相邻的元素,如果第一个数比,第二个数打,就交换他们的位置每一次比较都会产生一个最大的数(或最小,具体看要升序还是降序),而个数可以在下一轮中不用参与,就可以优化。减少一次。依次循环直到结束。package co原创 2021-05-02 22:41:21 · 85 阅读 · 1 评论 -
小白学java第十八天Arrays类
Arrays类数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。Arrays类中的方法都是static修饰的静态方法,在使用时可以直接使用类的名字进行调用,而不用使用对象来调用。(当然如果使用对象也是可以的)常用功能给数组赋值,通过 fill方法。给数组排序:通过sort方法(升序)。比较数组:通过equals方法比较数组中元素值是否相等。查找元素数组:通过b原创 2021-05-01 22:04:08 · 107 阅读 · 0 评论 -
小白学java日更第十七日笔记
多维数组复习昨日数组做返回值的反转数组方法package com.yuecheng.Array;import javax.print.event.PrintEvent;public class ArrayDemo08 { public static void main(String[] args) { int[] arrays ={1,2,3,4,5,6};//定义数组 //printArrays(arrays); int[] r原创 2021-04-30 20:37:25 · 92 阅读 · 1 评论 -
小白学java第十六日:数组做返回值!
数组的四个基本特点其长度是确定的。数组一旦被创建,其大小就是不可以改变的。其元素必须是相同类型的,不予许出现混合类型。数组中的元素可以是任何数据类型,包括基本类型和引用类型。数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。数组边界下标合法区间[0,length-1],如果越界就会报错;比如:package com.yuechen原创 2021-04-29 22:11:27 · 310 阅读 · 0 评论 -
小白学java第十五日
数组最简单的数据结构数组的概述数组是相同数据类型的有序集合。数组猫叔的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们。数组的声明和创建首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的语法:int[] nums;// 1.定义数组(声明一个数组但并没有创建空间),java中正规的定义数组方法 或 int nums2[]; // 为了使c和c++程序员更快掌握java才原创 2021-04-28 21:34:57 · 128 阅读 · 2 评论 -
小白学java第十四日
递归方法就到这里了,明天开始数组的学习。注意:方法很重要能解决很多问题一定要多练习!递归详解A方法调用B方法我们很容易理解。递归就是A方法调用A方法,自己调用自己。作用:利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程中所需要的多次重复计算,大大减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。递归的结构包括两个部分:递归头:什么时候不调用自原创 2021-04-27 14:48:55 · 828 阅读 · 5 评论 -
小白学java第十三日
命令行传参有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。package com.yuecheng.method;public class Demo04 { public static void main(String[] args) { //args.length数组长度 for (int i =0;i< args.length;i++) { System.out.println("原创 2021-04-26 17:24:38 · 82 阅读 · 0 评论 -
小白学java第十二日
方法的设置和调用package com.yuecheng.method;public class Demo03 { public static void main(String[] args) { int num1=50; int num2=50; int max=max(num1,num2);//调用方法 System.out.println(max); } public static int max(in原创 2021-04-25 22:33:44 · 78 阅读 · 1 评论 -
小白学java第十一日
JAVA 方法好家伙有点晚了今天。何为方法理解:为了解决一些事情而诞生的解决方法,也可以理解为c中的函数 。//类 //对象 //方法System.out.println();java方法是语句的集合,他们在一起执行一个功能。方法是解决一类问题的步骤有序组合。方法包含在类和对象中。方法在程序中被创建,在其他地方被调用。设计方法的原则:方法的本意是功能块,就是实现某个功能的集合。我们设计方法时,最好保持方法的原子性,也就是一个方法只能完成一个功能,这样会利于我们后期原创 2021-04-24 23:52:57 · 83 阅读 · 0 评论 -
小白自学java日更第十日
流程控制的掌握和练习练习题这部分有点不懂,还是要多想想理解清楚!理解清楚明天就学习方法了。打印三角形:package com.yuecheng.struct;public class Demo12 { public static void main(String[] args) { for (int i =1;i<=5;i++){ for (int j =5;j>=i;j--){ System.ou原创 2021-04-23 12:58:13 · 91 阅读 · 0 评论 -
小白学java第九日
break与continue区别:break会终止循环。continue“会“,也就是跳过这次循环继续执行break:break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中的剩余语句。(break也在switch语句中使用)package com.yuecheng.struct;public class Demo09 { public static void main(String[] args) { i原创 2021-04-22 19:22:25 · 85 阅读 · 0 评论 -
小白学java第八日
循环结构while循环对while语句而言,如果不满足条件,则不能进入循环,但有时候我们需要及时不满足条件,也至少执行一次。1~100,累加。package com.yuecheng.struct;public class WhileDome03 { public static void main(String[] args) { int i = 0; int sum= 0; while(i<=100){原创 2021-04-21 19:41:37 · 81 阅读 · 0 评论 -
小白学java第七日
Java流程控制哎呀,越来越难了,越来越慢了,坚持!坚持!坚持!!补充上一节switch选择结构package com.yuecheng.struct;public class SwitchDemo01 { public static void main(String[] args) { char grade = 'B'; switch (grade){ case'A': System.out原创 2021-04-20 22:28:54 · 91 阅读 · 0 评论 -
小白学Java日更第六天
Java流程控制1.用户交互Scanner之前我们学的基本语法中我们并没有实现程序与人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:Scanner s = new Scanner(System.in)通过scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用,hasNext()与hasNextLin原创 2021-04-19 22:00:30 · 89 阅读 · 0 评论 -
小白学java第五天
包机制,JavaDocjava包机制为了更好的组织类,Java提供了包机制,用于区别类名的空间。理解:在电脑中新建两个同名文件时会报错,但将这两个文件分别放入不同的文件夹时,就解决了问题,而包的作用,本质就是文件夹。我们一般利用公司域名倒置作为包名。为了能使用某一个包的成员,我们需要在Java程序中,明确导入该包。导入方法,importimport package1[package2...].(classname|*);//导入该包全部内容:import com.yu原创 2021-04-18 22:19:00 · 63 阅读 · 0 评论 -
小白学java第四天
小白学java 第四天1,运算符java语言支持以下运算符算数运算符:+ , - ,*,/,%,++,——。 // 二元运算符 //复制当前行 到下一行 Ctrl+D int a = 10; int b = 20; int c = 25; int d = 25; System.out.println(a+b); System.out.println(a-b)原创 2021-04-17 19:00:13 · 79 阅读 · 0 评论 -
小白学Java第三天
小白Java学习第三天1,类型转换由于java是强类型语言,所以在进行有些运算时需要用到类型转换低--------------------------------------------------> 高byte,short,char,--->int----->long---->float---->double注意:运算中不同类型的数据,先转换为同一类型,然后运算,强制类型转换(从高到低时) int i =128; byte b= (原创 2021-04-16 13:17:29 · 96 阅读 · 0 评论 -
小白java基础学习第二天
小白java基础学习第二天一,注释俗话说:基础不牢,地动山摇。1,注释,标识符,关键字注释平时代码量少时我们还看得懂自己写的代码,但是当项目结构一旦复杂起来,我们就需要注释了。注释并不会执行,是我们写给人看的。书写注释是一个非常好的习惯。平时写代码一定要注意规范。java中的三种注释单行注释//单行注释多行注释 /* 我是多行注释 我是多行注释 */文档注释 /** * @Description HelloWorl原创 2021-04-15 12:17:00 · 125 阅读 · 0 评论