- 博客(33)
- 资源 (1)
- 收藏
- 关注
原创 异常01:Error和Exception
参考博文 参考博文2 异常处理机制概述 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,任程序自生自灭,立即退出终止,还是输出错误给用户?Java提供了更加优秀的解决方法-----异常处理机制。 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 异常机制的本质就是当程序出现错误,程序安全退出的机制。 Java异常处理过程 Java是采用面向对象的方式来处理异常的,处
2021-01-03 15:45:50
275
原创 面向对象17:内部类
内部类 参考博文 内部类就是在一个类的内部定义一个类,比如,A类中定义一个B类,那么B类相对于A类来说就称为内部类,而A类对于B类来说就是外部类了。 内部类一般包括:成员内部类、局部内部类、匿名内部类和静态内部类 成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式: package com.oop.demo09; public class Outer { private int id = 10; public static String name =
2021-01-02 21:12:56
290
1
原创 面向对象15-16:抽象类、接口
抽象类 abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。 抽象方法:使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现 抽象类:包括抽象方法的类就是抽象类,通过abstract方法定义规范,然后要求子类必须定义具体实现,通过抽象类,我们可以做到严格限制子类的设计,使子类之间更加通用。 抽象类的使用要点: 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽
2020-12-27 21:46:15
211
1
原创 面向对象13-14:instanceof、类型转换、static关键字
instanceof运算符 instanceof运算符是二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建的对象时,返回true,否则,返回false。 package com.oop; import com.oop.demo06.Person; import com.oop.demo06.Student; import com.oop.demo06.Teacher; public class Application { public static void main(String[]
2020-12-20 20:19:22
165
原创 面向对象08-12:封装、继承、多态
封装 该露的露,该藏的藏 程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外界使用。 封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口访问,这称为信息隐藏。 ...
2020-12-18 17:12:07
183
原创 面向对象04-07:类与对象的创建、构造器详解、this关键字
类与对象 类与对象的关系 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体事物。 动物、植物、手机、电脑…… Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具有的特点和行为。 对象是抽象概念(类)的具体实例 潘潘就是人的一个具体实例,潘潘家里的旺财就是狗的一个具体实例。 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。 创建与初始化对象 使用new关键字创建对象 使用new关键字创建对象时,除了分
2020-11-19 21:58:12
185
原创 面向对象02:回顾方法的定义及调用(静态方法与非静态方法)
回顾方法及加深 方法的定义: 修饰符 返回值类型 break(跳出switch,结束循环)和return(结束方法)的区别 方法名:注意规范----首写字母小写的驼峰规则 参数列表:(参数类型,参数名) 异常抛出:后续讲解 package com.oop.demo01; import java.io.IOException; public class Demo01 { //main 方法 public static void main(String[] args){
2020-11-07 21:04:29
219
原创 面向对象01:什么是面向对象
面向过程和面向对象 相关博文 面向过程和面向对象不是对立的,而是相辅相成的。它们都是对软件分析、设计和开发的一种思想,指导着我们以不同的方式去分析、设计和开发软件。 面向过程思想:思考问题时,首先考虑“怎么按步骤实现”,并将步骤对应成方法,一步一步,最终完成。适合简单问题,不需要过多协作的情况。 比如:如何开车?第一步干什么,第二步干什么,……,车就开起来了,一个人就能完成。 面向过程思想:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节
2020-11-07 17:30:03
117
原创 Java数组09:稀疏数组
稀疏数组 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方式是: 记录数组一共有几行几列,有多少个不同值 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小小程序的规模 如图:左边是原始矩阵,右边是稀疏矩阵 package com.panpan.array; public class Demo06 { public static void main(String[] args) { //1.创建一个二维数
2020-11-06 21:43:43
194
1
原创 Java数组08:经典排序算法
参考博文 冒泡排序(必须熟练) 参考博文 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 每一次比较,都会产生一个最大,或者最小的数字。 下一轮则可以少一次排序。 依次循环,直到结束。 //冒泡排
2020-11-06 21:02:37
215
原创 Java数组05:数组的使用、多维数组、Arrays类
数组使用 普通For循环 For-each循环遍历数组 数组方法入参,即方法的形式参数是数组 数组作返回值 package com.panpan.array; public class Demo03 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5};//静态初始化 //使用for-each遍历数组,并打印 //JDK1.5 没有下标 for
2020-11-04 13:14:21
241
原创 Java数组01:数组的声明及创建、数组的初始化及内存分析
数组的定义 数组是相同类型数据的有序集合。 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。 数组声明创建 首先必须声明数组变量,才能在程序中使用数组, dataType[] arrayRefVar; //首选方法 或 dataType arrayRefVar[]; Java语言使用new操作符来创建数组,语法如下: dataType[] arrayRefVar = new dataType[arr
2020-11-01 20:50:41
204
原创 Java方法06:递归讲解
递归 递归的基本思想就是“自己调用自己” 递归的基本结构 递归头:什么时候不调用自身方法。如果没有递归头,程序将会陷入死循环。 递归体:什么时候需要调用自身方法。 注意事项 利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模大小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。 在要求高性能的情况下尽量避免使用递归,递归调用既花时间又耗内存。 任何能
2020-10-31 21:14:36
144
原创 Java方法04:命令行传递参数、可变参数
命令行传参 有时候希望运行一个程序的时候再传递给它消息,这就要靠传递命令行参数给main()函数实现。 可变参数 JDK1.5开始,Java支持传递同类型的可变参数给一个方法。 在方法声明中,在指定参数类型后加一个省略号(…)。 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明。 ...
2020-10-31 19:10:20
384
原创 Java方法01:方法的定义、调用、重载、值传递与引用传递
何谓方法? Java方法是语句的集合,它们一起执行一个功能 方法是解决一类问题的步骤的有序组合 方法包含于类和对象之中 方法在程序中被创建,在其他方法被引用 设计方法的原则:方法的本意是功能块,就是实现某种功能的语句块的集合。设计方法时,最好是一个方法只实现一个功能。 方法的定义 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 方法包括一个方法头和一个方法体 修饰符:可选,定义该方法的访问类型。 返回值类型:方法可能会有返回值类
2020-10-25 21:45:31
197
原创 Java流程控制12:打印三角形及Debug
打印三角形 public static void main(String[] args) { //打印三角形 5行 for (int i = 1; i <= 5 ; i++) { /*1.输出一个倒三角 ***** **** *** ** * */ for (i
2020-10-24 21:14:39
140
原创 Java流程控制11:break、continue、goto
break、continue break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用) package com.panpan.struct; public class BreakDemo { public static void main(String[] args) { int i = 0; while (i<3){ i++
2020-10-24 20:55:34
236
原创 Java流程控制03:顺序结构、选择结构、循环结构及应用
顺序结构 Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行 顺序结构是最简单的算法结构 语句与语句之间,框与框之间是按从上到下的顺序进行,它是由若干依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构 选择结构 if单选择结构 if双选择结构 if多选择结构 嵌套的if结构 switch多选择结构 if单选择结果 语法: if(布尔表达式){ //布尔表达式值为true时执行的语句 } if双选择结构 语法: if(布尔表达式){ //布尔表达
2020-10-23 10:01:24
345
原创 Java流程控制01:用户交互Scanner
Scanner对象 Scanner类可以获取用户的输入,实现程序与人的交互 基本语法 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般会使用hasNext()与hasNextLine()判断是否还有输入的数据 ...
2020-10-17 21:24:46
495
原创 Java基础11:包机制、JavaDoc生成文档
包机制 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间 一般利用公司域名倒置作为包名 package com.panpan.operator; 为了能够使用某一个包的成员,需要在Java程序中明确导入该包,使用“import”语句可完成此功能 import com.panpan.base.Demo;//导入com.panpan.base下的Demo类 import com.panpan.base.*;//导入com.panpan.base下的所有类 通常是类的第一句非注释语句
2020-10-16 17:12:50
301
原创 Java基础07:基本运算符
运算符 算术运算符:+,-,*,/,%,++,- - 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算符:&&,||,! 位运算符: &,|,^,~,>>,<<,>>>(了解) 条件运算符: ? : 扩展赋值运算符:+=,-=,*=,/= 二元运算符 运算规则: 整数运算: 如果操作数有一个为long,则结果也为long 没有long时,结果为int,即便操作数全为s
2020-10-14 13:22:35
236
1
原创 Java基础05:类型转换
类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 低---------------------------(字节容量)-------------------------------->高 byte、short、char --> int -->long --> float --> double 运算中,不同类型的数据先转换为同一类型,然后进行运算 强制类型转换:高—>低 public class Demo02 {
2020-10-12 13:17:57
177
原创 Java基础03:数据类型
数据类型 强类型语言 要求变量的使用严格符合规定,所有变量都必须先定义才能使用 弱类型语言 Java属于强类型语言 Java的数据类型分为两大类 基本类型(primitive type) 引用类型(reference type) 变量 变量是什么:就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域 注意事项: 每个变量都有类型,类型可以是基本类型,也可以是引用类型 变量名必须是合法的标识符 变量声明
2020-10-08 13:38:55
158
原创 Java基础01:注释、标识符、关键字
注释 注释并不会被执行,时给写代码的人看的 Java中的注释有三种: 单行注释:// 多行注释:/…/ 文档注释:/**…*/ public class HelloWorld { public static void main(String[] args) { //输出Hello,World!--单行注释 System.out.println("Hello,World!"); /*多行注释: 可以注释多行文字
2020-10-08 11:20:47
148
原创 Java程序运行机制
Java程序运行机制 计算机高级语言类型主要有编译型和解释型两种 编译型:操作系统、C、C++… 解释型:网页、服务器一些脚本(对速度要求不高) 理解: 如若想要看一本外文书 编译型:将整本翻译了再看 解释型:雇一个翻译官,边翻译边看 Java既有编译型的特征又有解释型的特征 Java首先利用文本编辑器编写Java源程序,源文件后缀名为.java,在利用编辑器将源文件编写成字节码文件,字节码文件后缀名为.class,最后利用虚拟机(解释器、java)解释执行。 ...
2020-10-07 14:59:22
141
原创 Hello World
Hello,World! 随便新建一个文件夹,存放代码 新建一个java文件 文件后缀名为.java Hello.java 【注意点】系统可能没有显示文件后缀名 编写代码 编译:javac java文件–>生成一个class文件 运行class文件:java class文件 可能会遇到的情况 每个单词的大小不能混淆,Java大小写敏感 尽量使用英文 文件名与类名必须保持一致,并且首写字母要大写 符号必须使用英文的 ...
2020-10-07 13:08:29
97
原创 JDK的安装与卸载
卸载JDK 删除Java的安装目录 我的电脑–>属性–>高级系统设置–>环境变量–>JAVA_HOME(放java的地方)–>找到jdk所在地址–>删除文件夹jdk 删除JAVA_HOME、Path 清除环境变量JAVA_HOME–>删除Path中与JAVA_HOME相关的环境变量 查看java -version 打开dos窗口–>java -version查看是否卸载成功 安装JDK 百度搜索JDK8(目前企业中普遍使用jdk7、
2020-09-29 22:19:21
151
原创 Java入门
三高问题:高可用、高性能、高并发 Java发展 基于Java开发的平台、系统、工具 构建工具:Ant、Maven、Jekins 应用服务程序:Tomcat、Jetty、Jboss、Websphere、webblogic Web开发:Struts、Spring、Hibernate、myBatis 开发工具:Eclipse、Netbean、intellij idea、Jbuilder 、、、 Java三大版本 JavaSE:标准版(桌面程序、控制台开发…) JavaME :嵌入式开发(手机、小家电…)
2020-09-28 22:09:44
126
原创 Dos命令
打开CMD的方式 开始+windows系统+命令提示符 Win+R 输入cmd打开控制台(推荐使用) 在任意的文件夹空白处,按住shift键+鼠标右键点击(在此处打开命令行窗口) 资源管理器的地址栏前面加上cmd+“空格”+路径 管理员方式运行 常用的Dos命令 #单击鼠标右键粘贴 #盘符切换 #查看当前目录下的所有文件 dir #切换目录 cd(change directory) #异盘切换:cd /d D:\Typora #同盘目录切换:cd 文件名 #返回上一级 cd+“空格”+..
2020-09-28 13:35:00
140
原创 Windows常用快捷键
Windows常用快捷键 alt+f4:关闭窗口 shift+delete:永久删除 windows+R:运行窗口 windows+E:打开我的电脑 ctrl+shift+esc:打开任务管理器 windows+tab:切换应用程序
2020-09-28 11:20:34
163
原创 MarkDown语法
Markdown学习 标题 三级标题 四级标题 字体 hello world! hello world! hello world! hello world! 引用 选择狂神说java,走上人生巅峰 分割线 图片 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBabLuGg-1601216553831)(C:\Users\Asher\Desktop\wo_code\qlearning-grid-result-20-8.png)] 超链接 点击跳转到我的博客 列表
2020-09-27 22:23:44
125
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