- 博客(35)
- 收藏
- 关注
原创 异常--捕获和抛出异常
异常处理机制抛出异常捕获异常异常处理五个关键字:try、catch、finally、throw、throwstry…catch快捷键:ctrl+alt+tpackage com.exception;public class Demo01 { public static void main(String[] args) { new Demo01().a(); //运行报错 error } public void a(){ b();
2022-02-26 17:52:58
1663
原创 异常--Error、Exception
什么是异常实际工作中,遇到情况不可能是非常完美的。比如:写的某个模块,用户输入不一定符合你的要求,你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库数据,数据可能是空的等软件程序在运行过程中,非常可能遇到一些异常问题,叫做异常(Exception)异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等异常发生在程序运行期间,它影响了正常的程序执行流程分类检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的,例如
2022-02-26 17:51:30
376
原创 面向对象--抽象类、接口、内部类
抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类·,那么该类就是修饰类抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类抽象类不能用new关键字来创建对象,它是用来让子类继承的抽象方法只有方法的声明,没有方法的实现,它是用来让子类实现的子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则,该子类也要声明为抽象类package com.oop.demo11;public class Application {
2022-02-26 15:26:40
210
原创 面向对象--static关键字
staticpackage com.oop.demo10;public class Person { { //代码块(匿名代码块) //程序在执行的时候不能并不能主动调用 在构造器之前 } static { //静态代码块 类一加载就直接执行 只执行一次 } //加载顺序 :静态代码块>匿名代码块>构造方法 //2 一般可以赋初始值 { System.out.println("匿名代
2022-02-26 15:24:25
138
原创 面向对象--多态
多态同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用(一般是父类或者有关系的类)的类型有很多多态存在条件有继承关系子类重写父类方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态性instanceof (类型转换)引用类型,判断一个对象是什么类型动态编译:类型:可扩展性instanceofpackage com.oop.demo09;public class Application { public
2022-02-26 15:22:45
168
原创 面向对象--继承
继承继承的本质是对某以批类的抽象,从而实现对现实世界更好的建模extents的意思是“扩展”,子类是父类的扩展Java中类只有单继承,没有多继承 。一个儿子只能有一个爸爸,爸爸可以有多个儿子继承是类和类之间的一种关系。初次之外,类和类之间的关系还有依赖、组合、聚合等继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extents来表示子类和父类之间,从意义上讲应该具有“is a”的关系object类 在Java中,所有的类都默认直接或者间接继承obje
2022-02-26 15:21:41
131
原创 面向对象--封装
封装该露的露,该藏的藏程序设计要追求“高耦合,低内聚”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用封装(数据的隐藏)通常,应该禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这称为信息隐藏属性私有,get/setpackage com.oop.demo04;/*封装作用:1.提高程序的安全性,保护数据2.隐藏代码的实现细节3.统一接口4.提高系统的可维护性 */public class Applica
2022-02-26 15:18:45
162
原创 面向对象-类与对象的创建、构造器
面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面对过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索面向对象适合处理复杂的问题,适合处理需要多人协作的问题对于描述复杂的事务,为了把宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理什么是面向对象
2022-02-26 15:17:22
136
原创 Java数组--稀疏数组
稀疏数组当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组稀疏数组的处理方式是:记录数组一共有几行几列,有多少不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模如下图:左边是原始数组,右边是稀疏数组package com.tao.array;public class ArrayDemo08 { /*0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 00 0 0 2 0 0 0
2022-02-22 14:48:09
595
原创 Java数组--冒泡排序
冒泡排序冒泡排序无疑是最为出名的排序之一,总共有八大排序冒泡的代码,两层循环,外层冒泡轮数,里层依次比较看到嵌套循环,应该就可以得出这个算法的时间复杂度O(n2)package com.tao.array;import java.util.Arrays;public class ArrayDemo07 { public static void main(String[] args) { int[] a={11,2,2,2,72,33,64,51};
2022-02-22 14:45:27
226
转载 Java数组--Arrays类
Arrays 类数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以提供我们调用,但API中提供 了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作查看JDK帮助文档Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意:是“不用”而不是“不能”)具有以下常用功能:给数组赋值:通过fill方法对数组排序:通过sort方法,按升序比较数组:通过equals方法比较数组中元素值
2022-02-22 14:43:54
232
原创 Java数组--数组的使用
数组使用普通的For循环For-Each循环数组作方法入参数组作返回值多维数组多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组二维数组int a[][]=new int[2][3];解析:以上二维数组a可以看成一个两行五列的数组多维数组的使用num[1][0];package com.tao.array;public class ArrayDwmo05 { public static void main(Str
2022-02-22 14:42:44
211
原创 Java数组--基本特点
数组的四个基本特点其长度是确定的。数组一旦被创建,它的大小就是不可以改变的=其元素必须是相同类型,不允许出现混合类型数组总的元素可以是任何数据类型,包括基本类型和引用类型数组变量属引用类型,数组也可以看成是对象,数组中每个元素相当于该对象的成员变量数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的数组边界下标的合法区间:[0,lengrh-1],如果越界就会报错;public static void main(String[
2022-02-22 14:41:05
182
原创 三种初始化及存分析
内存分析Java内存分析:堆存放new的对象和数组可以被所有的线程共享,不会存放别的对象引用栈存放基本变量类型(会包含这个基本类型的具体数值)引用对象的变量(会存放这个引用在堆里面的具体地址)方法区可以被所有的线程共享包含了所有的class和static变量三种初始化静态初始化int[] a={1,2,3};Man[] mans={new Man(1,1),new Man(2,2)};动态初始化int[] a = new int[2];
2022-02-22 14:39:18
421
原创 Java数组--数组的概述
数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数组元素可以通过一个下标来访问它们数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[]arrayRefVar;//首选的方法或dataType arrayRefVar[];//效果相同 Java语言使用new操作符来创建数组,语法如下:dataType[] arrayRefVar=new dataType[
2022-02-22 14:37:41
238
原创 Java方法
何谓方法?System.out.println:调用系统类中的标准输出对象out中的方法printlnsystem:一个系统的类,out:对象println:方法Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于后期的扩展方法的定义Jav
2022-02-20 21:48:18
112
原创 Java流程控制--break-continue-goto
break continuebreak在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定关于goto关键字goto关键字很早就在程序设计语言中出现,尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto,然而,在break和continue这
2022-02-20 21:43:05
235
原创 Java流程控制--For循环
For循环虽然所有循环结构都可以用while或者do…while表示,但Java提供了另一种语句——for循环,使一些循环结构变得更加简单for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构for循环执行的次数是在执行前就确定的、语法格式如下:for(初始化;布尔表达式;更新){ //代码语句}1.计算0到100之间的奇数和偶数的和2.用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个数3.打印九九乘法表计算0到100之间的奇数和偶
2022-02-19 14:34:06
449
原创 Java流程控制--DoWhile循环
do…while循环对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次do…while循环和while循环相似,不同的是,do…while循环至少会执行一次do{ //代码语句}while(布尔表达式);while和do…while的区别while先判断后执行。do…while先执行后判断do…while总是保证循环体会被至少执行一次,这是他们的主要区别package com.tao.struct;public
2022-02-19 14:31:25
276
原创 Java流程控制--while循环
while循环while是最基本的循环,它的结构为:while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去大多数情况是会让循环停止下来的,需要一个表达式失效的方式来结束循环少部分情况需要循环一直执行,比如服务器的请求响应监听等循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃计算1+2+3+…+100=?package com.tao.struct;public
2022-02-19 14:29:40
338
原创 Java流程控制--Switch多选择结构、反编译
Switch多选择结构多选择结构还有一个实现方式就是switch case语句switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支switch语句中的变量类型可以是:byte、short、int或者char从Java SE 7开始switch支持字符串String类型同时case标签必须为字符串常量或字面量switch(expression){ case value: //语句 break;//可选 c
2022-02-19 14:23:29
295
原创 Java流程控制--顺序、选择结构
顺序结构Java的基本结构是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构package com.tao.struct;public class ShunXuDemo { public static void main(String[] args) { System.out.println("hello1");
2022-02-19 14:17:28
109
原创 Java流程控制--用户交互Scanner
Scanner对象java.util.Scanner是Java5的性特征,可以通过Scanner类来获取用户输入基本语法:Scanner s=new Scanner(System.in)通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据next():1.一定要读取到有效字符后才可以结束输入2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉3.只
2022-02-19 14:13:10
186
原创 Java基础语法--JavaDoc生成文档
JavaDocjavadoc命令是用来生成自己API文档的参数信息@author作者名@version版本号@since指明需要使用的最早的jdk版本@param参数名@return返回值情况@throws异常抛出情况package com.tao.base;/** * @author 落笔成念 * @version 1.0 * @since 1.8 */public class Doc { String name; /** *
2022-02-17 17:10:44
225
原创 Java基础语法--包机制
包机制包的本质是文件夹为了更好地政治类,Java提供了包机制,用于区别类名的命名空间包语句的语法格式为:package pkg1[pkg2[.pkg3...]];一般利用公司域名倒置作为包名;com.baidu.blog为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用“import”语句可以完成此功能import package1[.package2...].(classname|*);建包(步骤)...
2022-02-17 17:08:12
195
原创 Java基础语法--运算符
运算符Java语言支持的运算符:算术运算符:+,-,*,/,%(取余/模),++,–赋值运算符:=关系运算符:>,<,>=,<=,==,!=instanceof逻辑运算符:&&,||,! 与或非位运算符:&,|,^,~,>>,<<,>>>条件运算符?:扩展复制运算符:+=,-=,*=,/=算术运算符package operator;public clas
2022-02-17 17:03:58
128
原创 Java基础--变量、常量、作用域
变量变量:可以变化的量每个变量都必须声明其类型Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域type varName [=value] [{,varName[=value]}]//数据类型 变量名=值;可以使用都好隔开声明多个同类型变量注意:每个变量都有类型,类型可以是基本类型,也可以是引用类型变量必须是合法标识符变量声明是一条完整的语句,每一个声明必须以分号结束变量作用域类变量实例变量局部变量public cl
2022-02-11 12:08:55
72
原创 Java基础语法--类型转换
类型转换Java是强类型语言,所以要进行一些运算的时候,需要遇到类型转换运算中,不同类型的数据先转换为同一类型,然后进行运算低------------------------------------------->高byte,short,char-->int-->long-->float-->double小数的优先级一定大于整数强制类型转换自动类型转换public class Demo04 { public static void ma
2022-02-10 21:25:41
97
原创 Java基础语法--数据类型
数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用好处:安全性高弊端:速度慢弱类型语言public class Demo02 { public static void main(String[] ARGS){ String a="hello"; int num=10; //所有变量都必须定义后才能使用 System.out.println(a);
2022-02-10 20:40:42
278
原创 Java基础语法--标识符和关键字
标识符关键字Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符标识符注意点所有的标识符都应该以字母(A-Z或a-z)、美元($)或下划线(_)开头首字符之后可以是字母(A-Z或a-z)、美元($)、下划线(_)或数字的任意字符组合不能使用关键字作为变量名或方法名标识符是大小写敏感的合法的标识符:$man、_1_value、name非法标识符:1aoe、-sjd、#abc可以使用中文命名,但一般不建议这样使用,也不建议使用拼音pu
2022-02-10 20:35:23
317
原创 Java基础--注释
注释平时我们编写代码,在代码量比较少的时候,还可以看得懂自己写的,但当项目结构一旦复杂起来,我们就需要用到注释了注释并不会被执行书写注释是一个非常好的习惯平时写代码一定要注意规范Java中的注释有三种:单行注释多行注释文档注释idea注释颜色修改public class HelloWorld { public static void main(String[] args){ //单行注释 双斜杠开头 //
2022-02-10 20:31:13
551
原创 HelloWorld
HelloWorld新建一个文件夹,存放代码新建一个Java文件文件后缀名为.javaHello.java**注意:**系统可能没有显示文件后缀名,需要手动打开编写代码public class Hello{ public static void main(String[] args){ System.out.print("Hello,World!!"); }}编译javac java文件,会生成
2022-02-08 15:01:54
70
原创 JDK的安装和卸载
安装JDK百度搜索jdk8,找到下载地址同意协议下载自己电脑对应的版本双击安装JDK记住安装路径配置环境变量我的电脑–>属性–>点击高级系统设置–>在系统变量设置环境变量–>新建JAVA_HOME (变量值输入JDK安装路径)配置path(配置两个bin目录):新建%JAVA_HOME%\bin(%%:引用JAVA_HOME目录)–>新建%JAVA_HOME%\jre\bin(jre:Java运行时目录)–>确定
2022-02-07 15:06:17
1074
原创 Markdown学习
Markdown学习标题#+空格三级标题###+空格字体加粗:文字前后分别加两个*斜体:一个*斜体加粗:三个星号*删除线:两个波浪~hellohellohellohello引用一个箭头符号>要用绝对清醒的理智去压制不该有的情绪分割线三个减号或星号(-/*)图片插入图片:感叹号+中括号+括号–>选择图片路径[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TyOdMaZN-1644217083396)(F:\电商\作业效
2022-02-07 15:00:54
257
原创 DOS命令
打开DOS方式开始+系统+命令提示符win键+R 输入cmd运行打开控制台在任意文件夹下,按shift键+鼠标右键点击,在此处打开命令行窗口资源管理器的地址栏加上cmd路径管理员方式运行:选择以管理员方式运行常用DOS命令#盘符切换 #查看当前目录下所有文件 dir#切换目录 cd change directory cd 目录名 cd c: /d 跨盘符切换cd.. 返回上一级#清理屏幕 cls (clear screen)#退出终端 exit#查看电脑
2022-02-07 14:55:58
522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