![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
Java基础
1while(true){learn}
日常笔记
展开
-
Java期末题库
Java期末题库原创 2022-06-03 09:21:41 · 2102 阅读 · 4 评论 -
正则表达式应用实例
判断是否为汉字 String content = "君埋泉下泥销骨我寄人间雪满头"; //"^[\u0391-\uffe5]+$"是汉字16进制的范围,并且以汉字开头和结尾 String rule="^[\u0391-\uffe5]+$"; Pattern pattern = Pattern.compile(rule); Matcher matcher = pattern.matcher(content);判断是否为邮政原创 2022-04-12 20:12:24 · 422 阅读 · 0 评论 -
正则转义字符
常见的转义字符有:.*+()$/\?[]^{} public static void main(String[] args) { String content="abc$(abc...(123"; //这里如果不加\\就是查找除\n以外全部的字符 String rule="\\."; Pattern pattern = Pattern.compile(rule); Matcher matcher = pattern.原创 2022-04-12 18:36:17 · 819 阅读 · 0 评论 -
Java时间API的修改
想要修改某个日期/时间对象的现有实例时,我们可以使用 plus和 minus方法来完成操作。Java8中日期时间相关的API中的所有实例都是不可改变的,一旦创建LocalDate,LocalTime,LocalDateTime就无法修改他们(类似于String),这对于线程安全时非常有利的。plus方法在LocalDate与LocalTime中的使用LocalDate中定义了多种对日期进行增减操作的方法。LocalDate plusDay(long days) 增加天数LocalDate原创 2022-03-29 08:50:20 · 540 阅读 · 0 评论 -
Java时间API
老版本: java.util.Date与java.util.Calendar类新版本:java.time为什么会出现新的日期类API?1.对于日期的计算困难问题毫秒值与日期直接转换比较繁琐,其次通过毫秒值来计算时间的差额步骤较多例如计算从2002.06.20到现在的天数public static void main(String[] args) { /* 老方法 计算从2002.06.20到现在过了多少天 */原创 2022-03-28 19:52:25 · 1198 阅读 · 0 评论 -
StreamAPI
Stream用于数据的运算,与CPU相关,集合用于数据的存储与内存相关 1.Stream实例化 2.一系列的中间操作(过滤,映射...) 一个中间操作链,对数据源的数据进行处理 3.终止操作 一旦执行终止操作,就执行中间操作链,并产生结果,之后,不会再被使用/** * 通过集合创建Stream */ @Test public void gather(){ List<Employee1> list = Emplo.原创 2022-03-07 09:54:53 · 158 阅读 · 0 评论 -
Lambda表达式
Java8新特性/** * Lambda表达式1 * ->:Lambda操作符或箭头操作符 * ->左边:Lambda形参列表(接口中抽象方法的形参列表) * ->右边:Lambda体(重写的抽象方法的方法体) */ /** * 语法格式一:无参,无返回值 */ @Test public void lambda(){ //一般写法 Runna...原创 2022-03-04 20:20:13 · 2282 阅读 · 0 评论 -
静态代理和动态代理
静态代理package test;/** * @author Lenovo */public class Main { public static void main(String[] args) { proxy proxy = new proxy(); acting acting = new acting(proxy); //通过代理类对象调用被代理类对象的方法 acting.produce(); }}原创 2022-03-03 20:29:45 · 53 阅读 · 0 评论 -
Class类
package Reflection;/** * @author whlie(true){learn} */public class Car { public String brand="宝马"; public int price=1000000; public String color="黑色"; @Override public String toString() { return "Car{" + ...原创 2022-02-27 19:34:34 · 139 阅读 · 0 评论 -
反射入门
面试常问编译->加载阶段,应用常问运行->加载阶段re.properties(src包下)classfullpath=Reflection.Cat//method=himethod=cryCatpackage Reflection;/** * @author whlie(true){learn} */public class Cat { private String name="招财猫"; public int age=1;...原创 2022-02-27 16:50:24 · 204 阅读 · 0 评论 -
Tcp文件下载
实现音乐的下载服务器package Net;import java.io.*;import java.net.*;/** * @author 小小小白白白白 */public class TcpServer01 { public static void main(String[] args) throws Exception { //监听9999端口 ServerSocket serverSocket = new ServerSocket(9原创 2021-12-21 18:24:10 · 391 阅读 · 0 评论 -
网络编程练习
接收端import java.io.*;import java.net.*;/** * @author 小小小白白白白 */public class Main { public static void main(String[] args) throws IOException { //接收 ServerSocket serverSocket = new ServerSocket(9999); Socket socket = se..原创 2021-12-16 20:37:00 · 60 阅读 · 0 评论 -
Udp网络编程
netstat指令(在dos控制台下执行)netstat -an 可以查看当前主机网络情况,包括端口监听情况和网络连接情况 netstat -an | more 可以分页显示 netstat -anb显示是哪个应用在监听(需要管理员身份)说明:(1) Listening 表示某个端口在监听(2) 如果有一个外部程序(客户端)连接至该端口,就会显示一条连接信息。(3) 可以输入ctrl + c 退出当客户端连接到服务端后,实际上客户端也是通过一个端口和服务端进行通信的,这个端口是T...原创 2021-12-16 19:49:33 · 1486 阅读 · 1 评论 -
字符流编程
使用字符流编写一个客户端和服务器 服务端在 9999端口监听 客户端连接到服务端,发送 "hello, server" ,并接收服务端回发的"hello,client" 服务端接收到 客户端发送的 信息,输出,并发送 "hello, client",再退出客户端import java.io.*;import java.net.*;/** * @author 小小小白白白白 */public class Client1 { public static void m..原创 2021-12-15 19:06:06 · 692 阅读 · 0 评论 -
InetAddress和字节流案例
//获取计算机的名称+IP地址, DESKTOP-LMHJ07R/192.168.25.79 InetAddress localHost = InetAddress.getLocalHost(); System.out.println(localHost); //根据计算机名获取:计算机的名称+IP地址 InetAddress host1 = InetAddress.getByName("DESKTOP-LMHJ07R");...原创 2021-12-14 21:21:45 · 685 阅读 · 0 评论 -
获取数组最大值的4种方式
1循环对比循环对比的核心是定义一个最大值,然后循环对比每一个元素,如果元素的值大于最大值就将最大值更新为此元素的值,再进行下一次比较,直到循环结束就能得到最大值 int max=arr[0]; for (int i = 0; i < arr.length; i++) { if (arr[i]>max) { max = arr[i]; } }2 Arrays.sort 方法使用Arrays.sort方法..原创 2021-11-28 11:42:19 · 20555 阅读 · 0 评论 -
数组拷贝的四种方法
copyOf():复制数组至指定长度语法:Arrays.copyOf(dataType[] srcArray,int length);其中,srcArray 表示要进行复制的数组,length 表示复制后的新数组的长度。默认从原数组的第一个元素(索引值为 0)开始复制,如果 length 大于 srcArray.length,则目标数组中采用默认值填充;如果 length 小于 srcArray.length,则复制到第 length 个元素(索引值为 length-1)即止。原创 2021-11-13 11:50:47 · 14217 阅读 · 0 评论 -
正则表达式入门
简单来说正则表达式是对字符串执行模式匹配的技术regular expression->RegExppackage November;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @author 小小小白白白白 */public class Regular { public static void main(String[] args) { String conte原创 2021-11-05 10:52:01 · 104 阅读 · 0 评论 -
最大公约,最小公倍,公因数,质因数
最大公约:指两个或多个整数共有约数中最大的一个算法:辗转相除法public static void main(String[] args) { System.out.println(Convention(15, 12)); } public static int Convention ( int a, int b){ int max, min; max = (a > b) ? a : b; min = (a &l原创 2021-11-03 16:32:17 · 361 阅读 · 0 评论 -
IO的一个小练习
@org.junit.jupiter.api.Test public void testp() throws IOException { //指定文件路径并读取 String filepath = "e:\\dog.txt"; Properties properties = new Properties(); properties.load(new FileReader(filepath)); //将信息依...原创 2021-10-28 20:42:27 · 48 阅读 · 0 评论 -
打印流PrintStream和配置流Propeties
package test;import java.util.ArrayList;import java.util.Scanner;/** * @author Lenovo */public class Test1 { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList<User> list=new ArrayList&.原创 2021-10-28 18:57:14 · 91 阅读 · 0 评论 -
对象流ObjectStream和标准输入输出流和转换流Input(Out)Stream
package IO;import org.junit.jupiter.api.Test;import java.io.*;/** * @author 小小小白白白白 */public class Oos { /** * 序列化保存 */ @Test public void ObjectOutputStream() throws Exception { //它序列化后保存的不是文本的格式,而是它自己的格式 Str.原创 2021-10-27 20:51:25 · 712 阅读 · 0 评论 -
字节流FileStream和处理流(包装流)Buffered和字节流BufferedStream
package IO;import org.junit.jupiter.api.Test;import java.io.*;/** * @author 小小小白白白白 */public class Buffered { @Test public void buffered() throws Exception{ String filepath = "f:\\Re.png"; String filepath1 = "e:\\Re.png";.原创 2021-10-27 19:59:02 · 344 阅读 · 0 评论 -
创建文件的三种方式和一些操作方法
package IO;import org.junit.jupiter.api.Test;import java.io.File;import java.io.IOException;/** * @author 小小小白白白白 */public class Create { public static void main(String[] args) {} /** * 创建文件的三种方式 * 1 new File(String pathname) .原创 2021-10-26 11:56:03 · 2107 阅读 · 0 评论 -
线程练习题
package test;/** * @author 小小小白白白白 */public class DeadLock_ { public static void main(String[] args) { Sell sell = new Sell(); new Thread(sell).start(); new Thread(sell).start(); }}class Sell implements Runna...原创 2021-10-25 11:49:55 · 83 阅读 · 0 评论 -
模拟线程死锁
package test;/** * @author 小小小白白白白 * 模拟死锁现象 */public class DeadLock_ { public static void main(String[] args) { DeadLockDemo A = new DeadLockDemo(true); A.setName("A 线程"); DeadLockDemo B = new DeadLockDemo(false); .原创 2021-10-25 10:37:45 · 76 阅读 · 0 评论 -
线程同步解决售票问题
三个窗口同时售票,解决售出负票的问题package test;/** * @author 小小小白白白白 */public class Cpu { public static void main(String[] args) throws InterruptedException { Sell sell = new Sell(); //开启三个窗口 new Thread(sell).start(); new Thread原创 2021-10-21 21:12:02 · 108 阅读 · 0 评论 -
线程的插入和守护
package test;/** * @author 小小小白白白白 */public class Cpu { public static void main(String[] args) throws InterruptedException { Hello hello = new Hello(); Thread thread = new Thread(hello); for(int i=0; i<10;i++){ ...原创 2021-10-21 21:09:38 · 81 阅读 · 0 评论 -
线程基础(实现线程的两种方式)
package test;/** * @author 小小小白白白白 */public class Cpu { public static void main(String[] args) { Cat cat = new Cat(); //启动线程 cat.start(); Dog dog = new Dog(); //因为dog是实现了Runnable接口的,无法直接调用start方法 .原创 2021-10-21 18:34:59 · 125 阅读 · 0 评论 -
小球 移动
package October;import javax.swing.*;import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;/** * @author 小小小白白白白 */public class Ball extends JFrame{ Myp mp=null; public static void main(String[] args) { .原创 2021-10-20 19:16:39 · 102 阅读 · 0 评论 -
Java绘图
一个简单的圆package October;import javax.swing.*;import java.awt.*;/** * @author Lenovo * JFrame对应一个窗口(画框) */public class Circle extends JFrame{ //定义一个面板 private MyPanel mp=null; public static void main(String[] args){ new Circle原创 2021-10-20 11:57:04 · 97 阅读 · 0 评论 -
泛型 练习
package October;import java.util.*;public class Test { public static void main(String[] args) { ArrayList<Employee> employees = new ArrayList<>(); employees.add(new Employee("morty",7.7,new MyData(2013,10,19))); ...原创 2021-10-19 19:47:47 · 49 阅读 · 0 评论 -
泛型 入门
package com.v;import java.util.*;public class Common { public static void main(String[] args) { //单列 HashSet<Student> students=new HashSet<Student>(); students.add(new Student("morty", 14)); students.add(new Student("rick", 61.原创 2021-10-19 16:10:59 · 44 阅读 · 0 评论 -
集合练习题
package October;import java.util.*;public class Test { public static void main(String[] args) { News news = new News("新冠确诊病例"); News news1 = new News("男子突然想起"); ArrayList arr = new ArrayList(); arr.add(news); ...原创 2021-10-18 10:43:42 · 57 阅读 · 0 评论 -
TreeSet和TreeMap的排序构造器
TreeSetpackage October;import java.util.*;@SuppressWarnings({"all"})public class Test { public static void main(String[] args) { //使用它提供的构造器进行排序new Comparator(){} TreeSet treeSet = new TreeSet(new Comparator() { @Ov原创 2021-10-15 16:25:20 · 97 阅读 · 0 评论 -
Map练习:输出工资大于10的员工(两种方式)
package October;import java.util.*;public class Test { public static void main(String[] args) { Map map = new HashMap(); map.put(1,new Employee(101,"morty",1000)); map.put(2,new Employee(102,"rick",1000)); map.put(3.原创 2021-10-14 20:20:16 · 113 阅读 · 0 评论 -
Map的遍历和排序
package October;import java.util.*;public class Test { public static void main(String[] args) { Map map = new HashMap(); map.put("No.1","路飞"); map.put("No.2","索隆"); map.put("No.3","山治"); //1 取出所有的key,通过ke.原创 2021-10-14 19:33:44 · 158 阅读 · 0 评论 -
两数相除的三种异常
package Devise;/** * 接收两个整数,进行除法运算,不是两个报错,不是整数报错,被除数为0报错 */public class Test { public static void main(String[] args) { try { if(args.length!=2){ throw new ArrayStoreException("参数个数不对"); } .原创 2021-10-08 11:33:16 · 440 阅读 · 1 评论 -
交通工具切换
package Devise;public class Test { public static void main(String[] args) { //实例化唐僧,默认骑马 Person person = new Person("唐僧",Factory.getH()); person.common(); person.River(); person.mountain(); }}interface V.原创 2021-10-07 15:06:20 · 52 阅读 · 0 评论 -
封装,继承,多态综合应用
package com.Wzg;public class Test13 { public static void main(String[] args) { System.out.println("================"); person1[] p=new person1[4];//创建父类数组 p[0]=new student("Morty",14,"男",1020); p[1]=new student("Summe.原创 2021-10-01 16:57:17 · 83 阅读 · 0 评论