- 博客(33)
- 收藏
- 关注
原创 I/O流介绍
在Java中,I/O流分为字节流和字符流。I/O流是指用于输入和输出数据的流。I/O流可以从不同的来源读取数据,例如文件、网络连接或键盘输入,并将数据写入不同的目标,如文件、网络连接或屏幕。Java语言的I/O系统有OutputStream、InputStream、Writer和Reader4个抽象类,它们是其他I/O类的基础。此外,I/O流还可以按照功能分为节点流和处理流。节点流直接与数据源或数据目标进行交互,处理流则基于节点流进行封装和功能增强。在使用I/O流时,需要注意及时关闭流,以释放资源。
2024-04-19 00:28:51 660
原创 ArrayList扩容
扩容的逻辑是创建一个新的数组,其容量大约是原数组容量的1.5倍(具体实现可能因Java版本而异,但大致是这个比例)。然后,将原数组的所有元素复制到新数组中,并释放原数组的内存。3.扩容:Java虚拟机(JVM)在堆内存中分配一个新的数组对象,其容量大约是原数组的1.5倍(这里假设是6)。然后,将原数组的所有元素复制到新数组中。因此,如果知道要存储的元素数量,最好在创建ArrayList时指定一个合适的初始容量,以减少扩容的次数。需要注意的是,这个过程是透明的,对ArrayList的使用者来说是不可见的。
2024-04-15 22:14:34 402
原创 <<、>>和>>>
正数的补码与其原码相同,而负数的补码是在其反码的基础上加1。正数的反码与原码相同,而负数的反码是在其原码的基础上,符号位不变,其余各位取反。原码是一种直观的二进制表示法,其中最高位为符号位,用来表示数字的正负,其余位表示数值的大小。符号位为0表示正数,为1表示负数。例如,8位二进制数中,+1的原码为0000 0001,-1的原码为1000 0001。在补码表示中,最高位(符号位)为1表示负数,为0表示正数或零。无符号右移操作符与带符号右移操作符类似,但它总是用0来填充左侧空出的位,无论原数的符号是什么。
2024-04-14 22:47:51 499
原创 哈希表java
哈希函数是哈希表的核心,它将输入的键(key)转换为一个固定大小的整数(哈希值)。然而,在实际应用中,由于哈希表的大小有限,并且键的数量可能很大,因此冲突是不可避免的。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。存储桶的数量通常是固定的,并且决定了哈希表的大小。当插入一个键值对时,哈希函数会计算键的哈希值,然后使用该哈希值来确定键值对应该存储在哪个存储桶中。然后,根据冲突解决策略,找到适当的存储桶或链表,并将键值对存储在那里。
2024-04-13 21:42:09 1080
原创 try...catch...finally语句
虽然第8行出现错误,但仍然保持了从程序开始到程序结束的完整过程。利用Java异常处理机制,能保证程序在出现异常情况下任然能完成其他处理,程序没有崩溃。
2024-04-08 21:35:21 169
原创 编写斐波那契数列(三种算法)
然后,我们检查 memo[n] 是否已经计算过(即是否不为0),如果是,则直接返回存储的值。否则,我们递归地计算 fibonacci(n - 1) 和 fibonacci(n - 2),并将它们的和存储在 memo[n] 中,以便将来使用。例如,为了计算 fibonacci(n),它会两次计算 fibonacci(n - 1),而计算 fibonacci(n - 1) 时又会两次计算 fibonacci(n - 2),以此类推。记忆化递归在递归调用中存储已经计算过的值,以避免重复计算。
2024-03-21 10:55:03 563 1
原创 Java学会使用工具类Arrays
定义一维数组arr[] = {34,67,24,18,29,33},利用工具类Arrays实现对数组arr的排序,搜索和复制任务。
2024-03-20 20:14:50 363 1
原创 IDEA could not open `D:\java\lib\amd64\jvm.cfg‘解决方法
打开 IntelliJ IDEA,转到 "File" -> "Project Structure" 或者直接点击工具栏的 "Project Structure" 按钮。3.若还是不行,则搜索高级属性设置→环境变量→在系统变量里点击Path,将JAVA-HOME变量移到前面,保证前边有个C盘的路径。在打开的窗口中,选择 "Project SDK",然后点击 "New...",添加一个新的 JDK。文件,那么 JDK 可能没有正确安装,或者路径不正确。浏览到你的 JDK 安装目录,选择正确的路径。
2024-03-10 23:51:49 758
原创 编写第一个Java程序
4.按照下图编写一段代码,最后点击Run命令,第一个Java程序就完成啦!3.右击文件夹src,选择New→Class,新建Hello类。2.建立Java项目,命名为first。初学Java,请多指教。1.下载Eclipse。
2024-03-03 21:58:49 382
空空如也
Code::Blocks上下分层了怎么改回来?
2023-11-15
在N个数中查找x的位置。
2023-11-09
Dev-c++调试问题
2023-11-04
求100以内的素数C语言
2023-11-01
C语言sign(x)简单赋值
2023-10-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人