08 2024 档案

摘要:枚举类型是Java中一种用于统一管理有限的常量数据的数据类型。 它将常量设置为对象,提高了代码的可读性和简洁性。 通过使用枚举类型,可以在代码中更方便地读取和使用常量。 package com.shujia.day22; /* 1. 创建枚举类的属性(成员变量),必须是作为私有常量出现 2. 必须将 阅读全文
posted @ 2024-08-23 22:06 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day21; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.Arrays; /* 通过反射获取成员方法,并传值调用 获取所有方法 g 阅读全文
posted @ 2024-08-23 21:45 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day21; import java.lang.reflect.Constructor; import java.lang.reflect.Field; /* 反射获取成员变量并赋值使用 获取所有成员 通过类的字节码文件对象获取 getFields 只能获取公共 阅读全文
posted @ 2024-08-23 21:30 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day21; import java.lang.reflect.Constructor; import java.util.Arrays; /* 类中的三大成员: 成员变量:Field 构造方法:Constructor 成员方法:Method 获取构造方法,通过 阅读全文
posted @ 2024-08-23 21:20 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day21; /* 如何获取一个字节码文件(编译后得到的.class后缀的文件)对应的Class对象 一个字节码文件,在内存中只会存在一个对应的Class类对象 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象 阅读全文
posted @ 2024-08-23 20:47 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240823195409326-4130459.png) ![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240823195419825-1322925593.png) ![](https://img 阅读全文
posted @ 2024-08-23 19:55 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:只包含一个抽象方法的接口,称为函数式接口。 可以通过Lambda 表达式来创建该接口的对象。 (若Lambda 表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。 在任意函数式接口上设置@FunctionalInterface注解,这样做可以检查它是否是一个函数式接口, 同时j 阅读全文
posted @ 2024-08-23 19:53 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:测试类 package com.shujia.day21.lambdademo4; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /* 案例3:使用匿名内部类改进 现在有一个存储员工的集合,员工 阅读全文
posted @ 2024-08-22 23:29 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day18.logindemo; import java.io.*; import java.util.ArrayList; import java.util.Scanner; /* 登录注册java版: 思考1:将用户名和密码写在记事本中,编写登录和注册的方法 阅读全文
posted @ 2024-08-21 21:34 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day18.logindemo; import com.shujia.day18.utils.MysqlTool; import java.io.*; import java.sql.Connection; import java.sql.PreparedSta 阅读全文
posted @ 2024-08-21 21:33 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行。在Java中,可以通过Timer和TimerTask类来实现定义调度的功能 Timer public Timer() public void schedule(TimerTask task, long delay) pu 阅读全文
posted @ 2024-08-21 10:31 ていせい 阅读(7) 评论(0) 推荐(0) 编辑
摘要:JDK5新增了一个Executors工具类来产生线程池,有如下几个方法 public static ExecutorService newCachedThreadPool() public static ExecutorService newFixedThreadPool(int nThreads) 阅读全文
posted @ 2024-08-21 10:30 ていせい 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。 默认情况下,所有的线程都属于主线程组。 public final ThreadGroup getThreadGroup() 我们也可以给线程设置分组 Thread(ThreadGr 阅读全文
posted @ 2024-08-21 10:25 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:单例设计思想 保证类在内存中只有一个对象 如何实现类在内存中只有一个对象呢? 构造私有 本身提供一个对象 通过公共的方法让外界访问 package com.shujia.day20.danlidemo; /* 单例模式:在整个java程序运行过程中,某个类自始至终只允许存在一个对象 两种写法: 饿汉 阅读全文
posted @ 2024-08-21 10:22 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:客户端 package com.shujia.day20.tcpdemo3; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.util.Scanner; /* 1 阅读全文
posted @ 2024-08-20 20:36 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:UDP 将数据源和目的封装成数据包中,不需要建立连接; 每个数据报包的大小在限制在64k; 因无连接,是不可靠协议;不需要建立连接,速度快 发送端 package com.shujia.day20.udpdemo2; import java.net.DatagramPacket; import ja 阅读全文
posted @ 2024-08-20 20:23 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:TCP 建立连接,形成传输数据的通道; 在连接中进行大数据量传输; 通过三次握手完成连接,是可靠协议;必须建立连接,效率会稍低 客户端 package com.shujia.day20.tcpdemo2; import java.io.InputStream; import java.io.Outp 阅读全文
posted @ 2024-08-20 20:20 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day20; import java.net.InetAddress; /* InetAddress:是用来描述IP地址的 此类表示Internet协议(IP)地址。 IP地址是由IP使用的32位或128位无符号数字,构建UDP和TCP协议的低级协议。 IP地址 阅读全文
posted @ 2024-08-20 20:14 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:网络模型7层概述: 1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。 2. 数据链路层:主要将从物理层 阅读全文
posted @ 2024-08-20 19:57 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240819221937778-1347705077.png) 阅读全文
posted @ 2024-08-19 22:19 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:测试类 package com.shujia.day19.waitdemo; /* 等待唤醒机制: 共享数据:学生对象(name,age) 生产者线程:对学生对象进行赋值操作 消费者线程:对学生对象进行取值操作 为了观察更好的效果,我们可以让生产者赋值不同的信息 这时候出现了重复取值和姓名与年龄对应 阅读全文
posted @ 2024-08-19 22:15 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day19.sellTickets4; import java.util.concurrent.locks.ReentrantLock; /* 使用Runnable的方式实现 为了模拟更加真实的售票情况,我们加入延迟 问题: 我们加入了延迟之后,发现 a. 有重 阅读全文
posted @ 2024-08-19 22:11 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day19.sellTickets3; /* 使用Runnable的方式实现 为了模拟更加真实的售票情况,我们加入延迟 问题: 我们加入了延迟之后,发现 a. 有重复售卖同一张票的情况(原因1) b. 还出现了一个不该出现的票数据,比如第0张票,第-1张票(原因 阅读全文
posted @ 2024-08-19 22:11 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day19.sellTickets; /* 使用Runnable的方式实现 为了模拟更加真实的售票情况,我们加入延迟 问题: 我们加入了延迟之后,发现 a. 有重复售卖同一张票的情况(原因1) b. 还出现了一个不该出现的票数据,比如第0张票,第-1张票(原因2 阅读全文
posted @ 2024-08-19 21:29 ていせい 阅读(5) 评论(0) 推荐(0) 编辑
摘要:线程休眠 public static void sleep(long millis) 线程加入 public final void join() 线程礼让 public static void yield() 后台线程 public final void setDaemon(boolean on) 阅读全文
posted @ 2024-08-19 20:56 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day19; /* 多线程: 进程: 正在运行的程序,是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。 理解:一个正在运行的软件 线程: 是进程中的单个顺序控制流,是一条执行路径 一个进程如果只有一条执行路径,则称为单线程程序。 阅读全文
posted @ 2024-08-19 20:13 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day18.ketang; import java.io.*; /* 序列化流: 序列化:将一个对象转换成网络中传输的流 对象输出流:ObjectOutputStream 将一个类的对象写进文本中 反序列化:将网络中传输的流还原成一个对象 对象输入流:Objec 阅读全文
posted @ 2024-08-18 19:24 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240818171544824-1085533462.png) 阅读全文
posted @ 2024-08-18 17:16 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:Properties概述:以properties为后缀的文件,存储形式为一个键值对,可以通过键获取值 Properties作为Map集合的使用 Properties的特殊功能 public Object setProperty(String key,String value) public Stri 阅读全文
posted @ 2024-08-18 17:01 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day18.ketang; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /* 我 阅读全文
posted @ 2024-08-18 16:41 ていせい 阅读(5) 评论(0) 推荐(0) 编辑
摘要:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件 阅读全文
posted @ 2024-08-17 21:31 ていせい 阅读(5) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day17.ketang; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.util.Arrays; /* 转换流(字符流) = 字节流 + 编码表 阅读全文
posted @ 2024-08-16 19:48 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day17.ketang; import java.io.FileInputStream; import java.io.InputStreamReader; /* 转换流(字符流) = 字节流 + 编码表 字符流:(当一个文件使用记事本打开能够看懂的时候,就可 阅读全文
posted @ 2024-08-16 19:45 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day17.ketang; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileReader; import java.io.InputStreamR 阅读全文
posted @ 2024-08-16 19:27 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day17.ketang; import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.OutputStrea 阅读全文
posted @ 2024-08-16 19:23 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day17.ketang; import java.io.BufferedInputStream; import java.io.FileInputStream; /* 字节缓冲输入流:BufferedInputStream 构造方法: BufferedInpu 阅读全文
posted @ 2024-08-16 19:17 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day17.ketang; import java.io.BufferedOutputStream; import java.io.FileOutputStream; /* java针对字节输入流和字节输出流都提供了相应的缓冲流来提高读写的速度。 字节流: 输入 阅读全文
posted @ 2024-08-16 19:16 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day16.ketang; import java.io.File; import java.io.FileInputStream; /* 字节输入流:FileInputStream 构造方法: FileInputStream(File file) 通过打开与实 阅读全文
posted @ 2024-08-15 22:28 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day16.ketang; import java.io.File; import java.io.FileOutputStream; /* IO流:输入输出流 按照流向划分: 输入流:将外部存储数据 --> java 输出流:java --> 外部存储工具中 阅读全文
posted @ 2024-08-15 22:15 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day16.ketang; /* 递归:方法定义时方法内部调用自身的现象。 区分: Math.max(Math.max(10,20),30) 方法的嵌套调用 StringBuffer.append().append().append() 方法的链式调用 讲故事: 阅读全文
posted @ 2024-08-15 21:11 ていせい 阅读(5) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day16.ketang; import java.io.File; /* File: 是所有文件或者文件夹的路径抽象表现形式,对文件进行操作每次都需要创建文件的对象 构造方法: public File(String pathname) 通过将给定的路径名字符串 阅读全文
posted @ 2024-08-15 19:21 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:/* 异常:java程序编译或者运行时遇到的错误 java中的异常分为3种: Throwable: Error: 错误 Exception: 编译时期异常(除了运行时期的异常全是编译时期异常) RuntimeException(运行时期异常) Throwable中的方法 getMessage() 获 阅读全文
posted @ 2024-08-14 16:20 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day15; import java.util.ArrayList; import java.util.Collections; import java.util.List; /* java提供了专门操作集合的工具类:Collections 静态成员方法: pu 阅读全文
posted @ 2024-08-14 16:15 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:ArrayList嵌套HashMap 阅读全文
posted @ 2024-08-14 16:08 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day15; import java.util.Map; import java.util.Set; import java.util.TreeMap; /* "aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3) 阅读全文
posted @ 2024-08-14 15:32 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:/* Map: 存储元素的特点是每一个元素是一个键值对{【name:"魏一民"】 , 【age:18】} Map集合的共同拥有的特点: 1、Map集合中的元素,键是唯一的,不会在一个Map集合发现两个相同的键 1001:魏一民 1002:陈真 1001:小虎 2、Map集合中,值是可以发生重复的 1 阅读全文
posted @ 2024-08-14 14:30 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day15; import java.util.HashMap; import java.util.Map; /* Map: 存储元素的特点是每一个元素是一个键值对{【name:"魏一民"】 , 【age:18】} Map集合的共同拥有的特点: 1、Map集合中 阅读全文
posted @ 2024-08-13 23:21 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:测试类 package com.shujia.day14; import java.util.HashSet; /* 使用Set集合存储自定义对象,当对象的姓名和年龄都一样的时候,将这两个对象认为是重复了,进行去重 HashSet:(底层数据结构是哈希表,线程不安全,效率高,要求元素类中要重写has 阅读全文
posted @ 2024-08-12 23:14 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day14; import java.util.TreeSet; /* Collection: - List(元素有序且可以发生重复,有索引的概念) - ArrayList(底层数据结构是数组,查询快,增删慢,线程不安全,效率高) - Vector(底层数据结构 阅读全文
posted @ 2024-08-12 22:13 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:/* LinkedHashSet是继承自HashSet类, 底层数据结构是哈希表和双链表,哈希表保证了元素的唯一性,双链表保证了元素的有序 Collection: 接口 - List(元素有序且可以发生重复,且有索引的概念) - ArrayList(底层数据结构是数组,查询快,增删慢,线程不安全,效 阅读全文
posted @ 2024-08-12 20:12 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:/* Collection: 接口 - List(元素有序且可以发生重复,且有索引的概念) - ArrayList(底层数据结构是数组,查询快,增删慢,线程不安全,效率高) - Vector(底层数据结构是数组,查询快,增删慢,线程安全的,效率低,即便是安全的,我们以后也不使用) - LinkedL 阅读全文
posted @ 2024-08-12 20:07 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:可变参数概述 定义方法的时候不知道该定义多少个参数 格式 修饰符 返回值类型 方法名(数据类型… 变量名){} 注意: 这里的变量其实是一个数组 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个 Arrays工具类中的一个方法 public static <T> List<T> 阅读全文
posted @ 2024-08-12 19:42 ていせい 阅读(5) 评论(0) 推荐(0) 编辑
摘要:静态导入概述 格式:import static 包名….类名.方法名; 可以直接导入到方法的级别 注意事项 方法必须是静态的,当我们自己定义的方法的方法名参数列表和导入的方法一样时无法使用导入的方法 如果有多个同名的静态方法,容易不知道使用谁?这个时候要使用,必须加前缀。由此可见,意义不大,所以一般 阅读全文
posted @ 2024-08-12 19:37 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:增强for概述 简化数组和Collection集合的遍历 格式: for(元素数据类型 变量 : 数组或者Collection集合) { 使用变量即可,该变量就是元素 } 好处:简化遍历 注意事项:增强for的目标要判断是否为null 使用增强for循环遍历Collection集合或数组, 增强fo 阅读全文
posted @ 2024-08-12 19:33 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:/* 泛型类 把泛型定义在类上 格式:public class 类名<泛型类型1,…> 注意:泛型类型必须是引用类型 泛型方法 把泛型定义在方法上 格式:public <泛型类型> 返回类型 方法名(泛型类型 .) 泛型接口 把泛型定义在接口上 格式:public interface 接口名<泛型类 阅读全文
posted @ 2024-08-12 19:24 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day13; import java.util.LinkedList; /* LinkedList 请用LinkedList模拟栈数据结构的集合,并测试 栈:先进后出 题目的要求是:自己创建一个类,将LinkedList作为成员变量,将来创建自己的类对象,使用自 阅读全文
posted @ 2024-08-11 22:35 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240811205606021-1782483412.png) 阅读全文
posted @ 2024-08-11 20:56 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240811205524962-1695237713.png) 阅读全文
posted @ 2024-08-11 20:55 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240811205426732-676359423.png) 阅读全文
posted @ 2024-08-11 20:54 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/3491928/202408/3491928-20240811205245207-1024835762.png) 阅读全文
posted @ 2024-08-11 20:53 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day13; import java.util.Iterator; import java.util.LinkedList; /* Collection: - List(有序【指的是存储和取出的顺序是一致的】且可以发生重复,且有索引的概念) - ArrayLis 阅读全文
posted @ 2024-08-11 20:37 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day13; import java.util.Enumeration; import java.util.Iterator; import java.util.Vector; /* Collection: - List(有序【指的是存储和取出的顺序是一致的】且 阅读全文
posted @ 2024-08-11 20:26 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day13; import java.util.ArrayList; import java.util.Iterator; /* Collection: - List(有序【指的是存储和取出的顺序是一致的】且可以发生重复,且有索引的概念) - ArrayList 阅读全文
posted @ 2024-08-11 19:48 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; /* Collection的子接口:List 特点:有序且元素可以发生重复的集合,且 阅读全文
posted @ 2024-08-09 23:13 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /* Collection集合如何遍历? 学习集合的4个步骤: 1、如何创建集合 阅读全文
posted @ 2024-08-09 22:30 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; import java.util.ArrayList; import java.util.Collection; /* Collection中的成员方法: boolean addAll(Collection c) 将直接添加另一个集合中所有单元素 阅读全文
posted @ 2024-08-09 21:38 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; import java.util.ArrayList; import java.util.Collection; /* Collection:合层次结构中的根界面。集合表示一组被称为其元素的对象。一些集合允许重复元素,而其他集合不允许。 】、 有些 阅读全文
posted @ 2024-08-09 21:25 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; import java.text.SimpleDateFormat; import java.util.Date; /* 日期相关的类:Date 构造方法: public Date() 获取当前时间的Date类型格式:Fri Aug 09 20:3 阅读全文
posted @ 2024-08-09 20:36 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:/* System类:和系统相关操作的类 public static void gc() 垃圾回收的 public static void exit(int status) 强制结束java进程 public static long currentTimeMillis() 获取当前系统的时间戳,毫秒 阅读全文
posted @ 2024-08-09 20:28 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:/* Random: java针对随机数功能专门提供了一个类 成员方法: public int nextInt() 随机生成一个数 public int nextInt(int n) 随机生成一个[0,100)的数 */ public class RandomDemo1 { public stati 阅读全文
posted @ 2024-08-09 20:26 ていせい 阅读(5) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; /* Character:是基本数据类型char的包装类 成员方法: public static boolean isUpperCase(char ch) 判断是否为大写 public static boolean isLowerCase(char 阅读全文
posted @ 2024-08-09 20:15 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; /* Integer的成员方法: public int intValue() 将包装的基本数据类型值取出来 public static int parseInt(String s) String -> int public static Strin 阅读全文
posted @ 2024-08-09 20:13 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; /* 包装类: 为了让基本数据类型的变量像引用数据类型那样可以调用方法,处理对应值,java针对每一种基本数据类型都提供了对应的引用数据类型 这些引用数据类型统称为包装类。 byte -- Byte short -- Short int -- In 阅读全文
posted @ 2024-08-09 20:05 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day12; import java.util.Arrays; /* Arrays: 是java提供专门针对数组做操作的工具类,该类没有构造方法,且方法都是静态的 成员方法: public static String toString(int[] a) 将任意一 阅读全文
posted @ 2024-08-09 19:52 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; public class string { public static void main(String[] args) { String s1 = "hello"; String s2 = "world"; System.out.println( 阅读全文
posted @ 2024-08-08 22:41 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; public class stringBufferDemo1 { public static void main(String[] args) { String s1 = "hello"; //StringBuffer作为参数传递 StringBu 阅读全文
posted @ 2024-08-08 22:29 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; import java.util.Scanner; /* 把字符串反转 */ public class StringBufferDemo6 { public static void main(String[] args) { Scanner sc 阅读全文
posted @ 2024-08-08 22:08 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* 把数组拼接成一个字符串 */ public class StringBufferDemo5 { public static void main(String[] args) { int[] arr = {11, 22, 33}; String 阅读全文
posted @ 2024-08-08 22:07 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* String和StringBuffer的相互转换 A -> B B -> A */ public class StringBufferDemo4 { public static void main(String[] args) { // St 阅读全文
posted @ 2024-08-08 21:40 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* StringBuffer的功能: 添加功能 public StringBuffer append(String str) 在末尾处添加字符,返回自身 public StringBuffer insert(int offset,String s 阅读全文
posted @ 2024-08-08 21:29 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* StringBuffer: 可变字符串,这个容器中只能存放字符 概述: 线程安全,可变的字符序列。 字符串缓冲区就像一个String ,但可以修改。 在任何时间点,它包含一些特定的字符序列,但可以通过某些方法调用来更改序列的长度和内容。 构造 阅读全文
posted @ 2024-08-08 21:11 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* String类的其他功能: 替换功能 String replace(char old,char new) 将字符串中所有的旧字符使用新字符进行替换,返回新的字符串 String replace(String old,String new) 将 阅读全文
posted @ 2024-08-08 21:03 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* String类的转换功能: byte[] getBytes() 将字符串转成一个字节数组 char[] toCharArray() 将字符串转成一个字符数组 static String valueOf(char[] chs) 直接使用Stri 阅读全文
posted @ 2024-08-08 20:55 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* String类的获取功能 int length() 获取字符串中的字符个数 char charAt(int index) 根据索引获取对应的字符 int indexOf(int ch) 传入字符对应的ascii码值,返回字符从左向右第一次找到 阅读全文
posted @ 2024-08-08 20:44 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* String类中的判断功能: boolean equals(Object obj) String类中的equals是重写父类Object中的equals方法,比较的是内容 boolean equalsIgnoreCase(String str 阅读全文
posted @ 2024-08-08 20:30 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day11; /* String: 字符串 解释: 白话文描述:使用一个串将一个一个字符串起来的串儿叫字符串。 专业术语:使用双引号将若干个字符括起来的字符序列 官网概述: String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为 阅读全文
posted @ 2024-08-08 20:21 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:/* Scanner: 主要用于键盘录入的 构造方法: Scanner(InputStream source) 构造一个新的 Scanner ,产生从指定输入流扫描的值。 Scanner: 1、next()和nextLine()区别 next不会接受特殊字符 next能够接受特殊字符 public 阅读全文
posted @ 2024-08-08 19:42 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:/* Object类中的clone方法 不是任何一个类都可以调用clone方法的,如果此对象的类不实现接口Cloneable ,则抛出CloneNotSupportedException 只有实现了Cloneable接口的类创建出来的对象,才可以调用clone方法 我们观察Cloneable接口文档 阅读全文
posted @ 2024-08-07 22:21 ていせい 阅读(5) 评论(0) 推荐(0) 编辑
摘要:/* Object类中成员方法: public boolean equals(Object obj) protected void finalize() 是做垃圾回收的,不是立刻就做回收 面试题:final finally finalize 区别? protected Object clone() 阅读全文
posted @ 2024-08-07 22:21 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:/* Object类学习:是java中所有的共同的父类,包括数组 1、Object类是属于java.lang包下的,将来使用的时候不需要导包 2、构造方法只有一个无参的构造方法 3、方法都不是静态的,以为着要有对象才可以调用 成员方法: public int hashCode() public fi 阅读全文
posted @ 2024-08-07 22:19 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:instanceof 是一个二元操作符,用于判断左边的对象是否是右边类或接口的一个实例。如果左边的对象是右边类或接口的实例,或者右边是左边对象的某个父类(包括接口的实现)的实例,则表达式的结果为 true;否则为 false。 这个操作符在Java中非常有用,尤其是在处理多态和类型转换时。它允许你在 阅读全文
posted @ 2024-08-07 11:14 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day10.bao8; //要求在控制台输出”HelloWorld” interface Inter { void show(); } //class InterImpl implements Inter{ // @Override // public void 阅读全文
posted @ 2024-08-07 09:15 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:/* 接口类型的方法调用,使用匿名内部类 匿名内部类: 语法定义格式: new 抽象类/接口(){ //要重写的方法 } */ interface Inter1{ void fun1(); } //class Inter1Impl implements Inter1{ // @Override // 阅读全文
posted @ 2024-08-06 21:27 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:/* 匿名内部类: 语法定义格式: new 抽象类/接口(){ //要重写的方法 } */ abstract class Demo1{ public abstract void fun1(); // public abstract void fun2(); } //class XXX extends 阅读全文
posted @ 2024-08-06 21:26 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:class Outer4 { //成员方法 public void fun1() { //局部变量 int a = 10; // 如果局部内部类中要使用方法中的局部变量的话,这个变量会被使用final关键字进行修饰 //局部内部类 class Inner { int b = 20; public v 阅读全文
posted @ 2024-08-06 21:12 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:/* 内部类常用的修饰符: static 被静态的修饰可以直接通过类名.创建对象 new Outer2.Inner1() private 私有的需要在创建个方法来访问 */ //class Outer2{ // static int a1 = 10; // private static int a2 阅读全文
posted @ 2024-08-06 20:53 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:/* 内部类:将一个类A定义在一个类B中,这个类A称之为内部类 分类: 成员内部类:将类定义在一个类中的成员位置上 局部内部类:将类定义在一个方法中 */ class Outer1{ int a1 = 10; private int a2 = 11; public static int a3 = 1 阅读全文
posted @ 2024-08-06 20:44 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day10.bao5; /* 权限修饰符: public protected 默认的 private 同一类中 √ √ √ √ 同一包子类,其他类 √ √ √ 不同包子类 √ √ 不同包其他类 √ 常用的修饰符: 权限修饰符:public,protected,默 阅读全文
posted @ 2024-08-06 20:19 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:/* 返回值类型 基本类型: 引用类型: 类:当你看到一个类作为方法的返回值类型的时候,将来方法内部应该返回该类或该类的子类对象 抽象类:当你看到一个抽象类作为方法的返回值类型的时候,将来方法内部应该返回继承该抽象类的具体子类对象 接口:当你看到一个接口作为方法的返回值类型的时候,将来方法内部应该返 阅读全文
posted @ 2024-08-06 19:37 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:/* 形式参数 基本类型: 引用类型: 类:当你看到一个类作为方法参数类型的时候,将来调用时需要传递该类及其该类的子类对象 抽象类:当你看到一个抽象类作为方法的参数类型的时候,将来调用时需要传递继承该抽象类的具体子类对象 接口:当你看到一个接口作为方法参数类型的时候,将来调用时需要传递实现该接口的具 阅读全文
posted @ 2024-08-06 19:23 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:/* java提供了一个关键字:interface,用来定义一个接口 接口的主要作用是用来描述类的额外功能的。 定义一个接口的语句定义格式: interface 接口名{ } 需求:定义一个普通的狗类,和一个会骑车的狗类 使用接口的注意事项: 1、接口中只能出现抽象方法,不能写具体的方法 2、一个具 阅读全文
posted @ 2024-08-05 22:43 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:多态程序中,第一大前提要有继承关系。 但是呢,比如上午写的动物案例,我们将狗,猫,猪这些具体的动物分别编写了一个类进行对应这都是没问题的。 但是呢,动物本身应该是一个抽象的概念,我们在现实生活中其实是找到不到Animal的实例的。 具体的事物,我们就可以使用java代码将其定义成一个class类,然 阅读全文
posted @ 2024-08-05 22:05 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:向上转型(Upcasting)是指将子类的引用赋值给父类类型的引用。换句话说,就是用父类类型的变量来引用子类对象。这种转换是自动的,不需要进行强制类型转换。 语句定义格式: 父类类型 引用名 = new 子类类型(); 多态访问成员方法的弊端: 多态的形式下,无法调用子类中特有的方法。 解决方案:向 阅读全文
posted @ 2024-08-05 20:50 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:package com.shujia.day09; import java.nio.channels.Pipe; /* 多态的好处 1、提高了程序的维护性(由继承保证) 2、提高了程序的扩展性(由多态保证) */ class Animal{ String name; int age; public 阅读全文
posted @ 2024-08-05 20:42 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:多态:某一个事物在不同状态下的多种状态 举例: 1、学生是人,老师是人,医生是人。 2、汽态的水是水,固态的水是水,液态的水是水 在java中要实现多态的话,需要有3个前提: 1、必须要有继承关系 2、要有方法的重写(思考可否不重写?) 不是必须要重写的,重写可以体现子类的专属特征。 3、要有父类的 阅读全文
posted @ 2024-08-05 19:36 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:/* 父类中的除了非私有的,非静态方法,构造方法,难道其他的方法都可以让子类重写吗?如果某一个方法不想子类重写,只能让子类使用 java提供了以关键字:final 最终的,不可变 可以修饰类,成员变量,成员方法 */ /* final:最终的,不可变的 可以修饰类,成员变量,成员方法 类:修饰类,不 阅读全文
posted @ 2024-08-04 21:56 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:/* 继承和成员方法的关系 1、寻找规则:现在本类中寻找,若找到就使用;若本类中没有对应方法,就使用继承自父类中的方法,如果还是没有,就报错。 2、java中所有的类都有一个共同的父类:Object 3、如果子类中的方法的返回值类型,方法名,参数列表都与父类中一样,这样的现象叫做方法的重写(覆盖), 阅读全文
posted @ 2024-08-04 21:52 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:继承的好处 提高了代码的复用性 多个类相同的成员可以放到同一个类中 提高了代码的维护性 如果功能的代码需要修改,修改一处即可 让类与类之间产生了关系,是多态的前提 其实这也是继承的一个弊端:类的耦合性很强 耦合性 - 内聚:我们以后写程序专注与高内聚,低耦合。 继承的特点: 1、在java中clas 阅读全文
posted @ 2024-08-04 21:51 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:继承与成员变量的关系: 1、怎么寻找? 子类方法中使用变量的规则是:(就近原则) 1)先在方法内部寻找,若找到就直接使用 2)方法内部找不到,去当前类的成员变量的位置上寻找,若找到就直接使用 3)若当前类的成员变量的位置上找不到,去父类的成员变量位置上寻找,若找到就直接使用 4)上面三个位置都没有找 阅读全文
posted @ 2024-08-04 21:45 ていせい 阅读(5) 评论(1) 推荐(0) 编辑
摘要:案例 /* 如何使用帮助文档?Scanner 1、双击打开帮助文档 2、点击索引 3、搜索要学习的类 Scanner 4、看属于哪一个包下的 如果这个类是在java.lang包下的话,将来在程序中使用的时候,是不需要导包的。 其余包下的类,将来在程序中使用的时候,都是需要导包的。 5、类的关系(继承 阅读全文
posted @ 2024-08-02 20:28 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:/* 代码块:由大括号起来的一段代码,叫做代码块。根据定义的位置不同,修饰符不同,在java中累计有4种代码块。 局部代码块:在方法的内部,仅使用大括号起来的代码,叫做局部代码块。 构造代码块:写法和局部代码块的写法一样,只是写的位置在类中方法外。每创建一次对象,都会执行一次。 静态代码块:写法在大 阅读全文
posted @ 2024-08-02 20:12 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:/* 注释: 1、单行注释 2、多行注释 3、文档注释 工具类:编写一个通用的类,类中有一些相关的方法功能,可以让我们在不同的程序中都能够使用 如何编写一个工具类?(举例:写一个数组相关操作的工具类) 1、构造方法私有化 2、方法必须是静态的,使用static进行修饰 将来我们工具类中的方法可能会有 阅读全文
posted @ 2024-08-02 19:59 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:static关键字的使用及其注意事项: 1、随着类的加载而加载到静态区,优先对象而存在的,静态成员变量会被系统赋予默认值 2、被static修饰的成员,又称之为类成员(被静态修饰的成员变量或者成员方法),可以直接通过类名的方式进行访问 3、非静态的成员方法中既可以调用非静态的成员方法,也可以调用静态 阅读全文
posted @ 2024-08-02 19:58 ていせい 阅读(4) 评论(0) 推荐(0) 编辑
摘要:/* 一个标准类的3.0版本写法: 类: 成员变量:使用private关键字进行修饰 构造方法:提供一个无参构造方法,以及一个有参构造方法 成员方法:getXxx()和setXxx() show():展示成员变量值的情况 */ class Phone2 { private String brand; 阅读全文
posted @ 2024-08-01 21:46 ていせい 阅读(3) 评论(0) 推荐(0) 编辑
摘要:public class Student6 { private String name = "魏一民"; private int age = 18; public Student6() { } public Student6(String name, int age) { this.name = n 阅读全文
posted @ 2024-08-01 21:12 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:我们上一个案例,使用private关键字将成员进行修饰,外界无法直接访问,讲了那么长时间,实际上就是在传输一个思想 面向对象编程的三大特征,第一大特征:封装 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 private关键字: 1、被private修饰的成员,外界无法直接访问 2、被 阅读全文
posted @ 2024-08-01 21:11 ていせい 阅读(2) 评论(0) 推荐(0) 编辑
摘要:成员变量: 1、在类中方法外定义的变量,又称之为类成员变量 2、成员变量可以不用手动给值,将来我们要通过类创建对象,而对象是在堆内存中创建出来的,这些成员变量会有系统赋予默认值。 3、成员变量随着对象在堆内存的创建而创建 局部变量: 1、方法定义的小括号中或者方法的内部定义的变量,称之为局部变量 2 阅读全文
posted @ 2024-08-01 20:42 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:/* 数组A:1,7,9,11,13,15,17,19;数组b:2,4,6,8,10 两个数组合并为数组c,按升序排列。 */ public class Test5 { public static void main(String[] args) { int[] arr1 = {1, 7, 9, 1 阅读全文
posted @ 2024-08-01 20:19 ていせい 阅读(1) 评论(0) 推荐(0) 编辑
摘要:二分查找(折半查找) 前提:查找的序列必须是有序的,否则无法使用二分查找 4.二分法查找操作:使用二分法查找有序数组中元素。找到返回索引,不存在输出-1。 分析:二分法查找的前提是数组有序。 假如有一组数为3,12,24,36,55,68,75,88要查给定的值24.可设三个变量 front,mid 阅读全文
posted @ 2024-08-01 20:18 ていせい 阅读(1) 评论(0) 推荐(0) 编辑