自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 零基础学JAVA--Day42(字节流和处理流)

1.节点流可以从一个特定的数据源读写数据,如FileReader、FileWriter[源码]2.52. 处理流(也叫包装流)是“连接”在已存在的流(节点流或处理流)之上,为程序提供更为强大的读写功能,如BufferedReader、BufferedWriter[源码]包装流(比如:BufferedReader、BufferedWriter)

2025-12-08 22:46:16 1111

原创 零基础学JAVA--Day41(IO文件流+IO流原理+InputStream+OutputStream)

文件在程序中是以流的形式来操作的流:数据在数据源(文件)和程序(内存)之间经历的路径输入流:数据从数据源(文件)到程序(内存)的路径输出流:数据从程序(内存)到数据源(文件)的路径。

2025-12-05 17:02:52 1181

原创 零基础学JAVA--Day40(坦克大战)

这个系列快结束了,我准备学到反射就开始se了,加油吧。离回家还有39天,越来越近了,加油~

2025-12-02 22:19:14 464

原创 零基础学JAVA--Day39(线程常用方法+线程的生命周期+线程同步机制+互斥锁+死锁+释放锁)

1.在多线程编程,一些敏感数据不允许被多个线程同时访问,此时就使用同步访问技术,保证数据在任何时刻,最多有一个线程访问,以保证数据的完整性。(如果把特定的内存当作房子,那这个房子最多只能待一个人且这个人得有锁,房子内只能一个人进行操作,操作完把锁还回去,下一个人拿到锁才能进屋)2.也可以这里理解:线程同步,即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作,其他线程才能对该内存地址进行操作.

2025-11-28 19:34:22 1213

原创 零基础学JAVA--Day38(线程基本使用)

并发:同一个时刻,多个任务交替执行,造成一种“貌似同时”的错觉,简单的说,单核cpu实现的多任务就是并发。(单核cpu只能干一件事,不断切换而已)并行:同一个时刻,多个任务同时执行。多核cpu可以实现并行。

2025-11-27 18:01:31 770

原创 零基础学JAVA--Day37(坦克大战1.0)

3、事件:事件就是承载事件源状态改变时的对象,比如当键盘事件、鼠标事件、窗口事件等等,会生成一个事件对象,该对象保存着当前事件很多信息,比如KeyEvent对象有含义被按下键的Code值。当事件发生时,产生事件的对象,会把此”信息”传递给”事件的监听者”处理,这里所说的"信息“实际上就是java.awt.event事件类库里某个类所创建的对象,把它称为”事件的对象”。其实这个写了两天,之后的课都是下午和晚上连着上,晚上到宿舍已经十点左右了,而且不知道为什么晚上的课尤其的累,加油吧,下面是多线程了。

2025-11-26 22:51:45 513

原创 零基础学JAVA--Day36(自定义泛型)

interface接口名<T,R..>{注意细节1)接口中,静态成员也不能使用泛型(这个和泛型类规定一样)2)泛型接口的类型,在继承接口或者实现接口时确定3)没有指定类型,默认为Objectint n = 10;//普通类也可以泛型R get(U u);//在jdk8中,可以在接口中,使用默认方法,也是可以使用泛型class AA implements IA{//实现IA接口时,必须要完成IA对于Iusb泛型的定义@Override@Overridereturn 0.0。

2025-11-24 15:00:28 1035

原创 零基础学JAVA--Day35(泛型)

使用传统方法的问题分析1)不能对加入到集合ArrayList中的数据类型进行约束(不安全)2)遍历的时候,需要进行类型转换,如果集合中的数据量较大,对效率有影响。

2025-11-21 17:20:36 1309

原创 零基础学JAVA--Day35(Collections工具类介绍)

Collections是一个操作Set、List和Map等集合的工具类,Collections中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作排序操作(均为static方法)4)sort(List,Comparator):根据指定的Comparator产生的l顺序对List集合元素进行排序。5)swap(List,int,int):将指定list集合中的i处元素和j处元素进行交换。3)sort(List):根据元素的自然顺序对指定List集合元素按升序排序。集合这章剩余的一些,下面是泛型。

2025-11-21 15:18:36 298

原创 零基础学JAVA--Day34(Map接口+HashTable+HashMap+TreeSet+TreeMap+开发中如何选择集合实现类?(重要))

