自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA中的两道测试题

第一道题:编写程序模拟用户注册:1、程序开始执行时,提示用户输入“用户名”和“密码”信息2、输入信息之后,后台java程序模拟用户注册3、注册时用户名要求长度在【6,14】之间,小于或者大于都表示异常注意:完成注册的方法放到一个单独的类中,异常类自定义即可class UserService}{public void register(String username, String password){//在这个方法中完成注册!}}编写main方法,在main方法中接收用户输入的信息,在

2020-06-30 23:28:19 429

原创 JAVA中的自定义异常

JAVA中的自定义异常SUN提供的内置的异常肯定是不够用的,在实际开发中我们需要自己自定义一些与业务相关的异常java中如何自定义异常:第一步:编写一个类继承 Exception 或者 RuntimeException设定为编译时异常就继承Exception设定为运行时异常就继承RuntimeException第二部:提供两个构造方法,一个是无参的,一个是有参的(String s)public class MyException extends Exception{ //编译时

2020-06-30 18:18:57 144

原创 JAVA中final,finally,finalize的区别

JAVA中final,finally,finalize的区别final关键字:final修饰的类无法继承final修饰的方法无法重写final修饰的变量不可修改finally关键字:用于与try语句连用,用于异常处理机制finally中的语句时必须执行的finalize标识符:是一个Object类中的方法名这个方法是垃圾回收器gc负责调用的一般用来记录对象在JVM中被释放时的时间,即记录对象内存被释放的时间public class Difference { p

2020-06-30 18:15:23 156

原创 JAVA中的异常机制(finally关键字 及 finally测试题)

JAVA中的异常机制(finally关键字)finally语句与try…catch语句连用,表示必须执行的在finally字句中的代码是最后执行的,且是一定会执行的,即使try语句块中的代码出现了异常finally字句必须和try一起出现,不能单独编写finally语句通常用在哪些情况下:通常在finally语句块中完成资源的释放/关闭,因为finally中的代码比较有保障即使try语句块中的代码也会正常执行import java.io.FileInputStream;imp

2020-06-30 18:12:40 188

原创 JAVA中异常的两个常用方法(getMessage 和 printStackTrace)

JAVA中异常的两个常用方法异常对象有两个重要的方法:获取异常简单的描述信息:(获取调用异常构造方法时输入的String s)exception.getMessage()打印异常追踪的堆栈信息:exception.printStackTrace()public class ExceptionTest05 { public static void main(String[] args) { NullPointerException npe = new NullPoi

2020-06-30 18:03:38 5069 1

原创 JAVA中的异常机制的处理办法(throws上抛 和 try..catch捕捉)

JAVA中的异常机制的处理办法(throws上抛 和 try…catch捕捉)第一种处理方法:在方法声明位置上继续使用throws,来完成异常的上抛,抛给调用者,上抛类似于推卸责任。(继续把异常抛给调用者)第二种处理方法:使用try…catch捕捉,捕捉等于把异常拦下了,异常真正解决了(调用者不会收到异常信息)到main方法时不建议继续上抛了,如果该异常真的发生,就会上抛给JVM,那么程序只能终止了。异常处理机制是为了增强程序的健壮性,应该是如何做才能发生了异常也不影响程序的执行

2020-06-30 17:57:52 3790

原创 JAVA中的异常机制(概念 和 运行时异常的逻辑分析)

JAVA中的异常机制(1)什么是异常(exception),异常机制有什么用: 程序执行过程中发生了不正常的情况,而这种不正常的情况叫“异常”,java把该异常信息打印输出到控制台,供程序员参考,以便修改,让程序更”健壮“(不会因为某些错误的发生导致系统宕机)异常在java中以类的形式存在,每一个异常类都可以创建异常对象,异常对应的现实生活是怎样的:火灾(异常类)2008-08-08,小明家着火了(异常对象)异常(Exception)类 和 错误(Error)类 都是可抛出(Thr

2020-06-30 17:47:04 218

原创 JAVA生成随机数

JAVA生成随机数生成随机数://创建随机数对象 Random random = new Random(); //产生一个int类型取值范围内的随机数 int intNum1 = random.nextInt(); System.out.println(intNum1);设定随机数的范围://产生[0,100]之间的随机数 int intNum2 = random.nextInt(101); //不能产生10

2020-06-30 17:34:53 157

原创 JAVA中的枚举enum

JAVA中的枚举enum当布尔类型不够用的时候,即一个方法有两种以上的返回情况时,可以使用枚举(enum)枚举:一枚一枚可以列举出来,才建议使用枚举枚举也是一种引用数据类型枚举中的每一个值可以看做是常量import java.text.SimpleDateFormat;import java.util.Date;/*当布尔类型不够用的时候,即一个方法有两种以上的返回情况时,可以使用枚举(enum)枚举:一枚一枚可以列举出来,才建议使用枚举枚举也是一种引用数据类型枚举中的每一个值可

2020-06-28 19:15:49 136

原创 JAVA中的数字格式化和高精度BigDecimal

JAVA中的数字格式化关于数字格式化,我的理解是修改数字的显示格式,例如1234 ——> 1,234.000数字格式有哪些:#代表任意数字,代表千分位.代表小数点0表示不够时补零例如:import java.text.DecimalFormat;public class DecimalFormatTest01 { public static void main(String[] args) { //###,###.

2020-06-28 14:31:25 411

原创 JAVA中对日期时间的操作

JAVA中对日期时间的操作调用java.util.Date类,使用Date无参构造方法获取系统时间 //使用Date无参构造方法获取系统时间 Date nowadays = new Date(); System.out.println(nowadays);//运行结果:Sat Jun 27 22:59:43 CST 2020时间数据类型的转换:Date ——> String调用java.text.SimpleDateFormat类下

2020-06-28 12:29:22 116

原创 JAVA中的包装类(装箱、拆箱)

JAVA中的包装类java中为8种基本数据类型提供了8种包装类型,8种包装类属于引用数据类型,父类是Object8种包装类:基本数据类型包装类型bytejava.lang.Byteshortjava.lang.Shortintjava.lang.Integerlongjava.lang.Longfloatjava.lang.Floatdoublejava.lang.Doublebooleanjava.lang.Boolean

2020-06-28 11:38:58 115

原创 JAVA中的StringBuffer类和StringBuilder类

StringBuffer需要进行大量的字符串拼接操作时,建议使用 java.lang.StringBuffer 和 java.lang.StringBuilder采用+=的方式进行字符串的拼接操作时String s1 = “a”;s1 += “b”;for (int i = 0; i < 100; i++) {//因为字符串一旦创建不可修改,所以这样操作会在字符串变量池中创建大量的字符串,//每一次拼接产生新字符串,这样会占用大量的方法区内存,造成内存空间的浪费s1 += i;Sy

2020-06-27 19:01:41 112

原创 JAVA中常用的String方法

JAVA中常用的String方法charAt:

2020-06-27 14:44:23 112

原创 JAVA中的String字符串的存储原理

JAVA中的String字符串的存储原理String表示字符串类型,属于引用数据类型,不属于基本数据类型。在java中随便使用双引号括起来的都是 String 对象。例如"abc",“edf”在java中规定,双引号括起来的字符串是不可更改的,即"abc"不能变成"edf"在JDK中双引号括起来的字符串都是存储在方法区的“字符串常量池”中,因为字符串在开始中使用很频繁,为了提升执行效率,所以把字符串放到了方法区中的字符串常量池public class StringTest01 { pu

2020-06-26 18:41:36 307

原创 JAVA中的二分法查找

JAVA中的二分法查找二分法查找:建立在已排序好的数组上,不停对数组进行对半划分 ,直到找到目标元素import sort.*;import java.util.Arrays;/*二分法查找建立在已排序好的数组上,不停对数组进行对半划分 ,直到找到目标元素 */public class BinarySearch { public static void main(String[] args) { int[] ints = {9, 8, 10, 7, 6, 0,

2020-06-26 17:50:18 129

原创 JAVA中的排序算法

冒泡排序//冒泡排序 从小到大public class BubbleSort { public static void main(String[] args) { int[] ints = {9, 8, 10, 7, 6, 0, 11}; bubbleSort(ints); } public static void bubbleSort(int[] ints){ int temp; int cnt = 0; /

2020-06-26 17:48:45 84

原创 JAVA数组测试题(酒店管理系统)

JAVA数组测试题(酒店管理系统)为某个酒店编写程序:酒店管理系统,模拟订房、退房,打印所有房间状态等功能该系统的用户是:酒店前台酒店使用一个二维数组来模拟,“Room[][] rooms;”酒店中的每一个房间应该是一个java对象:Room每一个房间Room应该有:房间编号,房间类型,房间是否空闲系统应该对外提供的功能:可以预定房间,用户输入房间编号,订房可以退房,用户输入房间编号,退房可以查看所有房间的状态,用户输入某个指令应该可以查看所有房间状态在代码编写过程中我犯了一个很低级的

2020-06-21 22:36:58 379

原创 JAVA数组测试题(模拟栈)

JAVA数组测试题(模拟栈)使用一维数组,模拟栈数据结构1、这个栈可以存储java中的任何引用类型数据2、在栈中提供push方法模拟压栈(栈满了要有提示信息)3、在栈中提供pop方法模拟弹栈(栈空了也有提示信息)4、编写测试程序,new栈对象,调用push 和 pop方法来模拟压栈弹栈动作/*使用一维数组,模拟栈数据结构1、这个栈可以存储java中的任何引用类型数据2、在栈中提供push方法模拟压栈(栈满了要有提示信息)3、在栈中提供pop方法模拟弹栈(栈空了也有提示信息)4、编写

2020-06-21 20:44:28 344

原创 JAVA中的数组(3)

JAVA中的数组(3)数组扩容在java开发中,数组长度一旦确定不可改变,那么数组满了怎么办?数组满了需要扩容java对数组的扩容:先创建一个新的大容量数组,再将小容量数组中的数据拷贝到大数组中。语法格式:System.arraycopy(Object src, //初始数组int srcPos, //copy开始的位置Object dest, //copy的目标数组int destPos, //copy到目标数组中开始的位置int length); //copy的

2020-06-21 17:15:47 70

原创 JAVA中的数组(2)

JAVA中的数组(2)对 main 方法中 String[] args 数组进行数据操作//模拟一个系统,假设这个系统要使用,必须输入用户名和密码public class Test02 { //用户名和密码输入到String[] args数组当中 public static void main(String[] args) { //检测输入的账号密码格式是否正确 if (args.length != 2){ Syste

2020-06-19 20:54:44 101

原创 JAVA中的数组(1)

JAVA中的数组java中的数组是一种引用数据类型,不属于基本数据类型。数组的父类是 Object数组当中可以存储 “基本数据类型” 的数据,也可以存储 “引用数据类型” 的数据数组因为是引用数据类型,所以数组对象是在堆内存当中数组中如果存储的是 “java” 对象的话,实际上存储的是对象的 “引用” (内存地址)数组一旦创建,在java中规定,长度不可变。(数组长度不可变)数组的分类:一维数组,二维数组,三维数组,多维数组。。。。。(一维数组较多,二维偶尔使用)所

2020-06-19 18:34:54 125

原创 JAVA中的匿名内部类

JAVA中的匿名内部类什么是匿名内部类:内部类:在类的内部又定义了一个新的类,被称为内部类内部类的分类:静态内部类:类似于静态变量实例内部类:类似于实例变量局部内部类:类似于局部变量匿名内部类是局部内部类的一种,因为这个类没有名字而得名,叫做匿名内部类使用内部类编写的代码,可读性很差,能不用就不用。尽管如此,我们仍需要学习匿名内部类,主要是为了以后看懂别人的代码。匿名内部类有两个缺点:——太复杂,太乱,可读性差——类没有名字,以后想重复使用都不行public class Inn

2020-06-17 22:44:22 114

原创 JAVA中的一些常用源码方法(toString、equals...)

toString源码格式: public String toString()返回对象的字符串表示形式。 这个方法返回一个等于下列值的字符串:getClass().getName() + ‘@’ + Integer.toHexString(hashCode())如下例程,输出结果:timer.MyTime@b4c966a输出引用时,会自动调用该引用的toString方法一般为了使 toString 方法输出的数据简洁易懂,会对 toString 方法进行重写如下例程,重写后输出结果

2020-06-17 18:26:09 424

原创 JAVA中的键盘输入

JAVA中的键盘输入public class Scanner { public static void main(String[] args) { //调用java.util中的Scanner类 生成对象 java.util.Scanner s = new java.util.Scanner(System.in); /* next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇 到的空格键、Tab键或Enter键等结束符,next()方

2020-06-16 16:43:44 191

原创 JAVA中抽象类和接口的区别

JAVA中抽象类和接口的区别抽象类是半抽象的接口是全抽象的抽象类中有构造方法接口中没有构造方法接口和接口之间支持多继承类和类之间只支持单继承一个类可以实现多个接口一个抽象类只能继承一个类(单继承)接口中只允许出现常量和抽象方法接口使用的比抽象类多,且接口一般是对“行为”的抽象综上所述,抽象类仍然是一个类,他有类的全部特征以及自身的一些特别的特征;而接口是一个独立于类之外的概念,所以接口的特征也与抽象类不同。...

2020-06-16 14:18:38 65

原创 JAVA中类和类之间的关系(编程思维)

JAVA中类和类之间的关系(编程思维)is a:Cat is a Animal(猫是一个动物)凡是满足 is a 的表示“继承关系”A extends Bhas a:I has a Pen(我有一支笔)凡是满足 has a 关系的表示“关联关系”关联关系以“属性”的形式存在A{B b}like a:Chef like a FoodMenu(你有一个私人厨师,你想吃什么就和厨师说,所以厨师的功能就和菜单类似)凡是满足 like a 关系的表示“实现关系”实现关系通常是:类实现接

2020-06-16 14:12:10 100

原创 JAVA封装、多态、接口例子

一个饭店中,顾客和厨师之间通过菜单进行沟通,也就是说菜单是一个接口。在这个例程中,只需修改test类即可控制你想要的选择的厨师类别。package restaurant;public class RestaurantTest { public static void main(String[] args) { //Customer c = new Customer(); //调用空构造方法,没有给Menu menu赋值

2020-06-16 14:02:14 241 1

原创 JAVA中的接口(补充)

JAVA中的接口(补充)接口与接口之间支持多继承,那么一个类可以同时实现多个接口么?答案是可以的,一个类可以同时实现多个接口java中类和类之间只支持单继承,而类和接口之间的多继承弥补了这个缺陷实现的多个接口之间也可以进行 向上转型 和 向下转型,具体操作方法和继承基本一致。public class InterfaceTest2 { public static void main(String[] args) { GrandFather gf = new Child()

2020-06-16 13:56:06 58

原创 JAVA中的抽象类与接口

JAVA中的抽象类什么是抽象类:类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象(无法实例化)。抽象类属于引用数据类型抽象类的语法格式:【修饰符列表】 abstract class 类名{类体}抽象类无法实例化,无法创建对象,所以抽象类是用来被子类继承的final 和 abstract 不能联合使用,这两个关键字是对立的抽象类的子类可以是抽象类抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。抽象类关

2020-06-15 23:03:54 81

原创 JAVA中的访问控制权限修饰符

JAVA中的访问控制权限修饰符访问权限修饰符用来控制元素的访问范围访问控制权限修饰符包括:public——表示公开的,在任何位置都可以访问protected——表示受保护的,在 同包中 或者 子类 中可以访问缺省——在同包中可以访问private——表示私有的,只能在本类中访问访问控制权限修饰符可以修饰 类、变量、方法、、、、当某个数据只希望子类使用,使用protected进行修饰修饰符范围:private < 缺省 < protected < public类只能采用

2020-06-14 16:52:06 236

原创 JAVA中的final关键字

JAVA中的final关键字final 是一个关键字,表示最终的,不可更改的final 修饰的类无法被继承public final class Final { //创建一个用于继承的类 public void test(){ System.out.println("测试成功"); }}final 修饰的方法无法被覆盖/重写public class Final { //创建一个用于继承的类 public final

2020-06-14 15:55:49 209

原创 JAVA中的多态机制

JAVA中的多态机制多态中涉及的几个概念:——向上转型(upcasting):子类型---->父类型,又被称为自动类型转换——向下转型(downcasting):父类型---->子类型,又被称为强制类型转换无论是向上转型还是向下转型,两种类型之中必须有继承关系。public class Animal { //动物类,父类 public void move(){ System.out.println("动物在移动"); }}public

2020-06-13 23:34:54 111

原创 JAVA中的方法覆盖Override机制

JAVA中的方法覆盖Override机制先对前面学习过的方法重载进行复习:方法重载又称为Overload方法重载什么时候使用:在同一个类中,方法完成的功能是相似的。建议方法名相同,参数列表不同,以使用Overload功能,这样方便编程。什么条件满足后构成方法重载:——在同一个类中——方法名相同——参数列表不同:类型、顺序、个数方法重载和什么无关:——和方法的返回值无关——和方法的修饰符列表无关关于java中方法的覆盖:方法覆盖又被称为方法重写,Override【官方】/ Ov

2020-06-13 17:02:06 339

原创 JAVA中类的继承

JAVA中类的继承继承是面向对象三大特征之一,三大特征分别为封装、继承、多态继承的基本作用是:代码复用。有了继承之后才有 “方法覆盖” 和 “多态机制”。继承语法格式:【修饰符列表】 class 类名 extends 父类名{类体 = 属性 + 方法}java中只支持单继承,一个类只能继承一个类,不能同时继承多个类。子类继承父类子类、派生类——subclass父类、基类、超类——superclass子类继承父类哪些数据?——私有的不支持继承——构造方法不支持

2020-06-13 14:08:59 112

原创 JAVA中的static关键字

JAVA中的static关键字静态变量:在变量前添加static关键字修饰,这种特征属于 类 级别的特征,可以提升为整个模板的特征。静态变量在类加载的时候初始化,不需要创建对象,内存在方法区中开辟。这样做就省去了在对象中重复声明同一实例变量所占用的内存空间。public class Chinese { String name; String country; //此时country不声明为静态变量 public Chinese(){

2020-06-12 19:42:16 71

原创 JAVA中的this关键字和super关键字

JAVA中的this关键字this是一个引用,也是一个变量,this变量中保存了内存地址指向自身,this存储在JVM堆内存java对象内部没有static关键字的方法称为“实例方法”,实例方法需要通过 “引用."的方法调用没有static关键字的变量称为“实例变量”需要对象参与的方法需定义为“实例方法”,不要带static关键字this可以出现在实例方法(不带static)中,this指向当前正在执行这个动作的对象,(this代表当前对象)public class Customer {

2020-06-12 16:26:30 84

原创 JAVA的构造方法与创建对象间的关系

JAVA的构造方法与创建对象间的关系构造方法又被称为构造函数/构造器/constructor构造方法语法结构:[修饰符列表] 构造方法名 (形式参数列表){构造方法体}回顾普通方法的语法结构:[修饰符列表] 返回值类型 方法名 (形式参数列表){方法体}对于构造方法而言,“返回值类型”不需要指定,并且也不能写void,如果写上void就成了普通方法构造方法名需和类名保持一致构造方法的作用:通过构造方法的调用,可以创建对象构造方法的调用:

2020-06-10 19:36:27 840

原创 JAVA的封装机制

JAVA的封装机制面向对象三大特征:——封装——继承——多态封装步骤:1、所有属性私有化,用private关键字进行修饰,修饰的数据只能在本类中访问。2、对外提供简单的操作入口,必须通过这些入口进行访问。一个属性通常有两种访问形式:——读取该属性的值:读取get——修改该属性的值:修改setget方法命名规范:public 数据类型 get+变量名(首字母需大写)(){return 变量名;}set方法命名规范:public void set+变量名(首字母需大写)(数据类型

2020-06-10 14:35:29 469

原创 JAVA对象的创建与内存分析

JAVA对象的创建与内存分析创建对象:new是一个运算符,用于在堆内存中开辟新的内存空间new 类名()类名 引用变量 = new 类名public class Student { //创建一个对象类用于调用 int No; //对象的各种属性 String name; boolean sex; int age;}public class Object { public static void mai

2020-06-10 13:42:41 112

空空如也

空空如也

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

TA关注的人

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