java学习
文章平均质量分 75
-达达
小白一枚 向大佬们学习
展开
-
跟着大神学java第十六课,注解和反射(一)
文章目录注解和反射注解(Annotation)注解入门内置注解自定义注解和元注解**元注解**自定义注解反射静态 VS 动态语言动态语言静态语言Java Reflection反射的优缺点Class类Class类的常用方法获取 Class 类的实例哪些类型可以有 Class 对象注解和反射注解(Annotation)注解入门Annotation的作用不是程序本身,可以对程序作出解释可以被其他程序(编译器)读取Annotation的格式注解是以“@注释名”在代码中存在的,还可以添加一些参数原创 2021-12-21 10:56:16 · 416 阅读 · 0 评论 -
跟着大神学java第十五课,GUI编程(四)
GUI编程查看上篇内容:https://blog.csdn.net/weixin_42681553/article/details/121682018贪吃蛇游戏制作贪吃蛇需要:键盘监听定时器 Timer思路分析定义数据定义需要用到的属性(游戏是否开始,用来存放小蛇X轴和Y轴坐标的数组,小蛇的长度,小蛇运动的方向,事物的位置)画在面板上根据小蛇长度和运动方向动态变化X轴和Y轴的值并在图片数据中展示头的方向通过 Graphics 画笔绘制小蛇和食物增加监听事件键盘原创 2021-12-08 16:49:08 · 230 阅读 · 0 评论 -
跟着大神学java第十五课,GUI编程(三):
继续(二)的内容查看上篇内容:跟着大神学java第十五课,GUI编程(二):https://blog.csdn.net/weixin_42681553/article/details/121606751文章目录3、Swing3.1、窗口、面板3.2、弹窗3.3、标签3.4、面板3.5、按钮3.6、列表3.7、文本框小结3、Swing3.1、窗口、面板设置 JFrame 颜色、文本居中public class JFrameDemo { //init(); //初始化 pub原创 2021-12-02 17:22:20 · 786 阅读 · 0 评论 -
跟着大神学java第十五课,GUI编程(二)
继续(一)的内容文章目录2.5、输入框TextField监听2.6、简易计算器,组合+内部类回顾2.7、画笔2.8、鼠标监听事件2.9、窗口监听事件2.10、键盘监听事件2.5、输入框TextField监听public class TestText01 { public static void main(String[] args) { //启动 new MyFrame(); }}class MyFrame extends Frame{ p原创 2021-11-29 12:09:22 · 276 阅读 · 0 评论 -
跟着大神学java第十五课,GUI编程(一)
题外话:不知道为啥,标题“大佬”俩字无法使用了,那就更改为大神吧文章目录GUI编程1、简介2、AWT2.1、介绍(Abstact Window Tools)2.2、组件和容器1、frame2、面板Panel3、布局管理器4、事件监听GUI编程组件窗口弹窗面板文本框列表框按钮图片监听事件鼠标事件键盘事件破解工具1、简介Gui的核心技术: Swing AWT不流行原因:因为界面不美观需要jre 环境,过大为什么学习?了解MVC架构,了解监听可以写出自己心中原创 2021-11-16 15:08:32 · 443 阅读 · 0 评论 -
跟着大佬学java第十四课,网络编程详解
网络编程详解1.1、概述计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协助下,实现资源共享和信息传递的计算机系统。网络编程的目的:传播交流信息,数据交换,通信主要因素(想要达到效果需要什么):如何准确地定位网络上的一台主机 IP : 端口,定位到这个计算机上的某个资源找到了这个主机,如何传输数据javaweb:网页编程 B/S网络编程:TCP/IP C/S1.2、网络通信的要素原创 2021-10-27 09:20:08 · 127 阅读 · 0 评论 -
跟着大佬学java第十三课,多线程详解(四)
文章目录多线程详解Lock锁生产者消费者问题线程通信管程法信号灯法线程池线程池的使用多线程详解Lock锁从 JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前应先获得Lock对象ReentrantLock(可重入锁)类实现了Lock,原创 2021-09-28 12:36:08 · 263 阅读 · 0 评论 -
跟着大佬学java第十三课,多线程详解(三)
文章目录多线程详解线程状态观测线程状态的改变实例线程优先级守护线程守护线程实例线程同步队列和锁线程不安全实例实例一实例二实例三同步方法与同步块同步方法同步块实例一实例二实例三死锁实例多线程详解线程状态观测Thread.State线程状态:NEW new尚未启动的线程处于此状态RUNNABLE runnable在Java虚拟机中执行的线程处于次状态BLOCKED blocked被阻塞等待监视器锁定的线程处于此状态WAITING waiting正在等待另一个线程原创 2021-09-28 12:33:54 · 362 阅读 · 0 评论 -
跟着大佬学java第十三课,多线程详解(二)
文章目录多线程详解静态代理lamda表达式lambda推导及化简线程状态线程停止线程休眠线程 礼让线程强制执行_join多线程详解静态代理静态代理简单来说,就是不直接通过方法体中的真实类实现所有的方法,而通过另外的类去实现,同时在实现前后可以增加其他额外的方法接口A,方法a,无实现真实方法体B继承A接口,方法b重写方法a,实现主要方法体代理方法体C继承A接口,定义接口A用于接收传入的真实对象,方法c重写方法a,并在方法c前后增加方法c1和c2,方法c1、方法c2的调整并不影响B,B的调整也不影原创 2021-09-08 17:37:39 · 78 阅读 · 0 评论 -
跟着大佬学java第十三课,多线程详解(一)
线程、进程、多线程程序 进程 线程Process (进程) 与 Thread (线程)程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念进程则是执行程序的一次执行过程,它是一个动态的概念。是系统哦资源分配的单位通常在一个进程中可以包含若干个线程。当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位。核心概念线程就是独立的执行路径在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程main()称之为主线程,为系统的入口原创 2021-09-03 09:16:40 · 222 阅读 · 0 评论 -
跟着大佬学java第九课,异常处理
文章目录异常处理详解什么是异常简单分类异常/错误样例异常体系结构ErrorException异常处理机制抛出异常捕获异常try catch 用处自定义异常异常处理详解什么是异常实际工作中,遇到的情况不可能是非常完美的。用户输入不符合要求、打开的文件不存在、数据获取为空、内存或硬盘满了软件程序运行过程中,非常可能遇到这些异常问题,我们叫异常(Exception)异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等异常发生在程序运行期间,它影响了正常的程序执行流程简单原创 2021-08-27 15:29:51 · 312 阅读 · 0 评论 -
跟着大佬学java第八课,面向对象编程(三)
文章目录面向对象编程多态什么是多态多态样例instanceof关键字类型转换面向对象编程多态什么是多态动态编译:类型:可扩展性即同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的条件有继承关系子类重写父类方法父类引用指向子类对象多态是方法的多态,属性没有多态性instanceof 和 类型转换多态样例//父类public class Person { public void run(原创 2021-08-26 11:47:06 · 166 阅读 · 0 评论 -
跟着大佬学java第八课,面向对象编程(二)
文章目录面向对象编程封装详解什么是继承继承使用样例extends继承父类super继承父类方法的重写面向对象编程封装详解 思路 程序设计追求“高内聚,低耦合”。 高内聚:就是类的内部数据操作细节自己完成,不允许外部干涉; 低耦合:仅暴露少量的方法给外部使用 封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏 属性私有,get/set!!!//定义Student类public class Student {原创 2021-08-16 17:03:15 · 253 阅读 · 0 评论 -
跟着大佬学java第八课,面向对象编程(一)
文章目录面向对象编程什么是面向对象本质三大特性认识方法回顾方法的定义方法的调用代码演示异常抛出静态方法与非静态方法形参和实参值传递引用传递类与对象的关系创建与初始化对象代码演示构造器详解实例化对象创建构造器特点作用注意点小结面向对象编程什么是面向对象本质以类的方式组织代码,以对象的组织(封装)数据三大特性封装、继承、多态认识从认识论角度考虑是先有对象后又类。对象,是具体的事物。类,是抽象的,是对对象的抽象从代码运行角度考虑是先有类后有对象,类是对象的模板方法回顾方法的定义修饰符、原创 2021-08-09 11:03:24 · 443 阅读 · 0 评论 -
跟着大佬学java第七课,数组详解
文章目录数组的定义数组声明创建三种初始化及内存分析三种初始化数组的四个基本特点数组边界数组使用Fro-Each 循环数组作方法入参数组作为返回值多维数组Arrays类稀疏数组(数据结构)稀疏数组介绍稀疏数组转换数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下表来访问它们数组声明创建首先必须声明数组变量,才能在程序中使用数组。语法:dataType[] arratRefVar原创 2021-07-13 15:57:43 · 362 阅读 · 0 评论 -
跟着大佬学java第六课,Java方法详解
Java方法何谓方法System.out.println():类.对象.方法Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤得有序组合方法包含于类或对象中,方法在程序中被创建,在其他地方被引用设计方法的原则L方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我们后期的扩展方法的命名规则:驼峰式方法的定义Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片原创 2021-07-12 17:12:13 · 46 阅读 · 0 评论 -
跟着大佬学java第五课,Java流程控制(三)
break continuebreak在任何循环语句的主体部分,均可用break控制循环的流程,break用于强制退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)continue语句在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。goto关键字goto仍是java的一个保留字,但并未在语言中正式使用标签是指后面跟一个冒号的标识符,例如:labelJava中唯一用到标签的地方就是在循环语句之前,而在循环之前设置原创 2021-07-12 14:21:30 · 67 阅读 · 0 评论 -
跟着大佬学java第五课,Java流程控制(二)
while 循环while 是最基本的循环,它的结构为:while( 布尔表达式 ){ //循环内容}只要布尔表达式为true,循环就会一直执行下去我们大多数情况下会让循环停下来,我们需要一个让表达式失效的方式来结束循环少部分情况需要循环一直执行,比如服务器的请求响应监听等循环条件一直未true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!package Scanner;public class whileDem原创 2021-07-08 22:06:06 · 46 阅读 · 0 评论 -
跟着大佬学java第五课,与用户进行交互(一)
Scanner对象用户交互Scannerjava.util.Scanner可以通过Scanner类来获取用户的输入,与用户进行交互基本语法Scanner s = new Scanner(System.in);获取用户输入的字符串:通过Scanner类的next()与nextLine()方法,读取前一般需要使用hasNext()和hasNextLine()判断是否还有输入的数据实例//next()方法package Scanner;import java.util.Scanner;p原创 2021-05-29 10:13:35 · 120 阅读 · 0 评论 -
跟着大佬学java第四课,java基本语法(三)
基础运算符常用运算符 算数运算符:+, -, *, /, %, ++, -- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算符:&&,||,! 了解位运算符:&,|,^,~,>>,<<,>>> 了解条件运算符:?,: 了解扩展赋值运算符:+=,-=,*=,/= 运算符计算注意:优先级(.原创 2021-05-23 15:43:50 · 87 阅读 · 0 评论 -
跟着大佬学java第四课,java基本语法(二)
变量、常量、作用域变量定义数据类型 名称 = 定义值;例:String str = "hello world";局部变量使用之前必须声明和初始化值 public static void main(String[] args) { //局部变量 int i = 10; System.out.println(i); //输出10 } public void show{ System.ou...原创 2021-05-18 11:15:44 · 79 阅读 · 0 评论 -
跟着大佬学java第四课,java基本语法(一)
配置IDEA的环境,File--Project Structure--Project,选择SDK为本机安装的JDK,设置Project language level为对应等级,应用,确定在src右击新建java class,命名为HelloWorld,输入psvm,快捷创建主方法;输入sout,快捷创建输出方法通过IDEA运行第一个java程序——Hello,World!注释单行注释两个斜杠(//)为单行注释不会被执行,提供给程序开发人员多行注释/* */为多行注释.原创 2021-05-13 12:44:51 · 105 阅读 · 0 评论 -
跟着大佬学java第三课,我的第一个java程序——Hello,World!
HelloWord 在代码文件里创建Hello.java文件 后缀名改为.java文件 使用文本编辑工具打开,写入代码,并保存 public class Hello{ //类 public static void main(String[] args){ //主方法,参数 System.out.print("Hello,World!"); //方法内容为输出字符串 }} 运行cmd,在当前目录下编译文件命原创 2021-05-08 10:37:37 · 92 阅读 · 0 评论 -
跟着大佬学java第二课,java环境变量配置
介绍JDK : Java Development Kit java开发者工具JRE : Java Runtime Environment java运行时环境JVM : JAVA Virtual Machine java虚拟机架构开发环境配置安装JDK 8 安装 ORACLE官网下载 JDK 8 同意协议,选择对应版本,下载的到对应安装包 运行安装包 选择安装路径,记住安装路径 配置安装环境 找到我的电脑-->.原创 2021-05-08 10:37:19 · 61 阅读 · 0 评论 -
跟着大佬学java第一课,MarkDown语法/Typore的使用
目录Markdown快捷使用方法字体引用分割线图片超链接列表表格代码Markdown快捷使用方法字体Hello,World! 语法:粗体加两个星号Hello,World! 语法:斜体加一个星号Hello,World! 语法:斜体加粗三个星号Hello,World! 语法:删除线两个波浪号引用选择狂神说java,走向人生巅峰 语法:引用使用箭头>分割线 语法:三个 - 或三个 *...原创 2021-05-07 14:24:39 · 124 阅读 · 0 评论