3)当添加key-val时,通过key的哈希值得到在table的索引。6)在JaVa8中,如果一条链表的元素个数超过TREEIFYTHRESHOLD(默认是8),并且table的大小>=MINTREEIFYCAPACITY(默认64),就会进行树化(红黑树)5) Map的key可以为 null,value也可以为null,注意key为null只能有一个,value为null,可以多个.5)以后再扩容,则需要扩容table容量为原来的2倍(32),临界值为原来的2倍,即24,依次类推。

2025-11-17 22:40:20 1146

原创 零基础学JAVA--Day33(Set接口+HashSet+LinkedHashSet)

基本介绍1)无序(添加和取出的顺序不一致),没有索引[后面演示]2)不允许重复元素,所以最多包含一个null3)JDK API中Set接口的常用实现类有:HashSet和TreeSet类常用方法1、继承了Collection类,所以可以用它的所有方法2.遍历方式:可以使用迭代器、增强for、

2025-11-15 16:38:27 1189

原创 零基础学JAVA--Day32(ArrayList底层+Vector+LinkedList)

1)继承了List和Collection类2)Vector底层也是一个对象数组,protected Object[ ]elementData;3)Vector是线程同步的,即线程安全,Vector类的操作方法带有synchronized4)在开发中,需要线程同步安全时,考虑使用Vector。

2025-11-14 17:55:28 755

原创 零基础学JAVA--Day31(Collection类+List类)

1)collection实现子类可以存放多个元素,每个元素可以是Object2)有些Collection的实现类,可以存放重复的元素,有些不可以3)有些Collection的实现类,有些是有序的(List)(存入顺序=取出顺序),有些不是有序(Set)4)Collection接口没有直接的实现子类,是通过它的子接口Set和List来实现的List 接口是Collection接口的子接口(即List方法Collection不能用,Collection类的方法List类都能用)

2025-11-13 21:56:17 553

原创 零基础学JAVA--Day30(Math类、Arrays类、日期类)

/asList 编译类型是List(接口)Integer[ ]newArr = Arrays.copyof(arr,arr.length);2)arraycopy:复制数组元素,比较适合底层调用,一般使用Arrays.copyof完成复制数组.//(原数组,拷贝开始索引,目标数组,目标数组的粘贴开始索引,拷贝多少元素)从arr数组中,拷贝arr.length个元素到newArr数组中。

2025-11-12 21:37:23 876

原创 零基础学JAVA--Day29( StringBuffer+ StringBuilder)

String类是保存字符串常量的。每次更新都需要重新开辟空间,效率较低,因此java设计者还提供了StringBuilder和StringBuffer来增强String的功能,并提高效率。

2025-11-11 19:24:07 889

原创 零基础学JAVA--Day28(包装类+String类)

1)String对象用于保存字符串,也就是一组字符序列2)字符串常量对象是用双引1号括起的字符序列。例如:"你好”、"12.97”、"boy”等3)字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节。4)String类较常用构造器(其它看手册)://5、String类实现了接口Serializable【String可以串行化:可以在网络传输】接口Comparable【String对象可以比较大小】

2025-11-10 21:36:31 603

原创 零基础学JAVA--Day27(注释+异常+异常处理方法)

使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符使用。用于修饰它支持的程序元素三个基本的Annotation:1)@Override:限定某个方法,是重写父类方法,该注解只能用于方法2)@Deprecated:用于表示某个程序元素(类,方法等)已过时3)@SuppressWarnings:抑制编译器警告。

2025-11-09 21:14:30 1752

原创 零基础学JAVA--Day26(枚举类)

1、将构造器私有化,目的防止直接new2、去掉setXxx方法,防止属性被修改3、在Season内部,直接创建固定的对象注意:1.不需要提供setXxx方法,因为枚举对象值通常为只读.2.对枚举对象/属性使用final+static共同修饰,实现底层优化.3.枚举对象名通常使用全部大写,常量的命名规范.4.枚举对象根据需要,也可以有多个属性//季节名称//季节描述private Season(String name,String description){//构造器私有化。

2025-11-08 23:00:02 612

原创 零基础学JAVA--Day25(局部内部类+匿名内部类(重要)+成员内部类+静态内部类)

