Java
SherlockWZX
这个作者很懒,什么都没留下…
展开
-
Java基础
Java基础原创 2021-12-08 10:06:56 · 317 阅读 · 0 评论 -
SpringSecurity整合Thymeleaf注意事项
SpringBoot版本:2.0.9.RELEASE命名空间:xmlns:sec=“http://www.thymeleaf.org/extras/spring-security”认证:sec:authorize="isAuthenticated()未认证:sec:authorize="!isAuthenticated()原创 2021-11-29 15:45:28 · 383 阅读 · 0 评论 -
Collections
java.utils.Collections 是集合工具类,用来对集合进行操作①批量添加/打乱 public static <T> boolean addAll(Collection<T> c, T... elements) :往集合中添加一些元素 public static void shuffle(List<?> list) 打乱顺序 :打乱集合顺序 public static void main(String[] args) { Array原创 2021-07-17 21:37:24 · 92 阅读 · 0 评论 -
Java--Set
HashSetSet接口的特点: 1.不允许存储重复元素 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历(使用迭代器或者增强for遍历)HashSet集合 implements Set接口特点: 1.不允许存储重复元素 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历 3.是一个无序集合,存储元素和取出元素有可能不一致 4.底层是一个哈希表结构,查询速度非常快public static void main(String[] args) {原创 2021-07-17 19:26:15 · 161 阅读 · 0 评论 -
Java--List
ArrayListList接口特点:1. 它是一个元素存取有序的集合2. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。3. 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。List接口中带索引的方法:public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上public E get(int index) :返回集合中指定位置的元素public E remov原创 2021-07-17 08:15:55 · 280 阅读 · 0 评论 -
Java--数据结构
栈又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作特点:先进后出栈的入口、出口的都是栈的顶端位置压栈:就是存元素。即把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置弹栈:就是取元素。即把栈的顶端位置元素取出,栈中已有元素依次向栈顶方向移动一个位置队列同堆栈一样,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除特点:先进先出(即,存进去的元素,要在后它前原创 2021-07-16 17:59:45 · 62 阅读 · 0 评论 -
Java--泛型
可以随意存储任意类型数据原创 2021-07-13 15:56:15 · 63 阅读 · 0 评论 -
迭代器Iterator
迭代即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,再继续判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。/* 迭代器 有两个常用方法: boolean hasNext()如果有元素可以迭代,返回true 判断集合有没有下一个元素,有就返回true,没有就返回false next()返回迭代的下一个元素原创 2021-07-13 15:42:32 · 132 阅读 · 0 评论 -
增强for循环
增强for循环格式/* 格式: for(集合/数组的数据类型 变量名 : 集合名/数组名){ sout(数组名) } */public class Demo01For { public static void main(String[] args) { demo02(); } //使用增强for循环遍历集合 private static void demo02() {原创 2021-07-13 14:44:09 · 58 阅读 · 0 评论 -
Collection集合
集合:集合是Java中提供的一种容器,可以用来存储多个数据原创 2021-07-12 17:55:51 · 59 阅读 · 0 评论 -
装箱和拆箱
装箱和拆箱/* 装箱: 把基本类型的数据,包装到包装类中(基本数据类型-->包装类) 构造方法: Integer(int value)构造一个新分配的Integer对象,它表示指定的int值 Integer(String s)构造一个新分配的Integer对象,它表示String参数所指示的int值 传递的字符串,必须是基本类型的字符串,否则会抛出异常"100"正确."a"抛出异常原创 2021-07-12 16:46:45 · 55 阅读 · 0 评论 -
StringBuilder
StringBuilder/* StringBuilder类:字符串缓冲区,可以提高字符串效率 构造方法: StringBuilder():构造一个不带任何字符的字符串生成器,其初始容量为16个字符 StringBuilder(String str)构造一个字符串生成器,并初始化为指定的字符串内容 */public class Demo01StringBuilder { public static void main(String[] args)原创 2021-07-12 15:30:49 · 107 阅读 · 0 评论 -
Java--System
①public static long currentTimeMillis();返回当前时间的毫秒值获得佛如循环打印数字:1-9999所需要的时间,计算程序效率private static void demo01() { long s1 = System.currentTimeMillis(); //执行for循环 for (int i = 1; i <= 9999; i++) { System.out.println(原创 2021-07-12 09:45:50 · 84 阅读 · 0 评论 -
Java--Calendar
Java.util.calendar类:日历类Calendar类是一个抽象类,里边提供了很多操作日历字段的方法(YEAR、MONTH DAY_OF_MONTH、HOUR )①获得日历信息:Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象static calendar getInstance()使用默认时区和语言环境获得一个日历public static void main(String[] args) { .原创 2021-07-12 09:01:11 · 129 阅读 · 0 评论 -
Java--Date
关于Date的几个方法Demo01Date类public class Demo01Date { public static void main(String[] args) { demo03(); demo02(); demo01(); } //获取当前时间对应的毫秒值 private static void demo03(){ System.out.println(System.currentTimeMil原创 2021-07-11 20:27:16 · 73 阅读 · 0 评论 -
toString()和equals()
toString()看一个类是否重写了toString方法,如果重写了,直接打印new的对象即可若没有重写,打印出来的是地址值Person类public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.a原创 2021-07-11 15:35:20 · 188 阅读 · 0 评论 -
接口作为方法的参数
main方法import java.util.ArrayList;import java.util.List;//Java.util.List正是ArrayList所实现的接口public class DemoInterface { public static void main(String[] args) { //左边是接口名称,右边是实现类名称,多态的写法 List<String> list=new ArrayList<>();原创 2021-07-11 09:49:45 · 87 阅读 · 0 评论 -
接口作为成员变量类型
Hero类public class Hero { private String name; private Skill skill;//接口作为成员变量类型 public Hero() { } public Hero(String name, Skill skill) { this.name = name; this.skill = skill; } public void attack(){ S原创 2021-07-11 09:40:18 · 193 阅读 · 0 评论 -
类作为成员变量类型
Hero类public class Hero { private String name; private int age; private Weapon weapon;//类作为成员变量类型 public Hero() { } public Hero(String name, int age, Weapon weapon) { this.name = name; this.age = age; this.原创 2021-07-11 09:15:05 · 100 阅读 · 0 评论 -
final关键字
final关键字final关键字:代表最终,不可改变的常见四种用法:1.可以用来修饰一个类2.可以用来修饰一个方法3.可以用来修饰一个局部变量4.可以用来修饰一个成员变量①修饰类格式:public final class 类名称{ //...}含义:当前类不能有任何子类注意:一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没有子类)②修饰成员方法当final关键字用来修饰一个方法的时候,这个方法就是最终方法,不能被覆盖重写格式:修原创 2021-07-10 17:38:00 · 77 阅读 · 0 评论 -
Java--Math
方法public static double abs(double num):获取绝对值public static double ceil(double num):向上取整public static double floor(double num):向下取整public static long round(double num):四舍五入public static void main(String[] args) { //获取绝对值 System.out.pri原创 2021-07-08 15:22:33 · 41 阅读 · 0 评论 -
Java--Array方法举例
public static String toString(数组),将参数数组变成字符串([元素1,元素2,元素3])public static void sort(数组),按照默认升序对数组元素进行排序注:如果是数值,按照升序如果是字符串,sort默认按照字母升序public static void main(String[] args) { int[] intArray={10,20,30}; String intStr= Arrays.toString.原创 2021-07-08 15:00:39 · 159 阅读 · 0 评论 -
Java--字符串
java .Lang. String类代表字符串API当中说: Java程序中的所有字符串字面值(如"abc”)都作为此类的实例实现其实就是说:程序当中所有的双引号字符串,都是string类的对象。(就算没有new,也照样是)字符串的特点:1.字符串的内容永不可变2.正是因为字符串不可改变,所以字符串是可以共享使用的3.字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组创建字符出的3+1种方式三种构造方法:public String():创建一个空白字符.原创 2021-07-07 14:16:13 · 75 阅读 · 0 评论 -
ArrayList练习
ArraayList练习题原创 2021-07-06 15:39:58 · 102 阅读 · 0 评论 -
Java--Random
Random用来生成随机数字语法://Random r = new Random();Random random = new Random();①public static void main(String[] args) { //Random r=new Random(); Random random = new Random(); int num=random.nextInt(); System.out.println.原创 2021-07-05 16:18:44 · 56 阅读 · 0 评论 -
this关键字
通过谁调用的方法,谁就是this原创 2021-07-05 10:32:41 · 44 阅读 · 0 评论 -
Java面向对象--内部类
Outer类public class Outer { private int id=10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); } //获得外部类的私有属性 //原创 2021-07-02 18:11:30 · 45 阅读 · 0 评论 -
Java面向对象--接口
接口的本质是契约,就像我们人间的法律一样,制定好后大家都遵守原创 2021-07-02 16:08:13 · 65 阅读 · 0 评论 -
Java抽象类
子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类原创 2021-07-02 15:18:27 · 48 阅读 · 0 评论 -
关于Java中的导包
Java导包原创 2021-07-02 14:15:28 · 269 阅读 · 0 评论 -
static关键字详解
静态方法是和类一起加载的原创 2021-07-02 14:12:45 · 170 阅读 · 0 评论 -
Java面向对象--多态
即同一方法可以根据发送对象的不同而采用多种不同的行为方式转载 2021-07-02 13:15:34 · 63 阅读 · 0 评论 -
Java面向对象--方法重写
静态是类的方法,非静态是对象的方法,重写只和非静态方法有关系原创 2021-07-01 22:35:49 · 56 阅读 · 0 评论 -
Java面向对象--继承
继承的本质是对某一批类的抽象,从而实现对现实世界更好地建模原创 2021-07-01 21:17:24 · 85 阅读 · 0 评论 -
Java面向对象--封装
封装程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。封装中要做到的就是:属性私有,get/setStudent类//封装//学生类 private:私有public class Student { /* 封装的意义: 1.提高代码的安全性.保护数据 2.隐藏原创 2021-07-01 16:47:56 · 47 阅读 · 0 评论 -
Java面向对象--小结
1.类与对象 类是一个模板,抽象的 对象是一个具体的实例2.方法 定义,调用3.对象的引用 引用类型:基本类型(8) 对象通过引用来操作 栈-->堆(地址)4.对象的属性:字段Filed 成员变量 默认初始化: 数字:0 0.0 char:u0000 boolean:false 引用:null 定义: 修饰符 属性类型 属性名=属性值5.对象的创建和原创 2021-07-01 15:59:49 · 40 阅读 · 0 评论 -
Java面向对象--构造器
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的并且构造器有以下俩个特点:必须和类的名字相同必须没有返回类型,也不能写voidPerson类public class Person { //一个类即使什么都不写 也会存在一个方法(构造方法) //显示定义构造器 String name; //无参构造 //1.使用new关键字必须要有构造器,本质是在调用构造器 //2.用来初始化值 public Person(){ }原创 2021-07-01 15:57:49 · 69 阅读 · 0 评论 -
Java面向对象--类与对象的创建
类与对象的关系类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物.动物、植物、手机、电脑…Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为对象是抽象概念的具体实例张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念对象的创建分析使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始原创 2021-06-30 13:13:24 · 85 阅读 · 0 评论 -
Java面向对象--方法的调用
关于调用方法:1.调用非静态方法调用非静态方法需要实例化这个类语法:对象类型 对象名 = 对象值Student类public class Student { //非静态方法 public void say(){ System.out.println("学生说话了"); }}main方法public static void main(String[] args) { //调用非静态方法需要实例化这个类 //对象类型原创 2021-06-30 11:06:26 · 552 阅读 · 0 评论 -
Java冒泡排序
public static void main(String[] args) { /* 冒泡排序: 1.比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置 2.每一次比较,都会产生出一个最大或者最小的数字 3.下一轮则可以少一次排序 4.依次循环,直到结束 */ int[] array = {3, 2, 1}; sort(array);原创 2021-06-30 09:25:32 · 47 阅读 · 0 评论