2022Java新的学习笔记
文章平均质量分 52
小钟要学习!!!
一个新手的程序员跟着黑马教程一路走的学习经验与总结分享在此(接项目)
说明:所有的博客大多来源网络教程视频学习总结得来
展开
-
IDEA的使用
IDEA的使用项目 Project模块 module包 package类 class所有的源码都是写在src文件里面的创建项目在src中创建包命名方法注意:命名的方式是反写域名的方法创建的形式可以让是层级关系显示,按下图去掉构就可以了在包里面创建class类起类名(大驼峰命名)创建类之后的页面运行在空白区域右键就i可以看到一个绿色的箭头按钮,点击即可运行,也可以点击有上脚有相识的按钮也是可以的运行的输出代码注意看主中间的底下区域原创 2021-08-07 18:32:03 · 242 阅读 · 0 评论 -
day6 String和StringBuilder
day6 String和StringBuilderAPI的使用打卡资料文件中的JDK手册选择左边的导航索引输入需要十搜索的内容,在中间的顶部导航栏选择需要的搜索查询主要看以下几点:基本描述构造方法成员方法,注意方法的变量和类型和描述API练习索引搜索Scanner一个简单的文本扫描程序,可以使用正则表达式解析基本类型和字符串。String类代表字符串特点:字符串不可变,他们的值在创建后不能被更改虽然String的值是不可变的,但是他们可以被共享字符串效原创 2021-08-14 10:27:57 · 141 阅读 · 0 评论 -
day8 包、修饰
day9 包、修饰1、包的概念包就是文件夹对类进行分分类管理包的定义格式package 包名(多级包用.分开)带包的java类编译和执行手动健包按以前的格式编译java文件javac HellowWorld手动创建包在文件盘中创建com文件,然后创建zcl文件把class文件放到包的最里面【zcl】带包执行java com.zcl.HelloWorld自动健包javac -d . HelloWorld.java2、导包使用不同包下的原创 2021-08-24 17:38:26 · 117 阅读 · 0 评论 -
java入门之Edlipse IDE的安装(一)
Edlipse IDE的安装打开素材文件中的【eclipse-inst-jre-win64】双击如果没有下载到软件的可以到官网去下载进入到页面后选择第一项【Eclipse IDE for java Developers】,点击安装下面给两项默认勾选,创建快捷键、和菜单快捷键点击【Accept Now】等待安装安装成功第一次运行的时候更改一下工作空间工作空间的变更,代表着所有的设置都归0启动软件注意了:尽量不要汉化软件配置软件检查原创 2021-08-07 17:40:27 · 511 阅读 · 0 评论 -
day10 接口
day10 接口(2021-8-24)1、接口的概念接口就是一种公共的规范标准,只要符合规范标准,就可以通用java中的接口更体现在对行为的抽象2、接口的特点接口的关键字interface修饰public interface 接口名(){}类实现接口用imolements表示public class 类名 implements 接口名{}接口不能实例化需要通过多态的方法实现,通过实现类对象实例化,就叫接口多态多态的形式:具体类多态,抽象类多态,接口多态多态的前提:有继原创 2021-09-02 16:04:15 · 88 阅读 · 0 评论 -
day11 内部类
day11 内部类1、内部类内部类:就是在一个类中定义一个类内部类定义格式 public class 类名{ 修饰符 class 类名{ } }内部类的访问特点内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建对象package com.zcl;public class Outer { private int num = 10; // 内部类 public class Inner{原创 2021-09-02 16:08:58 · 111 阅读 · 1 评论 -
使用记事本写第一个HollJava语句
使用记事本写第一个HollJava语句(7-8)创建一个记事本命名为HellJava,后缀名改为.java注意:是小写的java打开素材文件夹中安装的【npp.7.7.1.Installer】记事本软件第一次打开软件,先去到顶部的菜单栏,找到设置---->语言格式设置—>在最左的语言中选择java开始编写第一条HellJava代码java与c#有很多相同之处先创建一个HellJava的类,这个是必须与创建的文件名一致在类里面创建一个静态的方法 【static】原创 2021-07-28 07:38:01 · 326 阅读 · 0 评论 -
day02 - Java基础语法
day02 - Java基础语法1 类型转换在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。1.1 隐式转换(理解) 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。例如:double num = 10; // 将int类型的10直接赋值给double类型System.out.println(num); // 输出10.0 类型从小到大关系图: 说明:整数默认是int类型,byte原创 2021-08-07 18:24:31 · 84 阅读 · 0 评论 -
java入门之IDEA强大的java编译器安装(二)
IDEA强大的java编译器打开素材文件,找到ideaIU-2021.1.3双击运行没有软件的可以到官网去下载软件的安装对安装路径进行修改下一步,勾选必要的选项下一步,等待安装安装完成,双击打开桌面的Intellij IDEA软件默认勾选下面点击????之后,会进入到下面的页面,勾选Evaluate for free点击Evaluate点击continue进入到正式界面上面中间的三个主要是(创建文件 打开文件 分享文件原创 2021-08-07 17:44:51 · 266 阅读 · 0 评论 -
java学习之数组的认识
1.数组1.1 数组介绍 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。1.2 数组的定义格式1.2.1 第一种格式 数据类型[] 数组名 示例:int[] arr; double[] arr; char[] arr;1.2.2 第二种格式 数据类型 数组名[] 示例:int arr[];double arr[];char arr[];1.3 数组的动态初始化1.3.1 什么是动态初始化 数组动态初始化就是只给定数组原创 2021-08-07 19:13:36 · 144 阅读 · 0 评论 -
day14 异常
day14 异常1、ArrayIndexOutOfBoundsException[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQp3TtLp-1631584683815)(image\12、异常体系.png)]2、JVM的默认处理方案把异常的名称,异常原因以及出现的位置等信息输出在了控制台出现停止执行3、异常处理如果程序出现了问题,我们需要自己来处理,有两种方案:try-----catchtry{ 可能出现异常的代码}catch(异常类名原创 2021-09-14 09:58:33 · 117 阅读 · 0 评论 -
java之循环语句的学习
1. switch语句1.1 分支语句switch语句格式switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default: 语句体n+1; break;}执行流程:首先计算出表达式的值其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结原创 2021-08-07 18:59:45 · 90 阅读 · 0 评论 -
day9 多态
day10 多态1、多态概念同一对象,在不同时刻表现出来的不同形态多态的前提和体现有继承/实现关系有方法重写有父类引用指向子类对象通过eat+回车,就会生成重写方法2、多态中成员访问特点创建两个对象,Cat继承AnmialAnmial a = new Cat(); // 动物类成员变量:编译看左边,执行看左边成员方法:编译看左边,执行看右边3、多态的好处和弊端多态的好处:提高了程序的扩展性具体体现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子原创 2021-08-24 17:43:09 · 184 阅读 · 0 评论 -
day7 继承(2021-8-15)
day7 继承(2021-8-15)1、继承的概念继承是面向对象三大特征之一,可以使子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法2、继承的格式主要是用extends关键字继承public class 子类名 extends 父类名{}父类被称为【基类】【操类】子类被称为【派生类】继承中子类的特点:子类可以有父类的内容子类可以有自己特有的内容3、案例代码创建父类package com.extendsDemo1;public class fu {原创 2021-08-24 17:30:35 · 149 阅读 · 0 评论 -
IDEA常用开发插件和自动导包设置
IDEA常用开发插件和自动导包设置自动导包和移除不需要的包常用插件分享原创 2022-04-05 09:45:24 · 1714 阅读 · 0 评论 -
肝爆一个月写的全网最强javaSe基础思维脑图总结,让你做项目找的方便看的顺心【含盖所有基础和具体的示例案例】
肝爆一个月写的全网最强javaSe基础思维脑图总结,让你做项目找的方便看的顺心【含盖所有基础和具体的示例案例】示例图片演示涵盖知识的案例演示右边边的黄色备注就是源代码原创 2022-03-18 07:38:38 · 365 阅读 · 2 评论 -
如何在IDEA上使用Git克隆项目和分支、提交项目
如何在IDEA上使用Git克隆项目和分支、提交项目克隆项目在启动IDEA窗口中选择Get from VCS克隆项目启动页面获取远程仓库的地址下图第一个选项是直接复制下来的远程仓库地址第二个GitHub是可以登录自己的账号获取到自己的远程仓库的第三个是企业GitHub账号登录点击Clon就会克隆文件到指定的文件夹下载完成会自动打开对应的目录文件进入IDEA,相同的在本地文件也会存有新建分支在克隆打开的项目中,右下角点击main主分支就可以新建分支了输原创 2022-03-12 14:40:43 · 9759 阅读 · 1 评论 -
最全java导出项目和创建启动项目的批处理文件
1、导出项目的jar包步骤一:IDEA导包步骤二:选择JAR步骤三:选择能启动项目的主要main方法步骤四:点击ok之后下一步ok步骤五:选择顶部菜单的Build步骤六:打包步骤七:生成位置找到文件位置步骤八:关于终端运行jar包打开终端cd到jar包的根目录通过执行如下命令即可运行java -jar 名称.jar在终端每次运行都要定位到根目录所以使用下面的方法创建启动项目的批处理文件2. 创建启动项目的批量文件步骤一:创建一个.tex原创 2022-03-07 20:35:46 · 412 阅读 · 0 评论 -
2022Java学习笔记九十六(设计模式:工厂设计模式、装饰模式)
2022Java学习笔记九十六(设计模式:工厂设计模式、修饰模式)一、工厂设计模式什么是工厂设计模式?之前我们创建类对象时,都是使用new 对象的形式创建,在很多业务场景下也提供了不直接new的方式。.工厂模式(Factory Pattern)是Java 中最常用的设计模式之一, 这种类型的设计模式属于创建型模式,它提供了一种获取对象的方式。工厂设计模式的作用:工厂的方法可以封装对象的创建细节,比如:为该对象进行加工和数据注入。可以实现类与类之间的解耦操作(核心思想)实例代码工厂模式原创 2022-03-04 11:19:54 · 296 阅读 · 0 评论 -
2022Java学习笔记九十五(XML:XML的创建、文档约束、XML解析、XML文件的数据检索技术)
2022Java学习笔记九十五(XML:XML的创建、文档约束、XML解析、XML文件的数据检索技术)学会一个最牛的文件定位方式 getResourceAsStream()Dom4jTest2.class.getResourceAsStream("/Contacts.xml"));一、XML概念XML是可扩展标记语言(eXtensible Markup Language)的缩写,它是是一种数据表示格式,可以描述非常复杂的数据结构,常用于传输和存储数据。XML的几个特点和使用场景一是纯文本,默原创 2022-03-04 10:17:10 · 929 阅读 · 1 评论 -
2022Java学习笔记九十四(动态代理提前了解)
一、动态代理的概念代理就是被代理者没有能力或者不愿意去完成某件事情,需要找个人代替自己去完成这件事,动态代理就是用来对业务功能(方法)进行代理的。关键步骤1.必须有接口,实现类要实现接口(代理通常是基于接口实现的)2.创建一个实现类的对象,该对象为业务对象,紧接着为业务对象做一个代理对象。引入问题实例代码1、创建接口规范package com.zcl.d9_proxy;/* 1、定义接口 动态代理模式必须要有接口解支持 模拟用户登录业务 */public原创 2022-03-04 07:52:57 · 211 阅读 · 0 评论 -
2022Java学习笔记九十三(注解:自定义注解、元注解、注解解析、注解的应用场景:junit框架)
2022Java学习笔记九十三(注解:自定义注解、元注解、注解解析、注解的应用场景:junit框架)一、注解的概述Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java语言中的类、构造器、方法、成员变量、参数等都可以被注解进行标注。注解的作用是什么呢?对Java中类、方法、成员变量做标记,然后进行特殊处理,至于到底做何种处理由业务需求来决定。例如:JUnit框架中,标记了注解@Test的方法就可以被当成测试方法执行,而没有标记的就不能当成测原创 2022-03-03 22:00:13 · 243 阅读 · 0 评论 -
2022Java学习笔记九十二(反射的作用-绕过编译阶段为集合添加数据、通用框架的底层原理)
2022Java学习笔记九十二(反射的作用-绕过编译阶段为集合添加数据、通用框架的底层原理)一、反射的作用-绕过编译阶段为集合添加数据反射的作用-绕过编译阶段为集合添加数据反射是作用在运行时的技术,此时集合的泛型将不能产生约束了,此时是可以为集合存入其他任意类型的元素的。泛型只是在编译阶段可以约束集合只能操作某种数据类型,在编译成Class文文件进入运行阶段的时候,其实真实类型都是ArrayList了,泛型相当于被擦除了。实例代码package com.zcl.d6_reflect_generi原创 2022-03-03 20:43:09 · 291 阅读 · 0 评论 -
2022Java学习笔记九十一(反射:反射获取类对象、反射获取构造器、成员变量、成员方法)
2022Java学习笔记九十一(反射:反射获取类对象、反射获取构造器、成员变量、成员方法)一、反射的概念反射是指对于任何一个Class类,在"运行的时候"都可以直接得到这个类全部成分。在运行时,可以直接得到这个类的构造器对象:Constructor在运行时,可以直接得到这个类的成员变量对象:Field在运行时,可以直接得到这个类的成员方法对象:Method这种运行时动态获取类信息以及动态调用类中成分的能力称为Java语言的反射机制。反射的关键: 反射的第一步都是先得到编译后的Class类对象原创 2022-03-03 19:42:32 · 846 阅读 · 0 评论 -
2022Java学习笔记九十(单元测试:junit框架、单元测试的常用注解)
2022Java学习笔记九十(单元测试:junit框架、单元测试的常用注解)单元测试单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。一、Junit单元测试框架JUnit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用JUnit编写单元测试。此外,几乎所有的IDE工具都集成了JUnit,这样我们就可以直接在IDE中编写并运行JUnit测试,JUnit目前最新版本是5。J原创 2022-03-03 14:59:08 · 556 阅读 · 0 评论 -
2022Java学习笔记八十九(网络编程:TCP通信,TCP通信:多个客户端消息【重点】,追踪客户端的上线和下线功能、线程池优化)
2022Java学习笔记七十九(网络编程:TCP通信,TCP通信:多个客户端消息【重点】,追踪客户端的上线和下线功能、线程池优化)一、TCP通信快速入门TCP协议回顾:1、TCP是一种面向连接,安全、可靠的传输数据的协议2、传输前,采用“三次握手”方式,点对点通信,是可靠的3、在连接中可进行大数据量的传输构造器和常用API二、TCP客户端发送消息示例代码package com.zcl.d12_tcpDaemo;import java.io.FileOutputStream;原创 2022-03-02 20:56:37 · 627 阅读 · 0 评论 -
2022Java学习笔记八十八(网络编程:UDP通信,一发一收,多发多收消息接收实现)
2022Java学习笔记七十八(网络编程:UDP通信,一发一收,多发多收消息接收实现)一、快速入门DatagramPacket:数据包对象实例代码定义发送端package com.zcl.d8_udp1;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;/* 发送端 一发一收原创 2022-03-02 18:54:01 · 867 阅读 · 0 评论 -
2022Java学习笔记八十七(网络编程:网络通信三要素)
2022Java学习笔记七十七(网络编程:网络通信三要素)一、网络通信三要素1、IP地址:设备在网络中的地址,是唯一的标识常见的分类有:IPv4和IPv6IP地址的形式:公网地址、和私有地址(局域网使用)192.1683开头的就是常见的局域网地址,范围即为192.168.0.0–192.168.255.255,专门为组织机构内部使用。IP常用命令:ipconfig:查看本机IP地址ping IP地址:检查网络是否连通特殊IP地址:本机IP: 127.0.0.1或者localhos原创 2022-03-02 16:11:01 · 512 阅读 · 0 评论 -
2022Java学习笔记八十六(定时器,线程并、并行,线程生命周期【java线程6种状态】)
2022Java学习笔记七十六(定时器,线程并、并行,线程生命周期【java线程6种状态】)一、Timer定时器实例代码package com.zcl.d6_timer;import java.util.Timer;import java.util.TimerTask;public class Demo { public static void main(String[] args) { // 目标:学会使用timer定时器 // 创建Timer定原创 2022-03-02 15:09:37 · 204 阅读 · 0 评论 -
2022Java学习笔记八十五(多线程:线程池【重点】、线程池处理Runnable任务、线程池处理Callable任务、Executors工具类实现线程池)
2022Java学习笔记七十五(多线程:线程池【重点】、线程池处理Runnable任务、线程池处理Callable任务、Executors工具类实现线程池)概念线程池就是一个可以复用线程的技术线程池创建面试题临时线程是什么时候创建的?新任务提交时发现核心线程都在忙,任务队列也满了,并且还可以创建临时线程,此时才会创建临时线程什么时候会开始决绝任务?核心线程和临时线程都在忙,任务队列也满了,新的任务过来的时候才会开始任务拒绝二、线程池处理Runnable任务实例代码创建MyRu原创 2022-03-02 13:39:54 · 307 阅读 · 0 评论 -
2022Java学习笔记八十四(多线程:线程安全模拟取钱案例、线程同步、同步代码块、同步方法、LOCK锁)
2022Java学习笔记七十四(多线程:线程安全模拟取钱案例、线程同步、同步代码块、同步方法、LOCK锁)多个线程同时访问同一个共享资源且存在修改该资源一、线程安全案例示例代码定义账户类package com.zcl.d3_thread_safe;import java.sql.SQLOutput;/** * 账户类 */public class Account { private String cardNumber; private double money;原创 2022-03-02 12:12:33 · 321 阅读 · 0 评论 -
2022Java学习笔记八十三(多线程:Thread的常用方法、Thread类的线程休眠方法)
2022Java学习笔记七十三(多线程:Thread的常用方法、Thread类的线程休眠方法)示例代码package com.zcl.d2_api;public class MyThread extends Thread{ @Override public void run() { for (int i = 0; i <5;i++){ System.out.println(Thread.currentThread().getName(原创 2022-03-02 10:21:24 · 294 阅读 · 0 评论 -
2022Java学习笔记八十二(多线程:java创建线程的三种方式)
2022Java学习笔记七十二(多线程:java创建线程的三种方式)一、什么是线程线程(thread)是一个程序内部的一条执行路径我们执行程序启动后,amin方法的执行其实就是一条单独的执行路径程序中如果只有一条执行路径,那么这个程度就是单线程的程序二、线程的创建方式一:继承Thread类1、定义一个子类MyThread继承线程类java.long.Thread,重写run()方法2、创建MyThread类的对象3、调用线程对象的start()方法启动线程(启动后还是执行run方法)示原创 2022-03-02 09:40:12 · 188 阅读 · 0 评论 -
2022Java学习笔记八十一(IO框架:commons-io简单上手)
2022Java学习笔记七十一(IO框架:commons-io简单上手)一、commons-io概念commons-io是apache开源基金组织提供的一组有关IO操作的类库,可以提高IO功能开发效率commons-io工具包提供了有关IO操作的类。有两个主要的类FileUtils和IOUtilscommons-io-2.11.0.jar是commons-io的架包,复制到项目中并添加到类库就可以了简单一行代码完成复制,示范代码更多API可以查看下载带来的API手册package co原创 2022-03-02 07:19:08 · 697 阅读 · 0 评论 -
2022Java学习笔记八十(打印流:打印流、出语句的重定向、Properties属性集合对象)
2022Java学习笔记七十(打印流:打印流、出语句的重定向、Properties属性集合对象)一、打印流如果要在文件中追加数据,不可以跟之前一样直接加 true,需要使用低级管道的时候加上 true,不然会报错PrintStream p = new PrintStream(new FileOutputStream("io-app\\src\\ps.text",true)); // 使用低级管道才能在文件中追加数据作用:打印流可以实现方便、高效的打印数据到文件中去,打印流一般是指:PrintS原创 2022-03-01 22:05:29 · 305 阅读 · 0 评论 -
2022Java学习笔记七十九(对象序列化:对象的反序列化、序列化版本号设置)
2022Java学习笔记七十九(对象序列化:对象的反序列化、序列化版本号设置)一、对象序列化作用:以内存为基准,把内存中的对象存储到磁盘文件中去,称为对象序列化使用到的流是对象字节输出流:ObjectOutputStream对象序列化必须实现Serializable接口示例代码创建学生对象并实现Serializable接口注意:如果对于一些敏感的信息不想参与反序列化保存到磁盘文件中的化,可以使用transient关键字来修饰成员变量不参与,不参与的成员变量在反序列化的时候就会输出【n原创 2022-03-01 21:14:55 · 426 阅读 · 0 评论 -
2022Java学习笔记七十八(IO流字符转换流:字符输入转换流、字符输出转换流)
2022Java学习笔记七十八(IO流字符转换流:字符输入转换流、字符输出转换流)一、字符输入转换流示例代码package com.zcl.d3_transfer_stream;import java.io.*;public class Demo { public static void main(String[] args) { // 目标:把原始字节流转换成字符输入流【按给定编码进行输入】 // 1、原始文件【abc.text】 GBK 格式原创 2022-03-01 20:28:24 · 882 阅读 · 0 评论 -
2022Java学习笔记七十七(IO流:缓冲流概念、字节、字符缓冲输出流,使用缓冲流完成输出排序txt案例)
2022Java学习笔记七十七(IO流:缓冲流概念、字节、字符缓冲输出流,使用缓冲流完成输出排序txt案例)一、缓冲流概念1、缓冲流也称为高效流、或者高级流。之前学习的字节流可以称为原始流2、作用:缓冲流自带缓冲区、可以提高原始字节流、字符流读写数据的性能二、字节换缓冲流字节缓冲流性能优化原理:1、字节缓冲输入流自带了8KB缓冲池,以后我们直接从缓冲池读取数据,所以性能较好。2、字节缓冲输出流自带了8KB缓冲池,数据就直接写入到缓冲池中去,写数据性能极高了。实例代码packag原创 2022-03-01 19:39:43 · 339 阅读 · 0 评论 -
2022Java学习笔记七十六(阶段项目实战一:系统角色准备)
2022Java学习笔记七十六(阶段项目实战一:系统角色准备)一、系统角色准备文件结构1、创建电影类package com.zcl.bean;import java.util.Date;/* 电影类 */public class Movie { private String name; // 影名 private String actor; // 主演 private double score; // 评分 private double ti原创 2022-02-28 15:56:59 · 225 阅读 · 0 评论 -
2022Java学习笔记七十五(日志框架、Logback日志框架、Logback快速入门、Logback配置讲解-输出位置、格式设置、Logback配置讲解)
2022Java学习笔记七十五(日志框架、Logback日志框架、Logback快速入门、Logback配置讲解-输出位置、格式设置、Logback配置讲解)一、日志技术具备的优势1、可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)2、可以随时以开关的形式控制算是否记录日志,无须修改源代码二、日志技术的体系日志规范:一些接口,提供给日志的实现框架设计的标准日志框架:牛人或者第三方公司已经做好的日志记录实现代码,后来者直接可以拿去使用目前学习的是Logback原创 2022-02-28 14:40:45 · 437 阅读 · 0 评论