![](https://i-blog.csdnimg.cn/direct/463f7e503a954914b22b80af13a43731.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaSE
文章平均质量分 73
JavaSE学习
云之涯
惟愿闻天道,无意向宫阙
展开
-
[Java]面向对象-内部类
类的五大成员:属性、方法、构造方法、代码块、内部类。原创 2024-08-17 19:13:44 · 692 阅读 · 0 评论 -
[Java]面向对象-抽象类/方法&接口&适配器设计模式
如果一个类包含抽象方法,那么该类必须是抽象类。原创 2024-08-13 18:26:49 · 700 阅读 · 0 评论 -
[Java]面向对象-包、final、权限修饰符、代码块
如果方法中的代码是抽取其他方法中共性代码,这个方法一般也私有(仅仅只在本类中使用的方法)命名规则:公司域名反写+包的作用,全部小写 例如:com.csdn.demo.final修饰的变量为引用数据类型:变量存储的地址值不能发生改变,对象内部可变。特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发,使用其他包中的类时要使用全类名,常量:实际开发中,常量作为系统的配置信息,方便维护,提高可读性。使用Java.lang包中的类时,不需要导包。可以修饰:变量,方法,构造方法,内部类。原创 2024-08-11 18:46:05 · 319 阅读 · 1 评论 -
[Java]面向对象-多态
没有多态,在下图中register方法只能传递学生对象,其他的Teacher和administrator对象是无法传递给register方法方法的,在这种情况下,只能定义三个不同的register方法分别接收学生,老师和管理员。:父类类型向子类类型向下转换的过程,这个过程是强制的。一个已经向上转型的子类对象,将父类引用转为子类引用,可以使用强制类型转换的格式,便是向下转型。:多态本身是子类类型向父类类型向上转换(自动转换)的过程,这个过程是默认的。//在实际运行的时候,运行的是子类中的show方法。原创 2024-08-10 19:22:25 · 905 阅读 · 0 评论 -
[Java]面向对象-static&继承
假如多个类中存在相同属性和行为时,我们可以将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要。1.子类在初始化时,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据。:若父类成员变量被private修饰,子类不可调用(但是可以继承,不能直接的调用),反之则可。书写格式:在继承体系中,子类出现了和父类中一模一样的方法申明,就称子类中的这个方法为重写方法。若子类继承俩个父类,若两个父类中有相同名称的方法,子类调用父类的方法就会出错。多次继承:c继承b,b继承a。原创 2024-08-10 05:05:11 · 730 阅读 · 0 评论 -
[Java]学生信息管理系统
首先,要创建一个简单的界面来实现功能选择和交互,由于是列举出来的功能选择Switch...Case语句来选择实现的功能。采用两种方法来退出程序:1.指定退出循环,给循环起一个别名loop( loop :while )再在退出功能使用break loop就是指定退出while循环 2.退出Java虚拟机,采用system.exit(0)退出虚拟机从而退出系统。修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改。删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除。原创 2024-08-06 19:10:09 · 284 阅读 · 0 评论 -
[Java]ArrayList
2.ArrayList集合特点:长度可变,只存引用数据类型(使用基本数据类型的包装类)1.集合:一种存储空间可变的存储模型,存储的数据容量可以发生改变。jdk5之后 基本数据类型和对应的包装类是可以相互转换的。3.泛型:约束集合存储元素的数据类型。原创 2024-08-05 18:15:47 · 173 阅读 · 0 评论 -
[Java]字符串原理
拼接时有变量:Jdk8以前底层使用StringBuilder拼接 系统底层会自动创建一个StringBuilder对象,然后再调用其append方法完成拼接。拼接后调用tostring方法转换为String类型,而toString方法的底层是直接new了一个字符串对象。Jdk8时:系统预估字符串拼接后的长度并创建一个数组存放,此时也是产生一个新的字符串。所有需要拼接的内容都会往StringBuilder中存放,不会创建很多无用的空间,节约内存。2.new出来的不会复用,每new一次开辟一个新的空间。原创 2024-08-02 10:54:23 · 237 阅读 · 0 评论 -
[Java]API&字符串
指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的。通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同。将字符串中的值替换成一个新的字符串。原创 2024-08-02 09:12:17 · 884 阅读 · 0 评论 -
[Java]面向对象练习
格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来。定义一个长度为3的数组,数组存储1~3名学生对象作为初始数据,学生对象的学号,姓名各不相同。乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩下XXX点血。鸠摩智举起拳头打了鸠摩智一下,造成了XX点伤害,乔峰还剩下XXX点血。乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩下XXX点血。如果存在,则删除,如果不存在,则提示删除失败。商品的属性:商品的id,名字,价格,库存。原创 2024-07-30 15:44:32 · 237 阅读 · 0 评论 -
[Java]面向对象
定义类编写类的成员变量编写类的成员方法public class 类名{1.成员变量(代表属性)2.成员方法(代表行为)3.构造器4.代码块5.内部类System.out.printf("打电话");System.out.printf("玩游戏!");JavaBean类在Javabean类中,是不写main方法的。测试类在测试类中创建JavaBean类的对象并进行赋值调用JavaBean类:public class 类名 {1.成员变量(属性);原创 2024-07-30 00:50:53 · 787 阅读 · 0 评论 -
[Java]二维数组
数据类型[][] 数组名 = new 数据类型[m][n]{{元素1,元素2},{元素1,元素2},{元素1,元素2}};数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2},{元素1,元素2},{元素1,元素2}};数据类型[][] 数组名 = {{元素1,元素2},{元素1,元素2},{元素1,元素2}};当我们需要把数据分组管理的时候,据需要用到二维数组。m表示这个二维数组,可以存放多少个一维数组。n表示每个一维数组,可以存放多少个元素。数组中存储数组的数组。原创 2024-07-28 17:26:36 · 590 阅读 · 0 评论 -
[Java] 基础语法练习
在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。把一个数组中的元素复制到另一个新数组中去。需求:定义方法实现随机产生一个5位的验证码。前四位是大写字母或者小写字母。原创 2024-07-28 16:02:35 · 291 阅读 · 0 评论 -
[Java]方法及引用数据类型
我要干什么?干这件事情需要什么才能完成?定义格式:public static void 方法名 ( ) {// 方法体;调用格式:方法名();注:方法必须先定义再调用,否则程序报错。原创 2024-07-26 00:29:51 · 511 阅读 · 0 评论 -
[Java]循环高级+数组
格式一:数据类型[] 数组名格式二:数据类型 数组名[]原创 2024-07-25 08:18:07 · 973 阅读 · 0 评论 -
[Java]分支和循环
没有写break时:首先case的值还会和小括号中的值进行匹配,如果匹配上了就执行语句体,发现break就结束整个switch语句。循环:反复执行一段代码逻辑知道循环条件判断语句为false值时循环结束,若一直为true就为死循环。当不知道循环次数,也不知道循环范围,但是知道循环的结束条件时,用while循环。最后如果所有的case都和表达式的值不匹配执行default语句,程序结束。和case依次比较,一旦有对应的值,执行相应的语句,遇到break结束。for和while循环,是先判断,再执行。原创 2024-07-24 00:49:49 · 732 阅读 · 0 评论 -
[Java]原码、反码和补码和位操作符
计算机进行运算时,会将0的两种表现形式1111 1111和0000 0000表现出来,从而导致运算错误,所以引入了补码来解决负数反码运算时候跨0的这一问题(计算规则:正数的反码不变,负数的反码在原码的基础上,符号位不变数值取反,0变1,1变0。:正数的补码反码是其本身,负数的反码是其符号位不变其余位置取反。:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。:正数的补码是其本身,负数的补码是在其反码的基础上+1。0000000红色的为符号位,0为正,1为负数。正数和负数的运算问题。原创 2024-07-23 01:12:20 · 295 阅读 · 0 评论 -
[Java]运算符
byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。变量的取值范围(由小到大):byte、short、int、long、float、double。(不同运算符链接的表达式体现的是不同类型的表达式)如果要把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。-取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。作用:可以进行判断,根据判断的结果得到不同的内容。原创 2024-07-23 00:12:22 · 635 阅读 · 0 评论 -
[Java]变量及计算机中的存储规则
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。字面量类似于c语言中的常量,告诉程序员数据在程序中的书写格式。如果小数类型中,不太确定范围,那么默认使用double类型。在定义变量的时候,要根据实际的情况来选择不同类型的变量。如果整数类型中,不太确定范围,那么默认使用int类型。如果要定义布尔类型的变量,那么使用boolean。计算机中,任意数据都是以二进制的形式来存储的。如果要定义字符类型的变量,那么使用char。把常变量的值赋予给变量。比如:地球的年龄,可以选择long类型。原创 2024-07-21 22:49:04 · 1149 阅读 · 0 评论 -
[Java]Jdk、Jre和Jvm的关系
JVM、JDK、JRE三者包含关系。原创 2024-07-21 15:48:09 · 218 阅读 · 0 评论 -
[Java]Hello World
使用cmd命令切换到存放hello word源代码的文件夹,然后使用jdk提供的javac指令编译java程序。在编译后程序提示错位,查阅资料后知道原因是。类名应该和文件名一致,将helloworld修改为HelloWorld程序不在报错编译成功。编译成功,生成.class文件在code目录下,用Java命令运行。安装完成之后先创建一个文本文档将后缀.txt改为.Java。.class文件(字节码文件),原创 2024-07-21 14:59:59 · 226 阅读 · 0 评论 -
CMD基本操作
我的电脑 -》属性-》高级系统设置-》高级-》环境变量-》系统变量(Path)-》QQ完整路径(粘贴)-》确定。想要在任意目录下都能打开指定软件,就可以把软件路径配置到环境变量中。将QQ路径记录在环境变量之中,不需要繁琐的操作也能打开QQ。Win + R 打开cmd面板。举例:E:回车,表示切换到E盘。cd 目录1\目录2\...举例:cd IO\hello。说明:查看当前路径下的内容。说明:退出命令提示符窗口。说明:回退到盘符目录。说明:回退上一级目录。练习:cmd打开qq。原创 2024-07-21 00:11:59 · 243 阅读 · 0 评论