Java基础教程
文章平均质量分 77
以java基础为核心的教程
沐鑫本鑫
FIGHTING
展开
-
Java_27_File类
File类:代表操作系统的文件对象。File类:是用来操作操作系统的文件对象的,删除文件,获取文件信息,创建文件(文件夹)…广义来说操作系统认为文件包含(文件和文件夹)File类的创建文件对象的API:包:java.io.File构造器:– public File(String pathname):根据路径获取文件对象– public File(String parent , String child):根据父路径和文件名称获取文件对象!原创 2023-07-27 08:45:51 · 129 阅读 · 0 评论 -
Java_26_Stream流
什么是Stream流?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream流概念 ,用于Stream流能解决什么问题?可以Stream认为集合和数组操作的API很不好用,所以采用了Stream流简化集合和数组的操作!!小结:Stream流是用来简化集合类库或者数组API的弊端。Stream流其实就一根传送带,元素在上面可以被Stream流操作。需求:从集合中筛选出所有姓张的人出来。然后再找出姓名长度是3的人。传统写法Stream流写法。原创 2023-07-26 17:54:18 · 601 阅读 · 0 评论 -
Java_25_方法引用
方法引用:方法引用是为了的写法。方法引用的格式:类型或者对象::引用的方法。关键语法是:“::”原创 2023-07-26 16:36:18 · 688 阅读 · 0 评论 -
Java_24_Lambda表达式
什么是Lambda表达式?Lambda表达式是JDK1.8开始之后的新技术,是一种代码的新语法。是一种特殊写法,作用:“Lambda表达式的格式:(匿名内部类被重写方法的形参列表) -> {被重写方法的方法体代码。-> 就是一个新语法,没有实际含义,但是不能省略!Lambda表达式的使用前提:(1)Lambda表达式并不能简化所有匿名内部类的写法。(2)Lambda表达式Lambda表达式只能简化函数式接口的匿名内部类写法:a.首先必须是接口。原创 2023-07-26 11:59:14 · 96 阅读 · 0 评论 -
Java_23_并发包
并发包的来历:在实际开发中如果不需要考虑线程安全问题,大家不需要做线程安全,因为如果做了反而性能不好!但是开发中有很多业务是需要考虑线程安全问题的,此时就必须考虑了。否则业务出现问题。Java为很多业务场景提供了性能优异,且线程安全的并发包,程序员可以选择使用!Map集合中的经典集合:HashMap它是线程不安全的,性能好小结:HashMap是线程不安全的。Hashtable线程安全基于synchronized,综合性能差,被淘汰了。原创 2023-07-25 23:10:54 · 201 阅读 · 0 评论 -
Java_21_多线程01
什么是进程?程序是静止的,运行中的程序就是进程。并行:同一个时刻同时有多个在执行。什么是线程?线程是属于进程的。一个进程可以包含多个线程,这就是多线程。线程是进程中的一个独立执行单元。线程创建开销相对于进程来说比较小。线程也支持“并发性”。线程的作用:可以提高程序的效率,线程也支持并发性,可以有更多机会得到CPU。多线程可以解决很多业务模型。大型高并发技术的核心技术。设计到多线程的开发可能都比较难理解。原创 2023-07-24 16:26:16 · 46 阅读 · 0 评论 -
Java_20_异常
引入:Java已经为开发中可能出现的异常都设计了一个类来代表.但是实际开发中,异常可能有无数种情况,Java无法为这个世界上所有的异常都定义一个代表类。假如一个企业如果想为自己认为的某种业务问题定义成一个异常就需要自己来自定义异常类.需求:认为年龄小于0岁,大于200岁就是一个异常。自定义异常:自定义编译时异常.a.定义一个异常类继承Exception.b.重写构造器。c.在出现异常的地方用throw new 自定义对象抛出!原创 2023-07-14 22:30:52 · 146 阅读 · 0 评论 -
Java_19_图书管理系统项目
类型 书名 价格 作者。(2)定义一个集合表示图书馆用于存储书本信息数据:Map<String,List>。《神雕侠侣》 98.2 金庸。《三少爷的剑》 98.2 古龙。功能:主要是让Map中的键作为橱柜,值作为书本信息。(3)删除书本信息。(4)修改书本信息。(1)查看全部书籍。(2)添加书本信息。(1)定义一个书本类。(3)展示操作界面。(4)完成相应功能。原创 2023-07-13 18:10:51 · 105 阅读 · 0 评论 -
Java_18_Map集合
Map集合的键和值都可以存储自定义类型。小结:Map集合的键和值都可以存储自定义类型。如果希望Map集合认为自定义类型的键对象重复了,必须重写对象的hashCode()和equals()方法Orange类作存储类型} }MainOranges o1 = new Oranges("黄橘子" , 20.3 , "贼便宜!");Oranges o2 = new Oranges("黑橘子" , 30.3 , "坏了");原创 2023-07-07 16:17:32 · 126 阅读 · 0 评论 -
Java_17_斗地主游戏思想
要创建一个牌组数组牌组加入新牌。原创 2023-07-06 14:37:42 · 160 阅读 · 0 评论 -
Java_集合_16
什么是集合?集合是一个大小可变的容器。容器中的每个数据称为一个元素。数据==元素。集合的特点是:类型可以不确定,大小不固定。集合有很多种,不同的集合特点和使用场景不同。数组:类型和长度一旦定义出来就都固定了。集合有啥用?在开发中,很多时候元素的个数是不确定的。而且经常要进行元素的增删该查操作,集合都是非常合适的。开发中集合用的更多!!Java中集合的代表是:Collection.Collection集合是Java中集合的祖宗类。原创 2023-06-25 00:14:51 · 222 阅读 · 0 评论 -
Java_泛型_15
引入:我们之前用的泛型都是别人写好的,接下来我们来自定义泛型类使用。泛型类的概念:使用了泛型定义的类就是泛型类。泛型类的格式:修饰符 class 类名<泛型变量>{泛型变量建议使用 E , T , K , V需求:模拟ArrayList集合自定义一个集合MyArrayList集合。泛型类的核心思想:是把出现泛型变量的地方全部替换成传输的真实数据类型。小结:自定义泛型的核心思想:是把出现泛型变量的地方全部替换成传输的真实数据类型。//自定义泛型类 需要的类型全为E。原创 2023-06-24 11:57:20 · 262 阅读 · 0 评论 -
Java_正则表达式_14
正则表达式的作用:是一些特殊字符组成的校验规则,可以校验信息的正确性,校验邮箱是否合法,电话号码,金额等。需求:演示不用正则表达式和用正则表达式校验QQ号码。小结:正则表达式很适合做校验,代码简单,优雅!原创 2023-06-23 21:16:29 · 456 阅读 · 0 评论 -
Java_类的介绍_13
Math用于做数学运算。Math类中的方法。方法:方法名 说明public static int abs(int a) 获取参数a的绝对值:public static double ceil(double a) 向上取整public static double floor(double a) 向下取整。原创 2023-06-22 20:03:38 · 63 阅读 · 0 评论 -
Java_日期时间类_12
Java是面向对象的,会用一个类代表一个事物。Date类在Java中代表的是系统当前此刻日期时间对象。时间记录的两种方式:a.Date日期对象。b.时间毫秒值:从1970-01-01 00:00:00开始走到此刻的总的毫秒值。小结:Date可以代表系统当前此刻日期时间对象。时间记录的两种方式:Date日期对象。时间毫秒值:从1970-01-01 00:00:00开始走到此刻的总的毫秒值。原创 2023-06-16 14:15:03 · 44 阅读 · 0 评论 -
Java_Object类_11
引入1. 包:java.lang.Object2. Object类是Java中的祖宗类。3. 一个类要么默认继承了Object类,要么间接继承了Object类。4. Object类的方法是一切子类都可以直接使用的,所以我们要学习Object类的方法。Object类的常用方法:com.itheima._12Object类的详细使用.Student@735b478– 默认的地址信息格式:类的全限名@内存地址。原创 2023-06-16 09:32:33 · 53 阅读 · 0 评论 -
Java_内部类_10
内部类是类的五大成分之一:成员变量,方法,构造器,代码块,内部类。什么是内部类?定义在一个类里面的类就是内部类。内部类有什么用?可以提供更好的封装性, 内部类有更多权限修饰符 , 封装性有更多的控制。可以体现出组件的思想。内部类的分类:(1)静态内部类。(2)实例内部类。(成员内部类)(3)局部内部类。(4)匿名内部类。(重点)小结:匿名内部类是我们的重点。原创 2023-06-15 21:59:12 · 33 阅读 · 0 评论 -
Java_多态_9
面向对象的三大特征:封装,继承,多态。多态的形式:父类类型 对象名称 = new 子类构造器;接口 对象名称 = new 实现类构造器;父类类型的范围 > 子类类型范围的。多态的概念:同一个类型的对象,执行同一个行为,在不同的状态下会表现出不同的行为特征。多态的识别技巧:对于方法的调用:编译看左边,运行看右边。对于变量的调用:编译看左边,运行看左边。多态的使用前提:(1) 必须存在继承或者实现关系。(2) 必须存在父类类型的变量引用子类类型的对象。原创 2023-06-15 16:40:34 · 39 阅读 · 0 评论 -
Java_枚举_8
枚举是Java中的一种特殊类型。枚举的作用:是为了做信息的标志和信息的分类。定义枚举的格式:修饰符 enum 枚举名称{第一行都是罗列枚举实例的名称。枚举类的编译以后源代码:枚举的特点:1.枚举类是用final修饰的,枚举类不能被继承!2.枚举类默认继承了java.lang.Enum枚举类。3.枚举类的第一行都是常量,存储都是枚举类的对象。4.枚举类的第一行必须是罗列枚举类的实例名称。。原创 2023-06-14 19:47:04 · 251 阅读 · 0 评论 -
Java_单例设计模式_7
单例模式的含义: 单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,应用该模式的。。单例是为了,单例在有些业务场景下还必须用到!!单例的应用场景:在实际开发中,有很多业务对象永远只需要一个,无论启动多少次,只需要一个对象。节约内存和性能。因为对象越多内存占用越大,极有可能出现内存溢出!实现单例模式目前提供两种方式:饿汉单例设计模式在用类获取对象的时候,对象已经提前为你创建好了。设计步骤:a.定义一个类,把构造器私有。b.定义一个静态变量存储一个对象。原创 2023-06-14 17:19:28 · 34 阅读 · 0 评论 -
Java_final_6
final是最终的含义。final用于修饰:类,方法,变量。1.final修饰类,类不能被继承了。2.final可以修饰方法,方法就不能被重写了。3.final修饰变量总规则:变量有且仅能被赋值一次。拓展:final和abstract的关系?互斥关系,不能同时修饰类或者同时修饰方法!!原创 2023-06-14 12:09:33 · 26 阅读 · 0 评论 -
Java_代码块_5
代码块是类的成分之一:成员变量,方法,构造器,代码块,内部类。代码块按照有无static修饰分为:1.静态代码块。2.实例代码块。静态代码块的格式:static { }静态代码块特点:– 必须有static修饰。– 会与类一起优先加载,且自动触发执行一次。静态代码块作用:– 可以在执行类的方法等操作之前先在静态代码块中进行静态资源的初始化操作。静态代码块的作用:可以用于在静态代码块中进行静态资源的初始化操作。常见的使用例子,静态东西先初始化!!!逼格高!!!原创 2023-06-13 22:39:46 · 26 阅读 · 0 评论 -
Java_接口_4
一般修饰符public static final 缺一不可名称全部大写,可用下划线连接变量值只有一个!!!原创 2023-06-13 22:06:48 · 38 阅读 · 0 评论 -
Java_抽象类_3
抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。理解:假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,没有意义。抽象类一定有而且是必须有构造器,是供子类创建对象时,初始化父类成员使用的。理解:子类的构造器中,有默认的super(),需要访问父类构造器。抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。抽象类的子类,必须重写抽象父类中所有的抽象方法,否则子类也必须定义成抽象类。原创 2023-06-06 23:52:59 · 28 阅读 · 0 评论 -
Java_继承_2
this代表了当前对象的引用(继承中指代子类对象):this.子类成员变量。this.子类成员方法。this(…):可以根据参数匹配访问本类其他构造器。super代表了父类对象的引用(继承中指代了父类对象空间)super.父类成员变量。super.父类的成员方法。super(…):可以根据参数匹配访问父类的构造器。拓展:this(…)根据参数匹配访问本类其他构造器。注意:this(…)借用本类其他构造器。super(…)调用父类的构造器。原创 2023-06-06 17:04:48 · 67 阅读 · 0 评论 -
Java_成员变量和方法_1
按照有无static修饰成员变量分为:(1)静态成员变量:有static修饰,属于类本身与类一起加载一次,直接用类名访问即可。(2)实例成员变量:无static修饰,属于类的每个对象的,必须先创建对象,再用对象来访问。原创 2023-06-05 16:18:49 · 167 阅读 · 0 评论