
java
代码不愤怒
on the road
展开
-
反射学习记录
反射概述Java反射机制:是指在运行时去获取一个类的变量和方法信息。然后通过获取到的信息来创建对象,调用方法的一种机制。由于这种动态性,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展。获取Class类的对象我们要想通过反射去使用一个类,首先我们要获取到该类的字节码文件对象,也就是类型为Class类型的对象以下三种方式可以获取Class类型的对象1.使用类的class属性来获取该类对应的Class对象。举例: Student.class将会返回Student类对应的原创 2022-05-06 21:13:29 · 205 阅读 · 0 评论 -
类加载学习记录
1.1类加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,VM将会连续完成故三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化类的加载:●就是指将class文件读入内存,并为之创建一个java.lang.Class对象●任何类被使用时,系统都会为之建立一个java.lang.Class对象类的连接:●验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致●准备阶段:负责为类的类变量原创 2022-05-06 19:13:13 · 185 阅读 · 0 评论 -
Stream流学习记录
Stream流的使用生成流生成流:通过数据源(集合,数组等)生成流 list.stream()中间操作:一个流后面可以跟随零个或多个中间操作,其目的主要是打开流,做出某种程度的数据过滤/映射,然后返回一个新的流,交给下一个操作使用 filter()终结操作:一个流只能有一个终结操作,当这个操作执行后,流就被使用“光”了,无法再被操作。所以这必定是流的最后一个操作 forEach()Stream流的常见生成方式:1.Collection体系的集合可以使用默认方法str...原创 2022-04-30 19:01:54 · 232 阅读 · 0 评论 -
函数式接口的学习记录
函数式接口:有且仅有一个抽象方法的接口Java中的函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能利地进行推导如何检测一个接口是不是函数式接口呢?把 @Functionallnterface 放在接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败函数式接口作为方法的参数:定义一个类(RunnableDemo),在类中提供两个方法一个方法是: startThread(Ru..原创 2022-04-30 16:24:36 · 333 阅读 · 0 评论 -
方法引用学习记录
方法引用符::该符号为引用运算符,而它所在的表达式被称为方法引用Lambda表达式: usePrintable(s -> System.out.println(s));分析:拿到参数s之后通过Lambda表达式,传递给System.out.println方法去处理方法引用:usePrintable(System.out::println);分析:直接使用System.out中的println方法来取代Lambda,代码更加的简洁推导与省略如果使用Lambda,那么根据“可推导就是可省略原创 2022-04-23 16:39:52 · 128 阅读 · 0 评论 -
接口的组成更新学习
接口的组成:1.常量public static final2.抽象方法public abstract3.默认方法(Java 8)4.静态方法(Java8)·5.私有方法(Java 9)接口中默认方法的定义格式:格式: public default返回值类型 方法名(参数列表){}范例: public default void show3 () { }接口中默认方法的注意事项:默认方法不是抽象方法,所以不强制被重写。但是可以被重写,重写的时候去掉default关键字pu.原创 2022-04-23 14:08:43 · 549 阅读 · 0 评论 -
lambda学习记录
package lambda;//启动一个线程,在控制台输出:多线程程序启动了public class Text1 { public static void main(String[] args) { //匿名内部类// new Thread(new Runnable() { // @Override// public void run() {// // TODO Auto-generated method stub// System.ou.原创 2022-04-22 20:24:19 · 273 阅读 · 0 评论 -
网络编程学习记录
网络编程三要素:IP地址、端口、协议(UDP、TCP)IP地址:网络中设备唯一的标识分为IPv4:32bit,四个字节和IPv6:128bit每16个bit为一组IP地址常用命令:1.ipconfig:查看本机IP地址2.ping IP地址:检查网络是否连通特殊IP地址:127.0.0.1:是回送地址,可以代表本机地址,一般用来测试使用package wangloubianc;import java.net.InetAddress;import java.net.Un原创 2022-04-17 17:53:49 · 109 阅读 · 0 评论 -
java连接数据库查询
对整个表进行查询并输出package text;import java.sql.*;import java.util.Collection;import java.util.Scanner;public class Demo2 { public static void main(String args[]) { String URL="jdbc:mysql://localhost:3306/db"; String USER="root"; String PAS原创 2022-04-17 13:46:43 · 2738 阅读 · 0 评论 -
java连接数据库
首先将MySQL\Connector J 8.0\mysql-connector-java-8.0.27.jar 导入如何导入如下图后续操作如下package text;import java.sql.*;import java.util.Collection;public class Demo1 { public static void main(String args[]) { String URL="jdbc:mysql://localhost:3306.原创 2022-04-17 13:41:25 · 607 阅读 · 0 评论 -
为什么不能在main方法中用private修饰方法
因为main方法是一个静态方法方法内的变量是局部变量局部变量只在定义它的内部有效,并且不能使用 private ,protected,public 修饰符进行修饰,用了也没有用,因为局部变量只在定义它的内部有效,当局部变量所在的方法调用结束后,java 虚拟机将自动释放局部变量所占用的资源。...原创 2022-04-16 02:14:03 · 1419 阅读 · 0 评论 -
Java简单的多线程卖票
package xiancheng;/* 定义一个MaiPiao类实现Runnable接口,里面定义一个成员变量: private int tickets =100(票数); 在类中重写run()方法实现卖票,代码步骤如下 1:判断票数大于0,就卖票,并告知是哪个窗口卖的 2:卖了票之后,总票数要减1 3:票没有了,也可能有人来问,所以这里用死循环让卖票的动作一直执行 定义一个测试类MaiPiaoDemo,里面有main方法,代码步骤如下 1:创建MaiPiao类的对象 2:创建三个Th.原创 2022-04-09 17:10:58 · 4464 阅读 · 0 评论 -
进程线程的学习记录
关于启动、设置和获取线程名称package xiancheng;/* * 继承Thread类 定义一个类MyThread继承Thread类 在MyThread类中重写run()方法 创建MyThread类的对象 启动线程 */public class Duoxiancheng { public static void main(String[] args) {// MyThread my1=new MyThread();原创 2022-04-09 15:01:28 · 531 阅读 · 0 评论 -
关于Properties的学习记录
package io;import java.util.Properties;import java.util.Set;public class Propertiesdemo { public static void main(String[] args) { //创建集合对象 Properties p =new Properties(); //存储元素 p.put("001", "qq"); p.put("002", "ww"); p.put("003", "ee.原创 2022-04-09 13:46:29 · 386 阅读 · 0 评论 -
猜数字小游戏(实现玩三次后提示充值)
首先要在一个文件中写入count=0(相当于计数)实现猜数字的类:package io;import java.util.Random;import java.util.Scanner;public class Game { public Game(){}; public static void game() { //随机产生一个数,范围在[0,100] Random r =new Random(); int x=r.nextInt(100+原创 2022-04-08 23:09:00 · 3115 阅读 · 0 评论 -
序列流三个小问题
package io;/* * 对象序列化流 用对象序列化流序列化了一个对象后,假如我们修改了对象所属的类文件,读取数据会不会出问题呢? 会出问题,抛出InvalidClassException异常 如果出问题了,如何解决呢? 给对象所属的类加一个serialVersionUID private static final long serialVersionUID= 42L; 如果一个对象中的某个成员变量的值不想被序列化,又该如何实现呢? 给该成员变量加transient关键字修饰,该关键字标记的成员变量不原创 2022-04-07 23:47:17 · 75 阅读 · 0 评论 -
对象序列化流和对象反序列化流的学习记录
对象序列化流:package io;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;/* * 对象序列化流:ObjectOutputStream 构造方法: ObjectOutputStream(OutputStream out):创建一个写入指定的OutputStream的ObjectOutputStream 序列化对象的方法: void.原创 2022-04-06 22:24:40 · 227 阅读 · 0 评论 -
缓冲流学习记录
字节缓冲流:package io;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class BufferdStreamdem原创 2022-04-05 13:26:50 · 217 阅读 · 0 评论 -
字节流复制学习记录
复制文本package io;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class Copytxt { public static void main(String[] args) throws IOException { //根据数据源创建字节输入流对象原创 2022-04-05 13:18:53 · 234 阅读 · 0 评论 -
打印流学习记录
字节打印流:package io;import java.io.FileNotFoundException;import java.io.PrintStream;/* * 打印流的特点: * 只负责输出数据,不负责读取数据 * 有自己特有的方法 */public class PrintStreamde { public static void main(String[] args) throws FileNotFoundException{ //PrintStream(Str原创 2022-04-04 19:21:31 · 76 阅读 · 0 评论 -
标准输入输出流学习记录
标准输入流:package io;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import org.omg.CORBA.portable.InputStream;//public static final InputStream in:标准输入流,通常该流对应于键盘输入或由主机环境或用户指定的另一个输入源public class InputStrea原创 2022-04-04 18:23:45 · 90 阅读 · 0 评论 -
Java简易点名器
package io;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.Random;public class Dianmingqi { public static void main(String[] args.原创 2022-04-04 15:09:40 · 320 阅读 · 0 评论 -
字节流异常处理
package io;//字节流写数据加异常处理import java.io.FileOutputStream;import java.io.IOException;public class Yichang { public static void main(String[] args) { FileOutputStream fos=null; try { fos=new FileOutputStream("C:\\DW\\fos.txt"); } catch(IOExc.原创 2022-04-04 13:29:58 · 149 阅读 · 0 评论 -
字节流输入学习记录
字节流写数据package io;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/* * FileOutputStream:文件输出流用于将数据写入File * FileOutputStream(String name):创建文件输出流以指定的名称写入文件 */public class Fileoutputdemo01 { public原创 2022-04-03 13:49:03 · 106 阅读 · 0 评论 -
字节流读数据学习记录(追加写入、换行)
package io;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class FileInputStreamdemo1 { public static void main(String[] args) throws IOException { //创建字节输入流对象 FileInputStream(String name) .原创 2022-04-02 23:05:50 · 622 阅读 · 0 评论 -
递归求阶乘和递归遍历该目录下的所有文件
递归求阶乘:package file;public class DIguidome01 { public static void main(String[] args) { System.out.println(jiec(5)); } public static int jiec(int i) { if(i==1) return 1; else { return i*jiec(i-1); } }}递归遍历该目录下的所有文件,并把所有文件的绝对路原创 2022-03-31 22:43:40 · 552 阅读 · 2 评论 -
File类的删除,判断和获取功能学习记录
删除:package file;/* * public boolean delete():删除由此抽象路径名表示的文件或目录 * 删除目录时的注意事项: 如果一个目录中有内容(目录,文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录 */import java.io.File;import java.io.IOException;public class Filedome03 { public static void main(String[] args原创 2022-03-30 20:14:29 · 107 阅读 · 0 评论 -
File构造方法和创建功能的学习记录
构造方法:package file;import java.io.File;public class Filedome01 { public static void main(String[] args) { File f1=new File("C:\\DW\\java.txt");//通过将给定的路径名字符串转换为抽象路径名来创建新的File实例 System.out.println(f1); //File类重写了toString方法 输出:C:\DW\java.txt F原创 2022-03-29 21:17:21 · 451 阅读 · 0 评论 -
syntax error on taken“;“,{expected after this token
问题如图解决就是在这句的后面加个{如图原创 2022-03-28 18:18:24 · 1664 阅读 · 0 评论 -
Java简单的实现斗地主的洗牌、发牌、看牌(按顺序)
package jihe;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.TreeSet;public class Ddzsjb { public static void main(String[] args){ //创建HashMap数组 键是编号,值是牌 HashMap<Integer,String> hm=new Ha.原创 2022-03-27 13:54:52 · 1195 阅读 · 0 评论 -
Java简单的实现斗地主的洗牌、发牌、看牌
package jihe;import java.util.ArrayList;import java.util.Collections;public class Ddz { public static void main(String[] args) { //创建一个牌盒,即定义一个集合对象 ArrayList<String> array=new ArrayList<String>(); //定义花色数组 String[] colors= {"♦",".原创 2022-03-26 14:54:54 · 408 阅读 · 0 评论 -
Map学习记录
package jihe;import java.util.Collection;import java.util.HashMap;import java.util.Map;import java.util.Set;public class Mapdome { public static void main(String[] args) { Map<String,String> m=new HashMap<String,String>(); //创建集合对象.原创 2022-03-25 18:13:41 · 302 阅读 · 0 评论 -
List和LinkedList集合学习记录
List基本使用:package jihe;import java.util.ArrayList; //导包import java.util.Iterator;import java.util.List;public class Listdome { public static void main(String[] args) { List<String> l=new ArrayList<String>(); //创建集合对象 l.add("原创 2022-03-19 13:55:52 · 91 阅读 · 0 评论 -
Collection集合学习记录
概述package jihe;import java.util.Collection; //导包import java.util.ArrayList;//Collection集合public class Collectiondome { public static void main(String[] args) { Collection<String> c=new ArrayList<String>(); //用多态的形式创建对象 //添原创 2022-03-18 16:24:39 · 104 阅读 · 0 评论 -
final和内部类学习记录
final内部类局部内部类匿名内部类原创 2022-03-17 21:14:29 · 198 阅读 · 0 评论 -
如何创建在不同包下的对象
包名.类名 对象名=new 包名.类名();如图所示也可以在最开始导入,后面就可以直接调用导入格式import 包名.类名;如图原创 2022-03-15 11:38:59 · 606 阅读 · 0 评论 -
Date的一些用法
package dome2;import java.text.ParseException;import java.text.SimpleDateFormat;public class Date { public static void main(String[] args) throws ParseException{ java.util.Date date1 = new java.util.Date(); long date=1000*60*60; java.util.Date d.原创 2022-03-13 15:35:52 · 408 阅读 · 0 评论 -
java简单的学生管理系统
首先创建一个学生类package sudentguanli;public class Student { private String name;//姓名 private String age;//年龄 private String sid;//学号 private String address;//地址 public Student() {} //无参构造 public Student(String name,String age,String sid,String addr原创 2022-03-06 16:29:23 · 452 阅读 · 0 评论 -
ArrayList的导包,创建空对象和基本使用
原创 2022-03-05 15:36:28 · 859 阅读 · 0 评论 -
String和StringBuilder转换
原创 2022-03-04 20:33:18 · 1348 阅读 · 0 评论