Java内部类是定义在外部类内部的类,分为局部内部类、匿名内部类、成员内部类和静态内部类。局部内部类定义在方法内,可直接访问外部类私有成员;匿名内部类常用于一次性实现接口或继承类;成员内部类位于外部类成员位置,可添加访问修饰符;静态内部类只能访问外部类静态成员。内部类可直接访问外部类所有成员(包括私有成员),重名时遵循就近原则,通过"外部类名.this.成员"访问外部类成员。内部类体现了类与类之间的包含关系,是Java类的五大成员之一。

2025-11-06 18:59:46 1108

原创 零基础学JAVA--Day24(接口)

接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。

2025-11-05 22:52:51 497

原创 零基础学JAVA--Day23(final关键字+抽象类及应用模板设计模式)

1)用abstract关键字来修饰一个类时,这个类就叫抽象类访问修饰符 abstract 类名();2)用abstract关键字来修饰一个方法时,这个方法就是抽象方法访问修饰符 abstract 返回类型 方法名(参数列表);//没有方法体3)抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类4)抽象类,是考官比较爱问的知识点,在框架和设计模式使用较多。

2025-11-04 22:59:20 1409

原创 零基础学JAVA--Day22(类变量和类方法+深入理解main方法+代码块的细节(重要))

本文摘要:介绍了Java中类变量(静态变量)和类方法(静态方法)的特性与使用场景。类变量由所有对象共享,在类加载时初始化,可通过类名或对象名访问;类方法不涉及对象成员时使用,只能访问静态成员。同时阐述了代码块(静态/普通)的执行顺序:静态代码块优先于普通代码块,父类优先于子类。重点说明了类加载时机和各类成员的初始化顺序,并指出静态成员与普通成员在调用上的区别。

2025-11-03 21:41:12 1068

原创 零基础学JAVA--Day21(房屋出租系统+韩顺平Utility类原码)

一个简单的房屋出租系统,实现的功能主要有以下几个方面。

2025-11-02 22:36:27 743

原创 零基础学JAVA--Day20(equals 和 == 的区别+hashCode+toString方法+finalize方法)

=是一个比较运算符1.==:既可以判断基本类型,又可以判断引用类型2.==:如果判断基本类型,判断的是值是否相等。示例:int i=10;3.==:如果左右两边判断的是引用类型,判断的是地址是否相等,即判定是不是同一个对象equals只能判断引用类型,其是Object类的一个方法注意:1、String和Integear类中,equals方法进行了重写是判断两个字符串的值是否相等。

2025-11-01 19:16:52 637

原创 闵帆教授《论文写作》课程学习心得

摘要就是论文的 “浓缩版”,要包含三个部分:前人研究的情况、自己做了什么、取得了什么结果。老师给了个万能模板:先说明研究的问题是什么,为什么重要;再讲之前别人是怎么解决这个问题的,有什么不足;然后说自己用了什么方法,做了哪些工作;接着描述实验怎么设计的,结果怎么样;最后总结一下自己的研究有什么意义。按照这个顺序写,摘要逻辑会特别清晰。图片要选矢量图,放大了也不会模糊,比位图清楚。老师不建议用 Excel 画图,说 Excel 画的图视觉效果不太好。

2025-11-01 17:22:41 1294

原创 零基础学JAVA--Day19(多态数组+多态参数)

数组的定义类型为父类类型,里面保存的实际元素类型为子类类型。

2025-10-31 23:04:11 520

原创 零基础学JAVA--Day18(多态的向上/下+动态绑定机制)

多态的前提是:两个对象(类)存在继承关系。

2025-10-30 23:00:45 704

原创 零基础学JAVA--Day17(Super关键字+方法的重写+多态)

super代表父类的引用,用于访问父类的属性、方法、构造器1.访问父类的属性,但不能访问父类的private属性super.属性名;2.访问父类的方法,不能访问父类的private方法super.方法名(参数列表);3.访问父类的构造器(这点前面用过):super(参数列表):只能放在构造器的第一句,只能出现一句!

2025-10-28 21:38:23 1421

原创 零基础学JAVA--Day16(继承)

继承可以解决代码复用,让我们的编程更加靠近人类思维,当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可。解决的是代码冗余的问题。

2025-10-27 21:55:13 1002

原创 零基础学JAVA--Day15(封装)

