Java
文章平均质量分 82
Tian-Ys
旅途哪有一帆风顺,但总是要勇往直前
展开
-
Day26 Java 设计模式、网络编程
设计模式设计模式分为三类:创建型:创建对象;结构型:对象的组成;行为型:对象的功能主要说创建型:1、单例模式:指的是在程序的运行过程中,内存中只允许一个对象存在如何保证内存中只允许一个对象存在:1、将构造方法私有化;2、在类的成员变量位置上创建一个对象;3、提供一个静态方法让外界能够获取到这个对象饿汉式:随着类的加载,对象就创建好了懒汉式(延迟加载):用的时候再去创建对象,但内存中始终只有一个对象懒汉式容易出现线程安全问题饿汉式举例:public class原创 2022-02-22 22:08:22 · 442 阅读 · 1 评论 -
Day25 Java 线程之间的通信
多线程(续)Lock锁同步代码块和同步方法虽然解决了线程安全问题,但表达不出在哪里加了锁,在哪里释放了锁,所以在JDK1.5之后提供了一个新的锁对象:LockLock是一个接口,其中有两个方法:void lock():加锁 ;void lock():释放锁在创建Lock对象需要使用他的实现类:ReentrantLock以电影院卖票为例:也就是解决线程安全问题的第二种方式import java.util.concurrent.locks.Lock;import java.uti原创 2022-02-21 21:52:36 · 163 阅读 · 0 评论 -
Day24 Java 多线程
多线程概述进程: 正在运行的程序,是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。线程: 是进程中的单个顺序控制流,是一条执行路径。一个进程如果只有一条执行路径,则称为单线程程序。一个进程如果有多条执行路径,则称为多线程程序。线程包含在进程中三个关键词:1、串行指的是一个程序中所有的任务都是按照先后顺序执行的,在前一个任务还没有处理完的情况下,是不会进行处理下一个任务的2、并行指的是将任务分给不同的处理器去处理,每一个处理器中再进行串行处理。原创 2022-02-19 22:16:39 · 177 阅读 · 0 评论 -
Day23 Java IO流
目录IO流IO流的分类:字节输入流FileInputStream的构造方法字节缓冲流加密解码:字符流字符流的分类字符输出流OutputStreamWriter的构造方法OutputStreamWriter 写数据的方法flush()与close()的区别:字符输入流InputStreamReader的构造方法InputStreamReader读数据的方法(成员方法)字符缓冲流字符缓冲输出流:BufferedWriter:字符缓冲输入..原创 2022-02-18 22:19:35 · 282 阅读 · 0 评论 -
Day22 Java IO流 File、IO流的字节输出流
File概述:想要实现IO流操作,就必须要知道硬盘上文件的表现形式Java提供了一个类让我们操作硬盘上的文件:File。File也就是文件的表现形式File:文件和目录(文件夹)路径名的抽象表示。File类的构造方法public File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。 如果给定的字符串是空字符串,则结果是空的抽象路径名。public File(String parent,String child)从父路原创 2022-02-17 22:34:01 · 236 阅读 · 0 评论 -
Day21 Java IO流 异常
异常Java程序出现不正常的情况异常的分类Java中的异常:Throwable严重的问题:Error,我们不处理,这样的问题一般都是很严重的,比如说内存溢出(OOM)问题:Exception(异常)分为编译时期异常与运行时期异常编译时期异常:除了RuntimeException都是编译时期异常,必须要处理,如果不处理,程序编译无法通过,无法运行运行时期异常:RuntimeException,这样的问题,一般情况下,我们不会对问题本身进行处理,因为这样的问题是在自己写代码的过程中由原创 2022-02-16 21:20:00 · 470 阅读 · 0 评论 -
Day20 Java Map接口的子类HashMap、TreeMap以及Collections工具类
Map下的子类HashMap与TreeMap,Collections工具类Map集合的嵌套原创 2022-02-15 22:26:00 · 197 阅读 · 0 评论 -
Day19 Java 泛型,增强for循环,Collection集合中Set接口的子类HashSet与TreeSet
泛型,泛型的优点Set的子类HashSet和TreeSet原创 2022-02-11 22:11:38 · 616 阅读 · 0 评论 -
Day18 常见的数据结构、List的子类ArrayList类、Vector类与LinkedList类
栈、队列、数组、链表、树、哈希表以及图的理解List的三个子类,ArrayLIst类,Vector类,LInkedList类原创 2022-02-11 21:42:30 · 244 阅读 · 0 评论 -
Day17 集合继承体系 Collection接口、 List接口,Iterator迭代器
集合,Collection,List,迭代器原创 2022-02-10 22:10:05 · 607 阅读 · 0 评论 -
Day16 Java 正则表达式、枚举
正则表达式,元字符,枚举以及枚举使用接口原创 2022-01-23 21:09:28 · 695 阅读 · 0 评论 -
Day15 Java StringBuffer类、基本类型包装类
StringBuffer类中的功能,基本包装类,Math类,日期类String与int类型之间的转换原创 2022-01-21 21:58:04 · 277 阅读 · 0 评论 -
Day14 Scanner概述 String字符串 及其构造方法与功能
String字符串中的各种构造方法及功能,功能案例原创 2022-01-20 22:43:54 · 793 阅读 · 0 评论 -
Day13 内部类以及常用类Object中的各种方法
内部类以及匿名内部类,常用类Object中的各种方法拷贝原创 2022-01-20 20:10:27 · 348 阅读 · 0 评论 -
Day12 Java 接口、引用数据类型作为形式参数
接口相关的介绍,引用数据类型分别作为返回值和形参时候的情况以及相关案例分层开发,类的基本组成可用修饰符介绍原创 2022-01-16 20:41:17 · 453 阅读 · 0 评论 -
Day11 Java 多态、抽象
多态:某一事物在不同时刻表现出来的不同状态。例如:水有液态,固态和气态等。多态的前提:1、要有继承关系2、要有方法的重写,没有重写意义不大。3、要有父类的引用指向子类的对象:父类名 f =new 子类名(。。。);多态访问成员的特点:1、成员变量 编译看左,运行看左2、构造方法 创建子类对象的时候,先访问父类中的构造方法,对父类的数据先进行初始化 3、成员方法 编译看左,运行看右。 因为成员方法存在重写,所以访问看右边4、静态成员方法 编译看左,运行也看左。 由于被stati原创 2022-01-15 22:49:33 · 233 阅读 · 2 评论 -
Day10 Java 代码块(封装)、继承
续封装内容:代码块:在Java中,被{}括起来的代码称之为代码块,根据其位置与声明的不同,分为四个代码块:局部代码块, 构造代码块,静态代码块,同步代码块。这里只讲解前三种,同步代码块位于多线程讲解。局部代码块:在方法中出现,限定变量的生命周期,及早释放,提高内存的使用。在同一个类中的同一个方法中,如果存在多个局部代码块,执行顺序是自上而下的。构造代码块:(在创建对象的时候调用)定义在类中方法外,当一个类中既存在构造代码块也存在构造的方法的时候,在创建对象时,会先执行构造代码块,原创 2022-01-14 22:58:24 · 195 阅读 · 0 评论 -
Day09 Java 封装 构造方法 标准类 帮助文档
构造方法:是一种特殊的方法作用:创建对象功能:完成对象数据的初始化注意事项:1、构造方法的创建:如果没有定义构造方法,系统将给出一个默认的无参构造方法;如果定义了构造方法,系统将不再提供默认的构造方法2、构造方法的重载:如果自定义了一个带参构造方法,还要使用无参构造方法,就必须再写一个无参构造方法、推荐:无论是否使用,都手工书写无参构造方法格式:修饰符 类名(参数){}以下为一个标准类3.0版本:标准类3.0版本:public class 类名{私有成员变量无原创 2022-01-12 11:08:28 · 256 阅读 · 1 评论 -
Java 从键盘输入并打印九九乘法表
九九乘法表的实现其实很简单,需要用到双重for循环,外层for循环控制要打印的行数,内层for循环控制每行的输出。具体实现分为两个步骤:1、从键盘输入你要打印的行数,根据你要打印的行数输出不同的九九乘法表,例如当在控制台输入5时,程序将打印九九乘法表的前五行。//定义一个类public class Jiu { public static void main(String[] args) { Scanner sc=new Scanner(System.in);原创 2022-01-11 13:57:56 · 1791 阅读 · 0 评论 -
Java 二分查找的实现及其递归调用
所谓二分查找就是在有序的数组中通过三个类似于指针的变量在数组中找到自己所想要查找的值。二分查找的分析:二分法查找的前提是数组有序。 假如有一组数为3,12,24,36,55,68,75,88要查给定的值24.可设三个变量front,mid,end分别指向数据 的上界,中间和下界,mid=(front+end)/2. 1)开始令front=0(指向3),end=7(指向88),则mid=3(指向36)。因为mid>x,故应在前半段中查找。 2)令新的end=mid-1=2,而front=0不原创 2022-01-10 21:34:03 · 331 阅读 · 0 评论 -
Java 冒泡排序的使用
冒泡排序是Java乃至其他大多语言中很普遍的一种排序方式,这种排序方式的目的是将数组中的元素按照从小到大的顺序进行排列。排序流程:不断比较两个相邻的元素,从第一个元素与第二个元素开始比较,若第一个元素大于后一个,则交换位置,将大的元素放在后面,再利用新的第二个元素与第三个元素作比较,重复前述操作,直到倒数第二个元素比较完毕,返回到新的第一个元素,开始新的一轮比较直到倒数第三个元素为止。排序思想:就是将数组中大的元素放到后面,第一轮循环之后,位置位于最后一位的元素就是本数组中最大的元素,因此不需要原创 2022-01-10 18:54:25 · 377 阅读 · 0 评论 -
Day07,08 Java面向对象 类与对象,三大特征第一特征:封装
类:类是对现实生活中的 一类具有共同属性和行为的事物的抽象类的特点:类是对象的数据类型类是具有相同属性和行为的对象的集合。属性:对象具有的各种特征,每个对象的属性都拥有特定的值。对象的行为:对象能够执行的操作。类与对象的关系:类是对现实生活中的 一类具有共同属性和行为的事物的抽象;对象是看得见摸得着的真实存在的实体。类是对象的抽象,对象是类的实体。类的定义:类的重要性:是Java程序的基本组成单位类的组成:属性和行为属性:在类中通过成员变量(类中方法外的变量)来体原创 2022-01-11 22:00:04 · 108 阅读 · 0 评论 -
Day04 Java 从键盘录入数据及流程控制语句if,switch语句,for,while循环等
从键盘输入需要三个步骤:1、导包:import java.until.Scanner;2、创建:原创 2022-01-06 21:19:17 · 1024 阅读 · 0 评论 -
Java 打印杨辉三角(从键盘输入行数)
首先我们需要写出从键盘输入的语句:IDEA中从键盘输入语句需要导包:import Java,util.Scanner;第二步在main()方法中创建键盘录入对象:Scanner sc=new Scanner(System.in);第三步写出从键盘输入语句:int n=sc.nextInt();第四步定义一个二维数组存放杨辉三角各个位置上的值,然后利用for循环首先创建好杨辉三角前两行的值,由于杨辉三角首尾的值都是1,所以我们先将1赋值进入存放杨辉三角前两行位置以及所要打印的各行的首尾位置对应原创 2022-01-09 19:03:33 · 2380 阅读 · 0 评论 -
Day06 Java 数组与二维数组
数组:存储同一数据类型的元素的集合,数据可以存储基本数据类型,也可以存储引用数据类型定义格式:格式1:数据类型[] 数组名;格式2:数据类型 数组名[];推荐使用第一种,辨识度高java中的数组必须初始化然后才能使用。初始化就是为数组中的数据元素分配内存空间并为每个数组元素赋值。初始化分为动态初始化与静态初始化1、动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。格式:数据类型[] 数据名 = new 数据类型[元素的个数];数组长度其实就是数组中元素的个数。原创 2022-01-08 20:44:39 · 234 阅读 · 0 评论 -
Day05 Java语法 方法
一、方法:完成特定功能的代码块;定义的语句格式:修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2){函数体;return 返回值;}名词解释:修饰符:目前需要记住组合:public static返回值类型:return:此处的return的作用是表示方法结束将计算好的结果返回给调用者,return返回的结果数据类型必须要和方法定义的返回值数据类型一致返回值类型:定义return返回的数据类型方法名:给方法起名字...原创 2022-01-07 22:23:46 · 390 阅读 · 0 评论 -
Day03 Java基础语法[下] 运算符的使用及其相关案例
运算符:算术运算符:+,-,*,/(取整),%(取余/模),++(自增1),--(自减1);+号的用法:1、当加号两边都是数字或者是数字和字符的时候,此时的+号是做的加法运算。2、当加号两边其中一边是字符串时,此时做的是字符串拼接,拼接后是一个新的字符串。3、字符串与任意数值做加法运算,做的是字符串拼接,拼接后是一个新的字符串4、-,*,/,%运算规则同加法基本相同,但在除法运算时注意:整数相除,只能得到整数;要想得到小数需要*1.0.案例1:字符串与数值的加法public原创 2022-01-05 14:43:52 · 255 阅读 · 0 评论 -
Day03 Java基本语法[中] 变量,数据类型与基本运算符
一、变量:在程序执行过程中,其值可以改变的量叫变量定义变量的格式:1.数据类型 变量名 = 初始化值;2.数据类型 变量名;变量名 = 初始化值;定义变量要注意变量的作用域,变量在同一个大括号内有效;同一作用域内不可出现两个同名变量;没有初始值不可直接使用;强制定义一行定义一个变量。二、数据类型:基本数据类型:整数类型:byte,空间1个字节,可表示范围为-2^7 ~ 2^7-1short,空间2个字节,可表示范围为-2^15 ~ 2^15-1int,空间4.原创 2022-01-04 21:37:56 · 111 阅读 · 0 评论 -
Day02 Java基础语法[上] 关键字,标识符的认识及进制之间的转换等
Java语法:关键字:标识符:原创 2022-01-03 21:23:33 · 247 阅读 · 0 评论 -
path环境变量的配置
右击我的电脑--点开属性--高级系统设置原创 2022-01-03 14:59:00 · 975 阅读 · 0 评论