- 博客(40)
- 收藏
- 关注
原创 面试题—Java基础
&是短路与,与逻辑与用法对应,共同点为要求运算符两边布尔值都是true时表达式才为true,否则为false,不同点为短路与当判断运算符左边为flase时会直接得出表达式为false,右边的表达式会被短路,不再进行计算,但&及时左边为flase,还是会计算右边的值。静态变量也称为static变量,与普通变量的区别在于静态变量被所有对象共享,在内存中只有一个副本,当且仅当在类初次加载时会被初始化,静态变量属于类,而非静态变量是对象对拥有的,在创建对象时被初始化,每个不同的对象都拥有一个互不影响的副本。
2024-09-10 20:59:37
721
1
原创 Java 中 实体类对象与JSON对象互相转换、实体类集合与JSON数组互相转化
【代码】Java 中 实体类对象与JSON对象互相转换、实体类集合与JSON数组互相转化。
2024-07-25 16:11:23
538
原创 关于Properties put()和setProperty()方法的问题
到这里结果就出来了,如果对应的值存在,get()会直接返回对应的值,而getProperty()会接着进行判断返回的是否是一个字符串,如果是则继续向下,如果不是就返回null了。到这里已经可以看到了一个区别:两个方法的参数列表要求的类型不同,setProperty()已经指定了传入的是字符串,而put()则是Object。如果key和value都是Sring类型,则put()、get()与setProperty()、getProperty()可以混用。此处还是调用了上一个put()查看两个存入方法的源码。
2024-07-19 14:24:40
500
原创 Java中InputStreamReader和FileReader之间的一些区别
对象时,它会自动使用平台的默认字符编码来打开文件。这意味着如果你的文件编码与系统默认编码不符,可能会遇到乱码问题。提供的数据,并且允许你指定字符集编码。如果没有指定编码,则会使用平台的默认字符编码。如果你只是想简单地读取一个本地文件,且文件使用的是系统默认编码,那么使用。则提供了更简单的接口,适用于读取本地文件并且使用系统默认编码的情况。通常用于读取网络或资源中的数据,这些数据可能以不同的编码格式存储。如果你想从一个文件中读取数据,并且知道文件的编码,你可以使用。中,但这也限制了你对编码的控制。
2024-07-19 09:20:48
744
原创 关于文件(File)操作中,listFiles是否返回null
经过验证发现即使是空的目录对象使用listFiles也会得到一个File[]对象,只是长度为0,而当指定的目录不存在或权限不足的情况下,也可能返回null。对于listFiles方法,理论上只能对目录使用,用于获取该目录下的所有文件和目录。
2024-07-17 16:32:34
392
原创 Java中使用Stream API的sum()方法的小问题
在Java中,sum()方法是IntStreamLongStream, 和类提供的终端操作,用于计算流中所有元素的总和。这些类专门用于处理基本类型的流,而Stream<T>类本身并不包含sum()方法。也就是说,sum()是专门给数值类型实用的!对于IntStreamLongStream, 或,可以直接调用sum()。如果你有, 必须需要先将其转换为IntStream。
2024-07-16 16:10:50
1984
原创 关于不同集合类型是否重写equals和hashCode的问题
它们只是简单地存储并按顺序访问元素,所以即使没有重写这两个方法,仍然可以添加、删除和获取元素,不会遇到问题。这意味着只有完全相同的对象(即具有相同的内存地址)才会被认为相等,而这通常不是想要的语义。同一个元素在多次插入时可能被认为是不同的,从而可能导致集合中存在多个看似相同的元素副本。为了保证集合行为的一致性和正确性,特别是当涉及到元素相等性的判断时,最好重写。相同的元素(根据你的业务逻辑定义的相等性)可能被视为不同的元素,导致重复。方法没有正确地识别集合中的现有元素,那么移除操作可能会失败。
2024-07-15 15:40:36
481
原创 关于LocalDateTime使用的一些注意
如果希望只输入日期,不能使用LocalDateTime(LocalDateTime必须要日期+时间信息),而是使用LocalDate,需要返回LocalDateTime类型时,再将LocalDate转化为LocalDateTime。字符串转LocalDateTime。
2024-07-15 09:40:12
254
原创 【网络文明】关注网络安全
网络安全是指保护网络系统的硬件、软件及其存储、传输的数据不被非法访问、篡改、泄露或破坏的过程。这包括了保护个人电脑、智能手机、服务器、网络基础设施等设备的安全,确保电子通信的私密性、完整性和可用性。网络安全是一项系统工程,涉及政府、企业、社会组织和每个个体。在享受互联网带来的便利的同时,我们每个人都应承担起维护网络安全的责任。通过持续的学习、实践和合作,构建一个更加安全、可信的网络环境,让科技真正造福人类社会。程序员作为数字时代的建设者,我们的每一行代码都承载着责任与使命。
2024-07-13 15:37:44
1123
2
原创 在快速发展的技术世界中保持知识更新:拥抱持续学习的旅程
在这个日新月异的数字时代,技术的发展速度令人目不暇接。新语言、框架、工具和理念层出不穷,使得持续学习成为了每位技术人员赖以生存和发展的核心竞争力。作为知识的探索者和实践者,如何在繁忙的工作之余高效地更新知识库,保持与时俱进,成为了我们必须面对的课题。以下是我总结的一些学习经验,希望能为你的学习之旅提供一份指南。
2024-07-13 15:37:27
1098
原创 简单的机票预定系统(纯Java)
所有文件如下说明:其中entity包下放了Flight、Order、User三个实体类,Data是整个项目存放的数据(通过ArrayList来存储数据,没有使用数据库)enumration包下存放了用户vip等级信息相关内容Main是程序的主入口service包下是相关业务的实现util包下是对service中对数据操作的实现(模拟进行持久化),以及其他的一些功能实现。
2024-07-13 15:28:24
2267
1
原创 代码分层&maven
在Java应用程序中,通常采用业务分层结构来组织代码,以提高可维护性、可扩展性和代码复用性。Maven是一款帮助程序员构建项目的工具通过标签标记要使用的jar包,Maven会自动下载,提高开发效率Maven 简化并标准化了项目构建过程。它将项目的编译,生成文档,创建报告,发布,部署等任务无缝衔接,构建成一套完整的生命周期。
2024-06-17 16:01:46
1097
原创 day13 可变字符串 Math API 日期API
介绍:对象创建后可以通过调用方法改变其封装的字符序列,java的字符串连接的过程是利用StringBuilder实现的(通过append()实现,StringBuilder.toString()可以转化为字符串)介绍:用于封装日历信息,可以对时间分量进行运算,是抽象类,具体子类针对不同国家的日历系统,其中应用对广泛的是格里高里历(通用的阳历),对应世界上绝大多数国家/地区的标准日历系统。属于lang包下的一个工具类,使用时无需导包,该类中的方法为静态方法,通过Math.方法名()调用。
2024-06-06 22:35:36
1024
原创 day12 内部类 泛型 枚举 包装类
格式:接口(父类类型) 变量名=new 接口(父类)(构造方法参数){匿名类中定义的成员变量或方法(重写抽象方法)或 new 接口(父类)(){重写方法;使用重写的方法;或 new 接口(父类)(){重写方法;}.方法();(适用于只有一个方法)自动装箱是指为包装类对象赋值时,会自动用基本数据类型来接收数据并将其值赋值给对应的包装类对象自动拆箱是指基础数据类型与它们的包装类进行运算时,编译器会自动帮我们进行转换。
2024-06-06 22:25:39
587
原创 day11 多态 抽象类
在java中一个对象允许有多个形态,在实际应用中可能会重写父类中的某些方法,但是调用的时候,调用哪个子类并不明确,没有多态的形式调用子类创建的方法比较麻烦,需要创建子类对象.方法,封装好方法,传递父类对象,实际传子类对象,通过向上转型(多态)可以正确调用它所对应的形态,只要子类重写了调用子类的,子类没有重写调用父类的,可以让代码更简洁,提高代码的可拓展性。父类的引用指向子类对象(向上转型)(该对象属于父类的对象,只能调用子类重写父类的方法,如果子类没有重写,则调用父类的)为什么要有抽象方法?
2024-06-06 22:23:26
895
原创 day10 static 继承
运行中消耗的内存是JVM的内存,编译好的java程序运行在JVM中形参的改变不影响实参JVM划分常见区域用于存储局部变量,方法的基本类型参数,引用类型的地址用于存储类的非静态成员变量,引用类型的实例和方法的引用类型参数的实例(new出来的 数组、对象实例)用于存储类的信息:类的静态成员变量,类的静态方法和非静态方法 类的信息 .class信息方法只有一份,无论该类创建了多少对象,当第一次new出对象,方法区就会装入方法静态方法中不能使用this关键字。
2024-06-06 22:20:23
492
原创 day08 面向对象常用api
String的注意事项:1、String对象的内容不可改变,被称为不可变字符串对象 (每次看起来在修改它,实际上,都在堆内存中创建了新的对象。原来的字符串对象没有被改变) 2、以“..”方式写出的字符串对象,会存储到字符串常量池,且内容相同的字符串只存储一份,但通过new方式创建字符串对象,每new一次都会在堆内存中产生一个新对象。Java程序中的所有字符串字面值(如"abc")都是字符串的实例实现。所有Java的字符串字面值,都是字符串对象。为了对这些类进行分门别类的管理,将写好的类放在不同的包里。
2024-06-06 22:18:29
274
原创 day07 面向对象
构造方法是一种特殊类型的方法,用于创建并初始化对象,方法名必须和类名相同,不用声明返回值类型,返回值就是要创建的对象类型,在new对象时会自动执行,可以用来进行一些初始化操作。对象是一种特殊的数据结构,将实体抽象为了一个个对象,相关的属性、方法就是成员变量、成员方法,面相对象是直接对对象进行处理,使编程更简单,理解起来更直观。实体类要对应某种实际存在的东西,将成员变量私有,提供相应的get、set方法,类中必须要有一个无参的构造方法,只用来封装数据,不对数据进行处理。它的返回值就是我们要创建的对象的类型。
2024-06-06 22:16:50
335
原创 day05 方法
方法重载就是在一个类中,有多个方法的方法名相同,但不同方法的参数列表不同(参数类型不同、数量不同、顺序不同)参数的传递传递的是参数的值,基本数据类型传递的是数据值,引用数据类型传递的是地址值。形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。Java的参数传递机制都是:值传递,传递的是实参存储的值的副本。这个先进后出指的是:方法的嵌套调用时,外层的方法先进,后出。有参数,无返回值的方法 石头丢进河里,参数是石头,没有返回值。有参数,有返回值的方法 冰箱里放入水,参数是水,返回值是冰。
2024-06-06 22:14:40
399
原创 day04 数组
我认为多维数组是一个数组的嵌套,将一个数组变量作为元素保存在另一个数组变量中,同时这个数组变量还可以作为元素继续嵌套。数组变量存放在栈内存,(数组对象)元素和索引存放在堆内存,变量的值就是数组对象存储在堆内存中的地址值。基本类型的变量里面存储的是具体的值,引用类型变量存储的是地址值,根据地址值到堆中找相应的对象。new int[3] 是创建一个数组对象,会在堆内存中开辟区域,存储3个整数。arr是变量,在栈中,arr中存储的是数组对象在堆内存中的地址值。数组是一个容器,用来存一批同种类型的数据的。
2024-06-06 22:13:07
278
原创 day03 程序流程控制
区别:while循环当条件表达式成立时执行代码,do while循环先执行一次代码再判断条件表达式是否成立,成立则继续循环执行代码,不成立时退出循环。区别:break会跳出整个循环语句块,continue只会跳出当前的这次循环而不影响其他轮循环,会接着进入下一轮循环。4.再次判断此时变量i的值是否为true,成立则再次进入循环执行代码,不成立则退出循环。1.定义一个变量i,一般都是int类型,给i赋初值,一般从0开始。case后的值不能重复,只能是字面量不能是变量。想要先执行,再判断,用do-while。
2024-06-06 22:08:05
444
原创 day02 数据类型、运算符
byte,short,char 三种类型数据在和其他类型数据运算时,都会转换为int类型再运算。答:自动类型转换指的是,数据范围小的变量可以直接赋值给数据范围大的变量。运算优先级: &>^>|>&&>||>?==在比较引用数据类型的时候,比较是它们的地址值是否相同。==在比较基本数据类型的时候,比较的是它们的值是否相同。ASCII编码 字符0->48 a->97 A->65。byte 1 -2^7到2^7-1 -128到127。short 2 -2^15到2^15-1。将范围大的数据,赋值给范围小的变量。
2024-06-06 20:25:01
182
原创 day01Java基础
答:Java程序员写好源代码之后,需要编译成字节码,这里提供一个i版已工具叫做javac.exe,编写好源代码之后,想要把class文件加载到内存中运行,这里需要用到运行工具java.exe。答:对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体不仅有可以唯一标识它的名字,而且向外界提供一组服务(即公有的操作)。答:它是Java本身写好的一些程序,给程序员调用的。跨平台的原理是因为在不同版本的操作系统中安装有不同版本的Java虚拟机,Java程序的运行只依赖于。务的一组对象的集合。
2024-06-06 00:09:35
306
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人