封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作【方法】,才能对数据进行操作。

2025-10-26 21:20:36 309

原创 零基础学JAVA--Day14(idea文件夹代表什么+idea快捷键+模板快捷键)

CTRL+Y = 删除当前行CTRL+D = 复制当前行CTRL+/ = 注释当前行alt+/ = 补全当前代码导入该行需要的类先配置autoimport,然后使用alt+enter即可快速格式化代码ctrl+shift+alt+L快速运行程序 shift+F10快速生成构造器 alt+insert查看一个类的层级关系ctrl+H[学习继承后,非常有用]将光标放在一个方法上,输入ctrl+B,可以定位到哪个类的方法[学继承后,非常有用]快速分配变量名 在后面加.var。

2025-10-25 21:11:31 331

原创 零基础学JAVA--Day13(重载+可变参数+作用域+构造器+this关键字)

1、含义:在同一个类中,方法的名字可以一样,在调用的时候,会自动寻找。2、细节:方法名一定相同,形参列表一定不同,返回类型和形参名无要求。

2025-10-23 20:20:35 1404

原创 零基础学JAVA--Day12(递归+阶乘+斐波那契数列+猴子吃桃+老鼠出迷宫)

5.当一个方法执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当方法执行完毕或者返回时,该方法也就执行完毕。4.递归必须向退出递归的条件逼近,否则就是无限递归,出现StackOverflowError,死龟了:)这几天太冷了,今天休息日,东门的鸡公煲蛮好吃的,哈哈哈哈,瓦还刷出了盖亚,直接拿下~3.如果方法中使用的是引用类型变量(比如数组),就会共享该引用类型的数据.2.方法的局部变量是独立的,不会相互影响,比如n变量。应用1:斐波那契数列。应用2:猴子吃桃问题。

2025-10-21 21:30:23 888

原创 零基础学JAVA--Day11(方法细节+传参细节)

1、访问修饰符:一共四种[public 、protected、默认、private]2、一个方法最多有一个返回值,多个返回值可以设计成数组返回3、有返回数据类型,方法必须有return4、如果方法是void,则没有return或者只写return;

2025-10-20 19:41:21 222

原创 零基础学JAVA--Day10(类与对象+方法1)

类是一种数据类型,对象就是这个类的具体对象内存布局注意:Java内存的结构分析1、栈:一般存放基本数据类型(局部变量)2、堆:存放对象(Cat cat,数组等)3、方法区:常量池(常量,比如字符串),类加载信息属性的注意细节:1)属性的定义语法同变量,示例:访问修饰符属性类型属性名;2)属性的定义类型可以为任意类型,包含基本类型或引用类型3)属性如果不赋值,有默认值,规则和数组一致。

2025-10-19 20:31:04 259

原创 零基础学JAVA--Day9(数组的扩容和缩减+冒泡排序+二维数组+杨辉三角)

1)原始数组使用静态分配int[ ] arr={1,2,3}2) 增加的元素4,直接放在数组的最后arr={1,2,3,4}即可动态扩容动态缩减。

2025-10-18 19:37:04 378

原创 零基础学JAVA--Day8(数组)

数组可以存放多个,数组也是一种数据类型,是引用类型。1、定义一个数组2、遍历数组用for循环数组的下标是从0开始的。

2025-10-17 21:57:49 300

原创 零基础学JAVA--Day7(for的细节+while循环语句+空心金字塔+跳转控制语句break、continue和return)

1)循环条件是返回一个布尔值的表达式2)for(循环判断条件)中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。循环变量初始化写在for的括号之内,则i的值只能用在这个for语句里,而写在for外面,则后续也可以使用i的值3)循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。

2025-10-16 21:39:45 232

原创 零基础学JAVA--Day6(控制结构+switch分支结构+for循环控制)

程序从上到下逐行执行,中间没有任何判断和跳转。(最基本)

2025-10-15 22:38:50 268

原创 零基础学JAVA--Day5(进制+原码、反码、补码+位运算符)

在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。Input.java,需要一个扫描器(对象),就是Scanner。而这需要导入java.util.*这个包。

2025-10-14 21:29:22 1201

零基础学JAVA-Day40(坦克大战)

零基础学JAVA-Day40(坦克大战)

2025-12-02

空空如也

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

TA关注的人

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