javaSE
sunqianLOL
这个作者很懒,什么都没留下…
展开
-
Optional 类
package com.java1;/** * @author 21115 @ date 2021/9/8 */public class Girl { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public Girl()原创 2021-09-08 21:52:20 · 52 阅读 · 0 评论 -
Stream 的终止操作
package com.streamAPI;import java.util.Arrays;import java.util.List;import java.util.Optional;import java.util.Set;import java.util.stream.Collectors;import java.util.stream.Stream;import org.junit.Test;/** * Stream 的终止操作 * */public class S原创 2021-09-08 19:39:41 · 261 阅读 · 0 评论 -
Stream 的中间操作
Stream 的中间操作package com.streamAPI;/** * @author 21115 @ date 2021/9/8 */public class Employee { private int id; private String name; private int age; private double salary; public int getId() { return id; } publ原创 2021-09-08 16:44:01 · 176 阅读 · 0 评论 -
函数式接口的实例-构造器引用-数组引用
package com.lambda;import java.io.PrintStream;import java.util.Comparator;import java.util.function.BiPredicate;import java.util.function.Consumer;import java.util.function.Function;import org.junit.Test;/** * 1.使用情景:当要换递给 Lambda 体的操作,已经有实现的方法了,原创 2021-09-07 23:10:22 · 88 阅读 · 0 评论 -
lambda表达式
package com.qian;import java.util.Comparator;import org.junit.Test;/** * Lambda 表达式的使用举例 * */public class LambdaTest { @Test public void test1() { Runnable r1 = new Runnable() { @Override public void run原创 2021-09-07 17:22:53 · 72 阅读 · 0 评论 -
动态代理 静态代理
动态代理 静态代理package com.sq;/** * 静态代理举例 * * 特点:代理类和被代理类在编译期间,就确定下来了。 * */interface ClothFactory { void produceCloth();}// 代理类class ProxyClothFactory implements ClothFactory { // 用被代理类对象进行实例化 private ClothFactory factory; pub原创 2021-09-06 22:02:19 · 103 阅读 · 0 评论 -
反射中需掌握
反射package com.person;/** * @author 21115 @ date 2021/8/25 */// 改变值@MyAnnotation(value = "hi")public class Person extends Creature<String> implements Comparable<String>, MyInterface { private String name; int age; public int转载 2021-09-05 11:57:31 · 74 阅读 · 0 评论 -
反射的各种获取
package com.person;/** * @author 21115 @ date 2021/8/25 */public interface MyInterface { void show();}package com.person;import static java.lang.annotation.ElementType.*;import java.lang.annotation.Retention;import java.lang.annotation.R原创 2021-08-30 23:14:57 · 49 阅读 · 0 评论 -
反射的动态性
体会反射的动态性package com.reflection;import java.util.Random;import org.junit.Test;/** * 通过发射创建对应的运行时类的对象 * */public class NewInstanceTest { @Test public void test1() throws IllegalAccessException, InstantiationException { Class<转载 2021-08-25 21:47:50 · 183 阅读 · 0 评论 -
反射-ClassLoader
ClassLoaderpackage com.reflection;/** * 类的加载过程 * * 1.类的加载(Load): 将类的 class 文件读入内存,并为之创建一个 java.lang.Class 对象。此过程由类加载器完成 * * 2.类的链接(Link): 将类的二进制数据合并到 JRE 中 * * 3.类的初始化(Initialize): JVM 负责对类进行初始化 * */public class ClassLoadingTest { publ原创 2021-08-24 22:15:15 · 265 阅读 · 0 评论 -
java反射
反射package com.reflection;/** * @author 21115 @ date 2021/8/22 */public class Person { private String name; public int age; public String getName() { return name; } public void setName(String name) { this.name = n原创 2021-08-24 21:23:06 · 50 阅读 · 0 评论 -
URL 网络编程
URL 网络编程package com.qian;import java.net.MalformedURLException;import java.net.URL;/** * URL网络编程 * * 1.URL:统一资源定位符,对应着互联网的某一资源地址 * * 2.格式: http://localhost:8080/examples/1.gif?username=Tom * * ........协议...主机名......端口号....资源地址.........参数列表原创 2021-08-18 22:01:07 · 96 阅读 · 0 评论 -
UDP 发送接收
UDPpackage com.qian;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import org.junit.Test;/** * UDP 协议的网络协议 * * UDP 先启动接收端不会报错,但是 TCP 会报错 */public class UDPTest { //原创 2021-08-15 22:13:31 · 100 阅读 · 0 评论 -
TCP 网络编程
TCP 网络编程package com.sq;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;import org.junit.Test;原创 2021-08-15 17:00:28 · 88 阅读 · 0 评论 -
InetAddress
InetAddresspackage com.sq;import java.net.InetAddress;import java.net.UnknownHostException;/** * 一、网络编程中有两个主要的问题: * * 1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用 * * 2.找到主机后如何可靠高效地进行数据传输 * * 二、网络编程中的两个个要素: * * 1.对应问题一:IP和端口号 * * 2.对应问题二:提供网络通信协议:转载 2021-08-15 16:00:39 · 116 阅读 · 0 评论 -
jar包的下载与导入
导入 jar 包一、 jar 包的下载进入 https://mvnrepository.com/ 网页,搜索 commons-io-2.5.jar点击 Apache Commons IO点击需要下载的版本点击 Files 文件下的 jar 进行下载二、jar 包导入 ideaFileproject structure…Modules选择 模块点击 + 选择需要导入的 jar 包okpackage com.sq;import java.io.File;import ja原创 2021-08-14 21:41:32 · 680 阅读 · 0 评论 -
NIO.2中 Path、Paths、Files
package com.sq;import java.io.File;import java.nio.file.Path;import java.nio.file.Paths;import org.junit.Test;/** * 1.jdk 7.0时,引入了 Path、Paths、Files 三各类 2.此三各类声明在:java.nio.file 包下。 3.Path 可以看作是 java.io.File 类的升级版本。也可以表示文件或文件目录,与平台无关 * 4.如何实例化 Path原创 2021-08-14 16:49:01 · 81 阅读 · 0 评论 -
RandomAccessFile
RandomAccessFilepackage com.sq;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import org.junit.Test;/** * RandomAccessFile 的使用 * * 1.RandomAccessFile 直接继承于 java.lang.Object原创 2021-08-12 21:40:34 · 90 阅读 · 0 评论 -
文件 对象流
对象流package com.sq;import java.io.Serializable;/** * Person 需要满足如下的要求,方可序列化 * * 1.需要实现接口:Serializable * * 2.当前类提供一个全局常量:serialVersionUID * * 3.除了当前 Person 类需要实现 Serializable 接口之外,还必须保证其内部所有属性也必须是可序列化的。(默认情况下,基本数据类型可序列化) * * 补充:ObjectOutput原创 2021-08-08 08:50:39 · 121 阅读 · 0 评论 -
三种流(输入\输出流、打印流、数据流)
三种流说明流的三种分类方式 流向:输入流、输出流 数据单位:字节流、字符流 流的角色:节点流、处理流写出 4 个 IO 流的抽象基类,4 个文件流,4 个缓冲流InputStream FileXxx BufferedXxxOutputStreamReaderWriterInputStreamReader: 父类 Reader异常:XxxException XxxErrorRandomAccessFile字节流与字符流的区别与使用情境 字节流:re原创 2021-08-04 21:59:20 · 835 阅读 · 0 评论 -
Scanner练习
Scanner练习import java.util.Scanner;public class Scanner03 { public static void main(String[] args) { //创建扫描器对象,进行键盘输入数据 Scanner scanner = new Scanner(System.in); // 输入多个数字,求其其平均数和总和 // 和 double sum = 0;原创 2021-03-17 20:15:37 · 71 阅读 · 0 评论 -
java二维数组
二维数组// 二维数组是一个特殊的一维数组,其每一个元素都是一个数组// int[][] a = new int[2][5];// 上面是一个两行五列的数组public class Demo12 { public static void main(String[] args) { // 二维数组 int[][] array = {{1,2},{2,3},{3,4},{4,5}}; printArray(array[0]); S原创 2021-03-20 15:33:54 · 51 阅读 · 0 评论 -
数组的反转
数组反转// 数组是相同数据类型(数组类型可以为任意类型)的 有序 集合// 数组也是对象,数组元素相当于对象的成员变量// 数组长度是确定的,不可变的。如果越界,则报:ArrayIndexOutofBoundspublic class Demo11 { public static void main(String[] args) { // 定义数组 int[] array = {1,2,3,4,5,6,7,8,9}; printArrays原创 2021-03-20 15:06:35 · 180 阅读 · 0 评论 -
数组定义 赋值
数组的定义与赋值public class Demo10 { public static void main(String[] args) { // 静态初始化 int[] array1 = {1,2,3,4,5}; System.out.println("array1.length="+array1.length); // 动态初始化 int[] array2 = new int[4]; array原创 2021-03-20 14:36:25 · 290 阅读 · 0 评论 -
java数组
数组public class Demo09 { public static void main(String[] args) { // 声明一个数组 int[] array; // 创建一个数组 array = new int[10]/*{1,2,3,4,5,6,7,8,9}*/; //给数组中的元素赋值 //数组索引从 0 开始 array[0] = 1原创 2021-03-20 14:13:57 · 37 阅读 · 0 评论 -
java递归方法
递归递归结构递归头:什么时候不调用自身方法。如果没有头,将陷入死循环递归体:什么时候需要调用自身方法import java.util.Scanner;// 递归算法(数量少的时候使用速度快,数量大的时候速度慢)public class Demo08 { // 递进就是 A方法调用A方法! 就是自己调用自己 // 递归一般应用于算法量很少的地方 public static void main(String[] args) { Scanner scann原创 2021-03-20 13:00:39 · 82 阅读 · 0 评论 -
可变长参数
可变参数//可变长参数public class Demo06 { public static void main(String[] args) { method(1,2,3,4,5,6); method(new double[]{5,4,3,2,1}); } // double...numbers 为可变长参数,如果有多个参数,那么可变长参数只能放在最后,否则会出错 // 在指定参数类型后加一个省略号(...),则此参数为可变参数原创 2021-03-20 12:36:18 · 49 阅读 · 0 评论 -
命令行传参
命令行传参有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给 main() 函数实现。public class Demo04 { public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.println("args["+i+"]"+args[i]); } }}步骤1步骤2步原创 2021-03-18 21:46:52 · 53 阅读 · 0 评论 -
方法的重载
方法的重载重载就是在一个类中,有相同的函数名称,但形参不同的函数方法重载的规则:方法名必须相同参数列表必须不同(个数不同、或类型不同、参数排列顺序不同)方法的返回类型可以相同也可以不同仅仅返回类型不同不足以成为方法的重载public class Demo03 { public static void main(String[] args) { int sumInt = add(2,3); System.out.println("返回值int类原创 2021-03-18 21:14:57 · 57 阅读 · 0 评论 -
method调用
method调用public class Demo01 { public static void main(String[] args) { int sum = add(2,3); System.out.println("sum="+sum); // sum=5 minus(6,3); } public static int add(int a,int b){ return a+b; } p原创 2021-03-18 20:18:16 · 132 阅读 · 0 评论 -
循环打印三角形
三角形public class SanJiaoXing { public static void main(String[] args) { for (int i = 1; i <= 5; i++) { for (int j = 5; j >= i; j--) { System.out.print(" "); } for (int j = 1; j <= 2*i原创 2021-03-18 20:01:20 · 54 阅读 · 0 评论 -
Java中的 label(标签)
label 标签public class Label { public static void main(String[] args) { // 输出 101-150 中的质数 // 质数 大于 1 的自然数 除了 1 和自己本身以外没有其他因子 // outer:标志代表标签 outer是可变的 但是 : 必须要有 //continue outer;返回到outer:标签位置 outer:for (int i =原创 2021-03-18 19:32:06 · 815 阅读 · 0 评论 -
break continue
break continuepublic class BreakContinue01 { public static void main(String[] args) { // break 用于强行退出循环 for (int i = 0; i < 20; i++) { System.out.println("i="+i); if( i == 5 ){ break;原创 2021-03-18 19:18:12 · 37 阅读 · 2 评论 -
增强 for
增强for循环java5 引入了用于 数组 或 集合 的增强型for循环语法格式for(声明语句 : 表达式){ // 代码语句}// 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定再循环语句块,其值与此时数组元素的值相等// 表达式:表达式是要访问的 数组名 ,或者是返回值为数组的方法public class ForQiang01 { public static void main(String[] args) { int[] n原创 2021-03-18 13:55:58 · 38 阅读 · 0 评论 -
for 打印 九九乘法表
for 打印 九九乘法表public class For02 { public static void main(String[] args) { // for 循环输出 九九乘法表 for (int j = 1; j <= 9 ; j++) { for (int i = 1; i <= j; i++) { System.out.print(i+"*"+j+"="+i*j+"\t");原创 2021-03-18 13:42:34 · 41 阅读 · 0 评论 -
计算奇偶数和 打印5的倍数 3个一行
计算奇偶数和 打印5的倍数 3个一行public class For01 { public static void main(String[] args) { // 用 for 计算 0 到 100 中的奇数和偶数和 // 奇数和 int addSum = 0; // 偶数和 int evenSum = 0; for (int i = 1; i < 101; i++) {原创 2021-03-18 13:29:52 · 116 阅读 · 0 评论 -
while 和 do while
while 与 do whilepublic class DoWhile01 { public static void main(String[] args) { // 用 do while 计算 1+2+...+100 的和 int i = 0; int sum = 0; do{ sum = sum + i; i++; } while ( i <= 100);原创 2021-03-18 12:15:42 · 48 阅读 · 0 评论 -
while
while循环while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去。我们大多数数情况是会让循环停止下去的,我们需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。循环条件一直为true就会造成无限循环 [ 死循环 ] ,我们正常的业务编程中应该尽量避免死循环,回影响程序性能或者造成程序卡死崩溃!public class While01 { public static void ma原创 2021-03-17 22:06:26 · 54 阅读 · 0 评论 -
java反编译
反编译[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ib49UjrU-1615988709963)(D:\图片\反编译01.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xdEroNty-1615988709965)(D:\图片\反编译02.png)]复制 Switch01.class[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mCnc87zn-1615988709972)(D:\图片\反原创 2021-03-17 21:49:13 · 61 阅读 · 0 评论 -
switch
Switchswitch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支switch语句中的变量类型可以是:byte、short、int、char、String(jdk7)public class Switch01 { public static void main(String[] args) { // switch 多选择结构 //switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支原创 2021-03-17 21:25:52 · 35 阅读 · 0 评论