![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 364 阅读 · 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 · 464 阅读 · 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 · 108 阅读 · 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 · 129 阅读 · 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 · 227 阅读 · 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 · 195 阅读 · 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 · 138 阅读 · 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 · 153 阅读 · 0 评论 -
20200724异常
异常一.异常的基本概述1.含义:2.异常的体系结构3.常见的运行时异常二.java的异常处理三.异常常用语句 一.异常的基本概述 1.含义: 异常是指程序运行中所发生的的不正常事件 2.异常的体系结构 Error类:仅靠程序本身是无法恢复的的严重错误 Expection类:有java程序抛出的和处理的非严重错误 运行时异常; Checked异常。 3.常见的运行时异常 Exception:异常层次结构的父类 ArithmeticException:算术异常 NullPointerException:空原创 2020-07-26 13:46:08 · 76 阅读 · 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 · 71 阅读 · 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 · 115 阅读 · 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 · 88 阅读 · 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 · 68 阅读 · 0 评论 -
20200717类的定义和对象的创建
这里写目录标题一.面向对象的基本概念二.类三.创建对象和使用对象 一.面向对象的基本概念 Java是面向对象的语言 面向对象三大特征:封装,集成,多态 对象:是用来描述客观事物的实体 类:具有相同属性和方法的一组对象的集合,类定义了对象将会拥有的特征(属性)和行为(方法) 对象和类的关系: 类是对象的抽象,对象是类的具体 类是具有相同特征的对象的集合 对象是类的实体 二.类 定义类:[访问修饰符] class 类名{};注意:类名的首字母大写 属性:[访问修饰符]数据类型 属性名;public int原创 2020-07-19 15:16:48 · 226 阅读 · 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 · 182 阅读 · 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 · 925 阅读 · 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 · 148 阅读 · 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 · 863 阅读 · 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 · 180 阅读 · 0 评论 -
20200710多重循环与跳转语句(break,continue以及return的使用)
多重循环: 一个循环体内又包含另一个完整循环结构: 1. 2. 3. 4. 多重循环注意点: 各循环可互相嵌套 一般不超过三层,127() 外层循环变量变化一次,内层循环变量也要变化一遍 跳转语句: ...原创 2020-07-10 22:57:28 · 377 阅读 · 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 · 1311 阅读 · 0 评论 -
20200709循环结构(while,do-while,for)
java的循环结构: 循环结构图: while程序基本步骤://1.定义一个变量//2.使用变量进行判断,只要满足,执行某块代码 //3.改变变量以改变条件的结果,达到退出循环的目的; while流程图: do-while流程图: for流程图 ...原创 2020-07-09 18:56:54 · 115 阅读 · 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 · 154 阅读 · 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 · 245 阅读 · 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 · 199 阅读 · 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 · 277 阅读 · 0 评论