Java
java基础,面向对象和高级特性
May--J--Oldhu
这个作者很懒,什么都没留下…
展开
-
20200807(反射机制和XML,正则表达式,懒汉和饿汉模式)
反射机制和XML一.反射机制1.定义2.反射的3个动态性质3.通过反射实现的功能4.java反射常用API5.反射的应用二.XML1.特点2.作用3.XML文档结构4.XML编写注意事项5.使用DOM解析XML三.正则表达式四 .懒汉模式和饿汉模式一.反射机制1.定义是指在运行状态中,动态获取信息以及动态调用对象方法的功能2.反射的3个动态性质1.运行时生成对象实例2.运行时调用方法3.运行时更改属性3.通过反射实现的功能1.在运行时判断任意一个对象所属的类2.在运行构造任意一个类的对象原创 2020-08-09 16:21:00 · 580 阅读 · 0 评论 -
20200805多线程习题(多线程计算素数个数,多线程实现多个文件同步复制功能)
1.package zuoye1;/** * @author Oldhu * @date @Date 2020/8/5 * @des */public class TestThread extends Thread { @Override public void run() { for (int i = 0; i <20 ; i++) { System.out.println((i+1)+",你好,来自线程"+Thread.cur原创 2020-08-09 15:53:48 · 489 阅读 · 0 评论 -
20200805(线程)
线程一.进程1.程序(Program)2.进程(Process)3.特点:二.线程1.含义2.好处3.进程和线程的联系与区别4.线程的步骤5.创建线程的三种方式6.线程的状态7.线程调度8.线程同步9.线程间通信一.进程1.程序(Program)是对数据描述与操作的代码的集合2.进程(Process)是程序的一次动态执行过程3.特点:1.进程是系统运行程序的基本单位2.每一个进程都有自己独立的一块内存空间,一组系统资源3.每一个进程的内部数据和状态完全独立二.线程1.含义线程是进程中原创 2020-08-09 15:36:51 · 117 阅读 · 0 评论 -
20200803(IO流)
IO流一.File类1.File类的构造方法2.File的常用方法3.使用File类操作文件和目录二.流(Stream)1.含义2.字节输入流InputStream常用方法读文本文件(使用FileInputStream)3.字节输出流OutoutStream常用方法写文本文件(使用FileOutputStream)4.字符输入流Reader5.字符输出流Writer6.二进制文件的读7.二进制文件的写三.序列化1.使用对象输出流(ObjectOutputStream)2.反序列化:使用对象输入流(Objec原创 2020-08-09 15:18:24 · 144 阅读 · 0 评论 -
20200731实用类(Rndom类,String类,StringBuffer类和StringBuilder类,日期和时间)
Rndom类,String类,StringBuffer类和StringBuilder类,日期和时间一.Random类二.String类常用方法:三.StringBuffer类和StringBuilder类主要方法四.日期和时间1.Date类2.Calendar类一.Random类获取随机数:Random rand=new Random();int num=rand.nextInt(10);二.String类常用方法:1.字符串长度:str.length();2.字符串比较:str1.equa原创 2020-08-06 10:31:26 · 303 阅读 · 0 评论 -
20200730实用类介绍(枚举类型,包装类,Math类)
实用类介绍(枚举类型,包装类,Math类)一.枚举类型(Enum)1.定义2.定义枚举语法格式3.好处二.包装类1.定义2.作用3.包装类和基本数据类型的转换三.Math类一.枚举类型(Enum)1.定义由一组固定的常量组成的类型,使用关键字enum定义2.定义枚举语法格式[Modifier]enum enumName{enumContantName1[,enumContantName2[;]]//[field,method]}枚举常量之间以逗号隔开,如果除了枚举常量还定义了其他成员,则枚原创 2020-07-30 19:58:04 · 379 阅读 · 0 评论 -
20200729集合框架与泛型(Iterator接口,Map接口,Collection类和泛型)
集合框架与泛型(Iterator接口,Map接口,Collection类和泛型)一.Iterator接口二.Map接口1.HashMap实现类三.Collection类1.对集合元素排序和查找2..替换集合元素四.泛型五.快速排序一.Iterator接口1.hasNext()方法:判断是否存在下一个可访问的元素,如果仍有元素可以迭代,则返回true.2.next()方法:返回要访问的下一元素3.步骤:导入Iterator接口使用集合的iterate()返回Iterator对象while循环遍原创 2020-07-30 19:42:38 · 295 阅读 · 0 评论 -
20200728集合框架与泛型(List和Set)
集合框架与泛型(List和Set)一.集合集合定义二.List接口1.ArrayList2.LinkedList三.Set接口1.HashSet实现类(1)特点(2)基本步骤一.集合集合定义1.集合:解决数组中固定长度不变,无法获取实际存储元素个数,查找效率比较低的问题而引入java集合框架2.Collection接口是最基本的集合接口,可以存储一组不唯一,无序的对象。二.List接口List接口继承Collection接口,是存储可重复的有序的对象1.ArrayList底层是可变数组,遍原创 2020-07-30 19:20:51 · 272 阅读 · 0 评论 -
20200724异常
异常一.异常的基本概述1.含义:2.异常的体系结构3.常见的运行时异常二.java的异常处理三.异常常用语句一.异常的基本概述1.含义:异常是指程序运行中所发生的的不正常事件2.异常的体系结构Error类:仅靠程序本身是无法恢复的的严重错误Expection类:有java程序抛出的和处理的非严重错误运行时异常;Checked异常。3.常见的运行时异常Exception:异常层次结构的父类ArithmeticException:算术异常NullPointerException:空原创 2020-07-26 13:46:08 · 86 阅读 · 0 评论 -
20200723抽象类和接口
抽象类和接口一. 抽象类和抽象方法1.抽象类2.抽象方法3.抽象类和抽象方法的使用二.接口1.定义接口2.实现接口3.接口特性4.抽象类与接口一. 抽象类和抽象方法1.抽象类1.被关键字abstract修饰## 二级目录2.抽象类不能被实例化3.包含属性和方法,方法分为普通方法和抽象方法4.public abstract class 类名称{修饰符 abstract 返回类型 方法名();修饰符 返回类型 方法名(){方法体}}2.抽象方法1.[访问修饰符]abstract<原创 2020-07-26 13:36:01 · 81 阅读 · 0 评论 -
20200722方法重写与多态
方法重写与多态一.方法重写1.原因2.重写3.方法重写规则(子类继承父类时)4.方法重写和方法重载二.Object类1.Object类是所有类的父类2.Object类被子类经常重写的方法三.多态1.含义2.抽象方法3.向上转型4.向下转型5.多态的应用一.方法重写1.原因如果父类继承不能满足子类的需求,可以在子类中对父类的同名方法进行重写,以符合需求2.重写子类根据父类继承方法进行重新编写;重写时,可以用super。方法的方式来保留父类的方法;构造方法不能被重写。3.方法重写规则(子类继承父原创 2020-07-26 13:21:47 · 326 阅读 · 0 评论 -
20200721封装与继承
这里写目录标题一.封装1.概念2.封装步骤(1).修改属性的可见性(2)设置setter和getter()方法(3)在setter方法中加入属性控制语句,对属性值的合法性进行判断3.封装的好处二.包1.作用2.包的定义3.命名规范4.导入包三.static关键字1.成员变量2.成员方法3.代码块4.注意点四.继承1.基本概念2.作用3.Super 关键字调用父类成员4.继承条件下的构造方法一.封装1.概念将类的状态信息隐藏在类的内部,不允许外部程序直接访问,只能通过该类提供的方法来实现对隐藏信息的操作原创 2020-07-22 11:20:23 · 97 阅读 · 0 评论 -
20200720方法和方法重载
升级类的功能一.成员方法1.带参数的方法1.方法的结构2.参数2. 方法重载1.定义2.特点二.成员变量1.成员变量的作用域2.局部变量的作用域3.成员变量和局部变量的区别3.数据类型三.构造方法1.构造方法定义2.构造方法的重载3.this关键字一.成员方法注:类成员主要包括成员方法和成员变量1.带参数的方法1.方法的结构[访问修饰符] 返回值类型 方法名([参数列表]){代码;[return 具体的返回值;]}2.参数基本数据类型做参数时,传递的是值,不能出方法的范围;引用数据类型原创 2020-07-22 11:02:21 · 80 阅读 · 0 评论 -
20200717类的定义和对象的创建
这里写目录标题一.面向对象的基本概念二.类三.创建对象和使用对象一.面向对象的基本概念Java是面向对象的语言面向对象三大特征:封装,集成,多态对象:是用来描述客观事物的实体类:具有相同属性和方法的一组对象的集合,类定义了对象将会拥有的特征(属性)和行为(方法)对象和类的关系:类是对象的抽象,对象是类的具体类是具有相同特征的对象的集合对象是类的实体二.类定义类:[访问修饰符] class 类名{};注意:类名的首字母大写属性:[访问修饰符]数据类型 属性名;public int原创 2020-07-19 15:16:48 · 239 阅读 · 0 评论 -
20200715基本排序算法(选择排序,插入排序,冒泡排序,二维数组与Arrays类)
基本排序算法,二维数组与Arrays类一.基本排序算法1.选择排序2.插入排序3.冒泡排序二. 二维数组1.定义二维数组2.遍历二维数组三.Arrays类1.基本用法一.基本排序算法1.选择排序基本思路:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕public class Test1 { public static void main(String[] arg原创 2020-07-16 10:47:26 · 189 阅读 · 0 评论 -
20200714一维数组的经典例题(成绩的最高分,最低分;猜中数字游戏;数组的增添改查;)
一.计算5名同学成绩的总分,平均分,最高分,最低分实现步骤:定义一个长度为5的整型数组;定义两个float类型变量,用于保存总成绩、平均分,初始值为0;定义两个int类型变量,用于保存最高分和最低分,初始值为0;从控制台接收5名同学的成绩;通过循环使数组的5个元素相加得到总成绩;通过循环遍历数组并比较元素大小,得到最高分和最低分。public class Zuoye1 { public static void main(String[] args) { int s原创 2020-07-14 19:59:57 · 937 阅读 · 0 评论 -
20200714一维数组
一维数组一.数组的定义与基本使用二.数组的基本使用1. 数组的遍历(计算30位同学的平均分,同时打印每一个分数)2.数组中插入数值(有一组学员的成绩{99,85,82,63, 60},将它们按降序排列,要增加一个学员的成绩,将它插入成绩序列,并保持降序)一.数组的定义与基本使用二.数组的基本使用1. 数组的遍历(计算30位同学的平均分,同时打印每一个分数)public class Test1 { public static void main(String[] args) {原创 2020-07-14 19:32:55 · 159 阅读 · 1 评论 -
20200713多重循环经典例题(输出素数;水仙花数;分解质因数;s=a+aa+aaa+aaaa+aa...a;“完数”;排列;完全平方数,逆序;回文数;靠右输出九九乘法表;)
一.判断2-100之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到 (这个数),如果能被整除,则表明此数不是素数,反之是素数?思路:素数:只能被1和其本身整除;合数:除了1和它本身之外,还有其他因数1.任意一个数如何判断其是不是质数2.从2~100循环执行判断3.计数器加1,同时打印该质数public class Zuoye1 { public static void main(String[] args) { int k=原创 2020-07-13 18:27:29 · 873 阅读 · 0 评论 -
20200710多重循环和跳转语句经典例题(图形,九九乘法表,输出星期几)
1.通过循环画出相应图形public class Lianxi { public static void main(String[] args) { for(int i=1; i<=5;i++){ for(int j=1;j<=5;j++){ System.out.print("* "); } System.out.print("\n"); }原创 2020-07-10 23:15:30 · 190 阅读 · 0 评论 -
20200710多重循环与跳转语句(break,continue以及return的使用)
多重循环:一个循环体内又包含另一个完整循环结构:1.2.3.4.多重循环注意点:各循环可互相嵌套一般不超过三层,127()外层循环变量变化一次,内层循环变量也要变化一遍跳转语句:...原创 2020-07-10 22:57:28 · 382 阅读 · 0 评论 -
2020709循环结构经典例题(猴子吃桃;计算 1+2-3+4-5+6-7....+100的结果;对折纸张超珠穆朗玛峰的高度)
一. 猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃一个,以后每天都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?public class Zuoye2{ public static void main(String[] args) { int i=1; int num=1; while(i<=9){原创 2020-07-09 19:06:37 · 1324 阅读 · 0 评论 -
20200709循环结构(while,do-while,for)
java的循环结构:循环结构图:while程序基本步骤://1.定义一个变量//2.使用变量进行判断,只要满足,执行某块代码 //3.改变变量以改变条件的结果,达到退出循环的目的;while流程图:do-while流程图:for流程图...原创 2020-07-09 18:56:54 · 130 阅读 · 0 评论 -
20200708选择结构(if语句和switch语句)
java有三种流程控制结构:1.顺序结构:指程序从上到下依次执行每条语句的结构;2 .选择结构:根据条件判断的结果来执行不同的代码。3.循环结构:根据判断条件来重复性执行某段代码。选择结构:注意:1.if-else语句由if和紧随其后的else组成;2.else子句不能单独使用,它是if的一部分;3.switc语句中如果case后面没有break语句,程序将继续向下执行,直到遇到break语句或者switch语句结束。某位同学的成绩状况:public class Demo4 {原创 2020-07-08 19:20:37 · 166 阅读 · 0 评论 -
20200707判断卡号是否符合要求以及会员卡号是否中奖
判断卡号是否符合要求以及会员卡号是否中奖条件判断和类型转换:1.将字符串类型转成int类型:int No=Integer.parseInt(custNo);2.代码:import java.util.Scanner;public class Lucky {public static void main(String[] args) {String custNo;System.out.println("请输入4位卡号:");Scanner input=new Scanner(System.原创 2020-07-08 11:13:03 · 252 阅读 · 0 评论 -
20200707变量和数据类型
变量和数据类型一.变量名的命名规则1.标识符:用来为程序中的常量,变量,类,方法,接口和包命名标识符变量名命名规则:“字下美人数,骆驼,有意义”“字”:字母a-z A-Z“下”:下划线_“美”:美元符$“ 人”:人命币¥“数”:数字0-9变量名:由“字下美人数”组成,不能以数字开头骆驼:驼峰命名法className一般用小写字母开头2.变量的基本数据类型数值型 :(1)整形:(int)byte,short, int,long(2)非整形(浮点数):(double)flo原创 2020-07-07 19:59:30 · 213 阅读 · 0 评论 -
20200706JDK的安装及配置环境变量
JDK的安装及配置环境变量1.JDK的下载和安装 通过Oracle 的官方网站下载JDK进行安装,网址: https://www.oracle.com/java/technologies/javase-downloads.html 下载后在默认路径下直接安装即可。出现如下图文件夹既安装成功2.JDK环境变量的设置(1)打开此电脑,右击点击属性—>高级系统设置—>环境变量(2)在系统变量中点击新建,添加环境变量新建JAVA_HOME 值为:C:\Program Files\原创 2020-07-06 22:42:58 · 292 阅读 · 0 评论