![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Enoch888
这个作者很懒,什么都没留下…
展开
-
Day08 Java复习8 Spring MVC概念
他是派对的指挥官,负责确保所有的客人(请求)都能找到他们要去的活动区(控制器)并且得到他们想要的礼物(响应)。这些东西之间的关系就像是不同的派对策划团队,每个团队都有各自的职责,但是他们一起工作,帮你举办一场成功的生日派对。通过学习它们,你就可以更容易地举办一个大家都会喜欢的派对,也就是说,你可以更容易地创建一个很棒的Java程序。它取一些普通的东西,比如说气球(数据),然后把它们变成美丽的装饰(网页),这样每个人看到的时候都会觉得,“哇,这个派对真是太棒了!spring mvc 的核心组件是什么?原创 2024-03-24 10:22:19 · 840 阅读 · 0 评论 -
Java复习06 Spring 代码概念
你只需要告诉Spring你需要什么,Spring就会给你准备好,并且当你需要的时候给你。所以,总结一下,这段代码就是一个自动化的帮手,确保你的派对上有对的蛋糕、音乐和时钟,这样你就可以轻松享受派对,不用担心这些细节。这就是JAVA编程中的依赖注入(DI)的魅力,它帮助我们自动连接和组织需要的部分,使得我们可以更专注于派对的乐趣,也就是编程的主要任务。你得到了一张特别的通行证,这张通行证可以让你进入一个有很多不同房间的大房子,每个房间都有不同的玩具和游戏。”就像是魔法精灵,它可以自动地给你想要的东西。原创 2024-03-20 22:09:33 · 740 阅读 · 0 评论 -
Java复习05 Spring 概念
程序员告诉Spring他们需要什么样的组件(比如骑士或巫师,或者在编程中可能是一个用来保存数据的组件,或者是处理用户输入的组件),然后Spring就会帮助他们“生成”这些组件,并且把它们装备好,准备投入使用。当然,还有其他的框架,它们就像不同品牌的自行车,每一种都有自己的特色和优势,但Spring因为它的实用性和可靠性,在Java世界中就像是最受欢迎的那种自行车。简单来说,Spring让编程像做蛋糕一样变得更简单有趣,你不用每次都从零开始,而是可以用Spring的工具和“食谱”来帮你更快做出好的程序。原创 2024-03-18 21:21:29 · 1831 阅读 · 3 评论 -
JAVA安装时候 环境变量放在 系统变量 还是 用户变量?
系统变量是适用于整个操作系统的设置,而用户变量则只适用于当前登录的用户。在设置Java的环境变量时,你希望让整个系统都能够访问Java的安装路径,因此需要将Java安装路径添加到系统变量中。所以,在安装Java时,记得将Java安装路径添加到系统变量中,而不是用户变量中。而系统变量则是游戏设定好的规则和设定,比如游戏的难度、关卡设计、敌人的行为等等。用户变量就好比是由你自己控制的东西,比如你的角色等级、装备、技能点等等。当你安装Java时,通常会设置环境变量,这时你需要设置系统变量而不是用户变量。原创 2024-03-18 14:19:53 · 528 阅读 · 0 评论 -
Java复习04 注解和反射
自定义注解就是你可以创建自己的注解。想象一下,如果你在游戏中可以创建一个全新的角色,你可以定义它的名字、能力和特点。自定义注解允许你为你的代码定义特殊的规则或者提供特定的信息。或者理解成就是你有机会创造自己的道具。你可以决定它叫什么,能做什么,以及什么时候使用它。反射读取注解(Reflection to Read Annotations)原创 2024-03-15 10:30:50 · 877 阅读 · 0 评论 -
Java复习03 多线程
现在,你不想或者不能直接让这个主题去做某件事情,你就创建一个代理,这个代理看起来和主题一样,可以做相同的事情。游戏里你可能会用“跳跃”、“蹲下”、“冲刺”这样的命令来控制你的角色,而在Java编程游戏中,关键字是帮助你控制计算机做事的特殊单词。多线程就好比你在工厂里有很多小机器人一起工作,每个机器人都在做不同的任务,比如一个在装配车轮,一个在画颜色,另一个在打包。这种代理是“静态”的,因为你必须在程序运行之前就决定好谁是代理,谁是主题,就像你在报名表演之前就决定好让你的朋友帮你报名一样。原创 2024-03-15 10:19:22 · 791 阅读 · 0 评论 -
Java复习02 IO流
这种设计允许我们通过不同的处理流的组合来轻松地扩展功能,而不需要改变已有的节点流。IO流在Java里面可以分为四个主要类型:字节流(InputStream和OutputStream)、字符流(Reader和Writer)、节点流(Node Streams)和 处理流(Processing Streams)或者叫做包装流(Wrapper Streams)。处理流就像是一个水滤器或者加热器,水通过水滤器可以过滤掉杂质,通过加热器可以变热,但最终这个水还是要从水龙头出来的,这就是处理流对节点流的包装。原创 2024-03-14 14:32:22 · 363 阅读 · 0 评论 -
Java复习01 集合概念
每个储物格都有一个号码,但是这个号码不是随便给的,它是通过你鞋子的某个特别标记计算出来的。虽然这样找鞋子可能会慢一点,因为你需要检查每个小盒子,但通常来说,这个魔法计算得很好,所以每个储物格里只有一两个小盒子,你还是很快就能找到你的鞋子。现在,当你下次来,想要取回你的鞋子,你不需要去每个储物格门口找,你只需要记住那个特别标记,再用同样的魔法计算一次,就能直接知道你的鞋子在哪个储物格了。,每个学生都有一个固定的座位号(也就是在列表中的索引位置),你可以很快地找到任何一个学生(元素)只要知道他们的座位号。原创 2024-03-13 15:29:31 · 1902 阅读 · 0 评论 -
Exc03:自定义异常及经验小结
自定义异常及经验小结package com.exception.demo02;public class Test { // 可能会存在异常的方法 static void test(int a ) throws MyExcption{ System.out.println("传递的参数为:"+a); if(a>10){ throw new MyExcption(a); //抛出 } System原创 2022-04-24 18:27:00 · 279 阅读 · 0 评论 -
Exception 01:Error和Exception
异常机制异常现象:1.套娃public class Demo01 { public static void main(String[] args) { new Demo01().a(); } public void a(){ b(); } public void b(){ a(); }}2.数字除以0public class Demo01 { public static void main(原创 2022-03-15 21:11:48 · 366 阅读 · 0 评论 -
面向对象12:N种内部类
N种内部类在类的内部再定义一个类,叫内部类1.如何创建内部类? 答:通过这个外部类来实例化内部类package com.oop.demo11;public class Application { public static void main(String[] args) { //new Outer outer = new Outer(); //通过这个外部类来实例化内部类 Outer.Inner inner = outer原创 2022-02-25 14:49:59 · 52 阅读 · 0 评论 -
面向对象11:接口的定义与实现
接口的定义与实现一、类与接口的区别普通类:只有具体实现抽象类:具体实现和抽象方法都有!接口:只有抽象方法,自己无法写方法 专业的约束! 约束和实现分离,面向接口编程。类 可以实现接口 implements 接口 多继承抽象类 extends 单继承二、什么是接口接口的本质是契约,就像我们人间的法律一样,制定好后都能使用。接口就是规范,定义的是一组规则,”如果你是……则必须能……“,如果你是天使,则必须能飞。如果你是汽车,则必须能跑。关键字:interface接口是绿色的三、接原创 2022-02-24 13:49:02 · 141 阅读 · 0 评论 -
面向对象10:抽象类
抽象抽象类的子类必须要实现父类的所有方法,除非子类也是抽象的。(父债子偿)package com.oop.demo09;//抽象类的子类必须要实现父类的所有方法。public class A extends Action{ @Override public void doSomething() { }}一旦命名为抽象方法,这个类也必须是抽象类package com.oop.demo09;//抽象类public abstract class Action {原创 2022-02-23 13:15:48 · 197 阅读 · 0 评论 -
面向对象09:static关键字详解
static关键字详解static:非静态的方法可以调用静态方法里的所有东西。静态方法是和类一起加载出来的。package com.oop.demo08;public class Person { //2. { System.out.println("匿名代码块"); } //1.只执行一次 static{ System.out.println("静态代码块(类一加载就有的)"); } //3. pub原创 2022-02-22 14:52:24 · 233 阅读 · 0 评论 -
面向对象08:instanceof 和 类型转换
instanceof 和 类型转换instanceof是Java的一个保留关键字,左边是对象,右边是类,返回类型是Boolean类型。它的具体作用是测试左边的对象是否是右边类或者该类的子类创建的实例对象(看new了什么),是,则返回true,否则返回false。 亲子鉴定 //Object > String //Object > Person > Student //Object > Person > Teacher Obje原创 2022-02-19 14:39:37 · 223 阅读 · 0 评论 -
面向对象07:多态
多态一个对象具备多种形态,也可以理解为事物存在的多种体现形态。//可以指向的引用类型就不确定了:父类的引用指向子类Student s1 = new Student();Person s2 = new Student();Object s3 = new Student();对象能执行哪些方法,主要看对象左边的类型,和右边关系不大! //Student 能调用的方法都是自己的 或者继承父类的。 Student s1 = new Student(); /原创 2022-02-19 12:42:02 · 54 阅读 · 0 评论 -
面向对象06:方法重写
方法重写重写都是方法的重写,和属性无关父类的引用指向了子类静态的方法: 方法的调用只和左边、定义的数据类型有关去掉static以后,两个箭头,一个向上,一个向下,O代表重载的意思静态的方法和非静态的方法区别很大!静态方法非静态方法:重写特点:需要有继承关系,子类重写父类的方法!1.方法名必须相同2.参数列表必须相同3.修饰符:范围可以扩大但不能缩小: Public>Protected>Default>Private4.抛出的异常:范围,可以被缩小,但不能扩大;原创 2022-02-18 21:20:37 · 60 阅读 · 0 评论 -
面向对象06:继承
继承子类继承父类,就会拥有父类的全部方法!!!关系://public//protected//default//private在Java中,所有的类,都默认直接或者间接继承Objectctrl+H 显示树:代码展示package com.oop.demo05;//Person 人:父类public class Person { //public //protected //default //private private int money原创 2022-02-17 15:05:57 · 46 阅读 · 0 评论 -
面向对象05:封装
封装1.封装的特点:高内聚、低耦合高内聚:类的内部数据操作自己来完成、不允许干涉。银行内部的钱有内部人员去管低耦合:尽量暴露少量的方法给外部使用。 围绕着自己的卡借钱2.封装的意义1.提高程序的安全性,保护数据2.隐藏代码的实现细节3.统一接口4.提高系统的可维护性get/set自动生成函数:alt+insertprivate跟public相反问题:属性私有以后,就不能调用解决方法:提供一些可以操作这个属性的方法,提供一些public 的get、set方法封装的代码packa原创 2022-02-16 12:57:29 · 103 阅读 · 0 评论 -
面向对象04:创建对象的内存分析
创建对象的内存分析package com.oop.demo03;public class Application { public static void main(String[] args) { Pet dog = new Pet(); dog.name="旺财"; dog.age=3; dog.shout(); System.out.println(dog.name); System.out.原创 2022-02-16 11:15:03 · 151 阅读 · 0 评论 -
面向对象03:构造器详解
构造器详解1.java–>class3.就会变成class文件在class里面我们发现:一个类什么都不写,它也会存在一个方法在断点处,对代码进行调试,程序跳到另一边。1.使用new关键字,必须要有构造器,本质是在调用构造器。2.用来初试化值2.有参构造:一旦定义了有参构造,无参就必须显示定义(方法重载)alt+insert :构造器快捷键构造器代码package com.oop.demo02;//java-->classpublic class Person {原创 2022-02-14 10:47:55 · 200 阅读 · 0 评论 -
面向对象02:回顾方法的调用
回顾方法的调用1.当a是static,b不是static ,a无法调用b原因:static和类一起加载的;类实例化之后才存在;a存在了,b不存在public static void a(){ b();}public void b(){}2.Java是值传递 复刻了一把新钥匙package com.oop.demo01;public class Demo04 { public static void main(String[] args) { int a=原创 2022-02-13 18:52:01 · 205 阅读 · 0 评论 -
面向对象01:初识面向对象
初识面向对象1.属性+方法就是一个类2.面向对象的本质:以类的方式组织代码,以对象的组织(封装)数据3.return :结束方法,返回一个结果,可以是空也可以是其他结果。package com.oop.demo01;//Demo01类public class Demo01 { //方法 main public static void main(String[] args) { } /* 修饰符 返回值类型 方法名(...){ 方法体 retur原创 2022-02-13 18:46:05 · 64 阅读 · 0 评论 -
数组05:冒泡排序和稀疏数组
冒泡排序1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置。2.每一次比较,都会产生出一个最大、或者最小的数字;3.下一轮则可以少一次排序!4.依次循环,直到结束。优化的方法:1.加flag如何交换值?进行交换,同时PressOn的折线变直线,如下图所示。package com.xiyue.array;import java.util.Arrays;public class ArrayDemo08 { public static void main原创 2022-02-11 12:44:05 · 839 阅读 · 0 评论 -
数组04:Arrays类
Arrays类Arrays是数组的工具1.点击struct可以查看方法一、打印数组元素Array.toString()package com.xiyue.array;import java.util.Arrays;public class ArrayDemo06 { public static void main(String[] args) { int[] a={1,2,3,5,6,89,87,564}; //System.out.println(a)原创 2022-02-10 18:58:26 · 264 阅读 · 0 评论 -
数组03:二维数组
二维数组或者换一种思路二维数组练习package com.xiyue.array;public class ArrayDemo05 { public static void main(String[] args) { //[4][2] /* 1,2 array[0] 2,3 array[1] 3,4 array[2] 4,5 array[3]原创 2022-02-10 15:41:08 · 55 阅读 · 0 评论 -
数组02:数组的运用
数组的运用一、基础运用1.打印全部的数组元素2.计算所有元素的和3.寻找最大值package com.xiyue.array;public class ArrayDemo03 { public static void main(String[] args) { int[] arrays={1,2,3,4,5}; //打印全部的数组元素 for (int i = 0; i <arrays.length ; i++) {原创 2022-02-10 12:40:12 · 56 阅读 · 0 评论 -
数组01:数组创建申明、三种初始化、Java内存分析
数组创建申明、三种初始化、Java内存分析一.创建申明创建数组:package com.xiyue.array;public class ArrayDemo01 { //变量的类型 变量的名字=变量的值; //数组类型 public static void main(String[] args) { int[] nums;//1.声明一个数组 nums=new int[10];//2.创建一个数组 nums[0]原创 2022-02-09 11:56:17 · 195 阅读 · 0 评论 -
方法04:递归思想
递归5!1.边界条件:边界2.前阶段:3.返回阶段 n*(n-1)栈练习1.阶乘package com.xiyue.method;public class Demo07 { //2! 2*1 3! 3*2*1 5! 5*4*3*2*1 public static void main(String[] args) { System.out.println(f(7)); } public static int f(int n){原创 2022-02-08 13:29:56 · 169 阅读 · 0 评论 -
方法03:可变参数
可变参数public void test(int…i):不定项传递package com.xiyue.method;public class Demo04 { public static void main(String[] args) { Demo04 demo04 = new Demo04();// demo04就是对象 demo04.test(1,2,3,5,6,8,5); } public void test(int...i){原创 2022-02-08 12:24:38 · 147 阅读 · 0 评论 -
方法02 方法的重载和命令行传递参数
命令行传递参数1.命令行参数2.输入,显示错误3.显示错误,换一种方法。打开命令4.在上面那栏写cmd +空格5.显示错误6.回到src,再输入知识点思维导图代码package com.xiyue.method;public class Demo03 { public static void main(String[] args) { //数组长度args.length,遍历每一个长度 for (int i = 0; i < a原创 2022-02-07 15:47:45 · 238 阅读 · 0 评论 -
方法01:初识方法
什么是方法一、方法的格式public static int add(int a,int b)1.public是一个修饰符(可以不要)2.里面的int就是返回值的类型。3.形参:用来定义作用的,实参:实际调用传递给他的函数4.return 0;表示终止方法。知识点:值传递和引用传递的区别你有一把钥匙,当你的朋友想要去你家的时候,如果你直接把你的钥匙给他了,这就是引用传递。这种情况下,如果他对这把钥匙做了什么事情,比如他在钥匙上刻下了自己名字,那么这把钥匙还给你的时候,你自己的钥匙上也会多出他刻原创 2022-02-06 20:12:45 · 224 阅读 · 0 评论 -
流程控制10:练习打印三角形及Debug
打印三角形及Debug学习Debug1.Debug按钮2.往下走按钮mspaint画图工具先打印空格,再打星号package com.xiyue.struct;public class TestDemo { public static void main(String[] args) { //打印三角形 5行三角形 for (int i = 1; i <= 5; i++) { for (int j = 5; j &g原创 2022-02-03 12:12:53 · 375 阅读 · 0 评论 -
流程控制09:break,continue,goto
break,continue,goto1.break用于强行退出循环break在任何循环语句的主体部分,均可用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句。(辞职)package com.xiyue.struct;public class BreakDemo { public static void main(String[] args) { int i=0; while(i<100){ i++;原创 2022-02-02 20:31:59 · 454 阅读 · 0 评论 -
流程控制08 增强For循环
增强For循环1.打印九九乘法表package com.xiyue.struct;public class ForDemo04 { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <=i; j++) { System.out.print(j+"*"+i+"="+i*j+"\t");原创 2022-02-02 18:14:04 · 958 阅读 · 0 评论 -
流程控制07:循环结构
循环结构一、while结构1.循环输出1-100package com.xiyue.struct;public class WhileDemo01 { public static void main(String[] args) { //输出1-100 int i=0; while(i<100){ i++; System.out.println(i); } }}原创 2022-02-01 18:29:51 · 684 阅读 · 0 评论 -
流程控制06 switch多选择结构及反编译理解
一、switch多选择结构及反编译1.case穿透,switch匹配一个具体的值2.shift+tab一键对齐3.JDK的新特性,表达式结果可以是字符串!!!4.字符的本质还是数字5.两个代码可以垂直分割switch常用代码展示:package com.xiyue.struct;public class SwitchDemo01 { public static void main(String[] args) { //case穿透,switch匹配一个具体的值原创 2022-01-31 11:08:09 · 187 阅读 · 0 评论 -
流程控制03 顺序结构 流程控制04 if选择结构
顺序结构是任何一个算法都离不开的一种基本算法结构顺序结构代码展示public class ShunXuDemo { public static void main(String[] args) { System.out.println("hello1"); System.out.println("hello2"); System.out.println("hello3"); System.out.println("hello4")原创 2022-01-30 12:53:46 · 52 阅读 · 0 评论 -
流程控制02:Scanner进阶
Scanner进阶使用1.ctrl+点击进入Scanner里面观看2.进入Structure可以查看Scanner的各种方法做两个题目:1.输入整数,显示整数;输入小数,显示小数public class Demo04 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //从键盘接收数据 int i=0; f原创 2022-01-29 14:44:42 · 80 阅读 · 0 评论 -
流程控制01:用户交互Scanner
用户交互Scanner用完Scanner 一定要及时关闭掉对象1.next()import java.util.Scanner;public class Demo01 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in);//in代表输入 out代表输入 System.out.print原创 2022-01-27 22:00:39 · 55 阅读 · 0 评论