- 博客(44)
- 收藏
- 关注
原创 Git总结
Git总结 附:SSH配置 Linux命令Git配置所有的配置文件,其实都保存在本地!#查看系统config git config --system --list #查看当前用户global配置 git config --global --listGit相关的配置文件位置:#Windows1.Git\etc\gitconfigGit 安装目录下的 gitconfig --system 系统级2.C:\Users\Administrator\ .gitconfig只
2022-01-31 15:40:35
1305
原创 GUI编程(图形界面编程)上
GUI编程(图形界面编程)上定义图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。[1]组件(Componen
2022-01-22 17:42:18
734
原创 Java异常机制
异常机制概念软件程序在运行过程中,非常可能遇到比如自己写的某个模块,用户输入不一定符合自己的要求,读取数据库的数据,数据可能是空的等,这些异常问题我们呢叫异常,英文Exception,意思是例外。异常指程序运行中出现的不期而至的各种状况异常发生在程序运行期间,他影响了正常的程序执行流程异常类型1.检查性异常:最具代表的检查性异常是指用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略2.运行时异常:运行时异常是可
2022-01-22 12:53:15
327
原创 Java内部类
内部类定义内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就是称为内部类,而A类相对B类来说就是外部类1.成员内部类 外部类.内部类 类名 = 外部类对象名.new 内部类();2.静态内部类 外部类.内部类 类名 = new 外部类.内部类();3.局部内部类4.匿名内部类作用:完善了Java多继承机制,由于每一个内部类都可以独立的继承接口或类,所以无论外部类是否继承或实现了某个类或接口,对于内部类没有影响。方便写事件驱动程序。成员内部类
2022-01-22 11:01:07
80
原创 Java接口
接口概念区分普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!定义接口就是规范:定义的是一组规则接口的本质是契约,就像我们人间的法律一样,指定好后大家一起遵守声明类的关键字是class,声明接口的关键字是interface作用1.约束2.定义一些方法,让不同的人实现3.接口中默认定义:public abstractpublic static final4.接口不能被实例化,接口中没有构造方法5.implements可以实现多个接口6
2022-01-20 20:10:33
170
原创 抽象类详细理解
抽象类abstract修饰可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。//抽象类abstractpublic abstract class Action{ //约束~有人帮我们实现 //抽象方法,只有方法名字,没有方法的实现! public void dosomething{ }}//抽象类的所有方法,继承了它的子类都必须要实现他的方法,除非子类还有子类,就子子类来实现public class A extends
2022-01-20 19:12:18
232
转载 Java中的static关键字
Java中的static关键字static概念:static是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样做有什么意义呢?在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是用static修饰的
2022-01-20 18:41:39
129
原创 instanceof和数据类型转换
instanceof和数据类型转换instanceofinstanceof是Java中的二元运算符,左边是对象,右边是类;当对象是 右边类或子类或间接子类所创建对象时,返回true;否则,返回false。两类之间存在父子关系则instanceof会true,否则flase代码://Teacher和Student继承Person //Object>String//Object>Person>Teacher//Object>Person>Studnet
2022-01-20 15:55:17
257
原创 多态(方法的多态,属性没有多态)
多态(方法的多态,属性没有多态)理论作用即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用有很多注意事项:多态是方法的多态,属性没有多态。父类和子类,有联系 。否则类型转换异常 ClassCastException!多态存在条件:继承关系,方法需要重写,父类引用指向子类对象。无法被重写的情况1.static 方法 属于类 它不属于实例2.final 常量;3.private 方法;代码图:在代码图中可以看出:
2022-01-20 15:25:20
604
原创 继承(重写)
继承(重写)静态方法可以被重载,不可以被重写。静态方法是类在加载时就被加载到内存中的方法,在整个运行过程中保持不变,因而不能重写。但非静态方法是在对象实例化时才单独申请内存空间,为每一个实例分配独立的运行内存,因而可以重写。代码演示图:图中可以看到当a类继承了b类,此时我在a类中写了和b类一样的方法,但是输出结果可以看到没能重写b类,所以说明静态方法只能被重载不能被重写。复习下方法中的重载:方法的重载重载就是在一个类中,有相同的函数名称,但形参不同的函数方法的重载的规则:1.
2022-01-20 14:17:41
425
原创 继承(super关键字注意点)
继承(super关键字注意点)在图中通过分析后可以总结:super.xxx的作用是子类调用父类的属性和方法在这个过程中防止混淆可以用this.xxx来进行区分,前面的博客继承(本质、关系、Object)中有提到,继承之后子类继承了父类,就会拥有父类全部的方法。当application中实例化子类son后可以调用它父类即father(图中)所有的方法尽管原本son类中是没有的但他继承了father类。这篇博客提出的super关键字最重要的原因:super可以用来访问父类的成员方法或变量,当子类成员
2022-01-19 23:57:04
1825
原创 继承(本质、关系、Object)
继承(本质、关系、Object)继承的本质是对某一批类的抽象extends的意思是"扩展",子类是父类的扩展。Java中类只有单继承,没有多继承继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父亲(基类)。子类继承父类,使用关键字extends来表示。Object类super方法重写继承的作用:1.子类继承了父类,就会拥有父亲的全部的方法2.父类私有的private的方法无法被继承(一般属性才是
2022-01-19 21:51:23
249
原创 封装(面向对象编程)
封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的的方法给外部使用封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。总结:1.属性私有 2.get/set//快捷键 alt+insert(Windows)//control+enter(Mac)意义:1.提高程序的安全性,保护数据2.隐藏代码的实现细节3.统一接口4.系统可维护
2022-01-19 20:30:00
81
原创 创建对象时调用的构造器
创建对象时调用的构造器(必须掌握)类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:1.必须和类的名字相同2.必须没有返回类型,也不能写void由上图可以看出,一个类即使什么都不写,他也会存在一个方法(构造器)作用1:可以初始化值 由下面两张图可以看出。图一:构造器里没有赋值,输出为空。图二:构造器里赋值,程序执行构造器里的语句。使用new关键字,本质是在调用构造器除了无参构造还有有参构造有参构造:一旦定义了有参构造,无
2022-01-19 18:02:03
602
原创 类与对象的创建(重点)
类与对象的创建(重点)类与对象的关系类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。动物、植物、手机、电脑 …Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的时候应该具备的特点和行为。对象是抽象概念的具体实例张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念创建与初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配内存空
2022-01-19 13:40:40
155
转载 值传递和引用传递
值传递和引用传递值传递package com.oop;//值传递public class Demo03 { public static void main(String[] args) { int a=1; System.out.println(a);//结果1 Demo03.charge(a); System.out.println(a);//结果1 } //返回值为空 public static vo
2022-01-18 23:50:27
66
原创 动静态方法调用补充(实例化是什么)
动静态方法调用补充(实例化是什么)关于静态方法以及动态方法的调用Demo02package com.oop;//Demo02调用Student类的方法public class Demo02 { public static void main(String[] args) { //静态方法static调用 Student.say(); //动态方法调用 //实例化这个类 new //对象类型 对象名字=对象值(对象值变成
2022-01-18 22:55:00
142
原创 面向对象编程(概念)
面向对象编程(概念)面向过程&面向对象面向过程思想:1.步骤清晰简单,第一步做什么,第二步做什么…2.面对过程是和处理一些较为简单的题目。面向对象思想:1.物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思索。2.面向对象适合处理复杂的问题,适合处理需要多人协作的问题!面向对象面向对象编程(Objec-Oriented Programming,OOP)面向对象编程的本质就是:以类的方式组织代码,以对
2022-01-18 22:52:29
343
原创 稀疏数组方法
稀疏数组需求:编写五子棋游戏中,有存盘退出和续上盘的功能。分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据解决:稀疏数组稀疏数组的处理方式是:1.记录数组一共有几行几列,有多少个不同值。2.把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模。Tips:[0]代表有六行七列的数组一共八个数值,[1] [2]…代表每一个具体值的具体位置,这样就避免记录了没有意义的数据package com.zou.array;public class Demo
2022-01-18 20:36:06
1921
原创 冒泡排序法
冒泡排序1.冒泡排序无疑是最出名的排序算法之一,总共有八大排序2.冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较。3.我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为0(n2)package com.zou.array;import java.util.Arrays;public class Demo08 { public static void main(String[] args) {//临时变量 int temp =0;
2022-01-18 14:18:28
279
原创 Arrays类(方便更快捷的使用数组)
Arrays类(方便更快捷的使用数组)1.数组的工具类java.util.Arrays2.由于数组对象本身没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。3.查看JDK帮助文档4.Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意是“不用”而不是“不能”)具有以下的功能:1.给数组赋值:通过fill方法。2.对数组排序:通过sort方法,按升序。3.比较
2022-01-15 20:14:08
317
原创 二维数组 概念 定义 应用
二维数组 概念 定义 应用多行数组可以看成数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组二维数组int a[][]=new int[2][5];//a可以看作一个两行五列的数组二维数组的应用package com.zou.array;public class Demo05 { public static void main(String[] args) { //4行2列的数组 /* 1,2 array[
2022-01-15 16:57:22
202
原创 数组(下)数组的使用
数组(下)数组的使用数组的长度就是数组里面的个数,数组的下标是描述元素位置从0开始数组使用1.For-Each循环2.数组作方法入参3.数组作返回值For-Each循环package com.zou.array;//基本用法public class Demo03 { public static void main(String[] args) { int[] arrays ={1,2,3,4,5}; //打印全部的数组元素 for (
2022-01-15 16:03:29
58
原创 数组(上)概念 定义
数组(上)概念 定义1.数组是相同类型数据的有序集合2.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合组成3.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。//数组的下标从0开始数组声明创建1.首先必须声明数组变量,才能在程序中使用数组。声明数组变量的语法:dataType[] arrayRefVar;//首选方法或dataType arrayRefVar[];//效果相同,但不是首选方法package com.zou.array;publi
2022-01-14 16:48:43
56
原创 计算器Java代码
计算器Java代码package com.zou.method;import java.util.Scanner;//写一个计算器,实现加减乘除功能,并能够循环接收新的数据,通过用户交互实现。 /* 思路:写四个方法:加减乘除 利用循环+switch进行用户交互 传递需要操作的两个数 输出结果 */public class Demo06 { public sta
2022-01-13 21:54:30
6341
4
原创 递归方法学习
递归概念理解#A方法调用B方法,我们很容易理解。#递归就是:A方法调用A方法!就是自己调用自己#利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大减少了程序的代码量。递归的能力在于用有限的语句来定义对象无限集合。递归结构包括两个部分:1.递归头:什么时候不调用自身方法。如果没有头,将陷入死循环2.递归体:什么时候需要调用自身方法。package com
2022-01-13 16:19:07
67
原创 Java方法详解
Java方法详解方法的概念Java方法是语句的集合,他们在一起执行一个功能。1.方法是解决一类问题的步骤的有序组合2.方法包含于类或对象中3.方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。1.一个方法只完成一个功能,这样有利于我们以后期的扩展方法的定义Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段。方法包含一个方法头和一个方法体。*修饰符:可选的,用于限定类型以及类型成员的申明的一种符号,告诉编译器如何调用
2022-01-13 15:30:12
149
原创 Java流程控制
Java流程控制顺序结构1.Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行2.顺序结构是最简单的算法结构3.语句与语句之间,框与框之间是按照从上到下的顺序来进行的,它是由若干个依次执行的处理步骤组成的。它是任何一个算法都离不开的一种基本算法结构选择结构if单选择结构if(布尔表达式){ //如果布尔表达式为true将执行语句}if双选择结构if(布尔表达式){ //如果布尔表达式为真,值为true}else{ //如果布尔表达式的值诶false
2022-01-13 02:12:30
62
原创 变量(Java)补充归纳
变量(Java)补充归纳变量Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域type varName = value,… , …数据类型(八大基本类型) 变量名(合法标识符)= 值可以使用逗号隔开来声明多个同类型变量int a=1,b=2,c=3;String name =“zoumaoji”;double pi =3.14;注意事项:每个变量都有类型,类型可以是基本类型,也可以是引用类型。变量名必须是合法的标识符变量声明是一条完整的语句,因此每一个声明都
2022-01-12 13:53:38
155
原创 用户交互Scanner
用户交互ScannerJava给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5新特征,我们可以通过Scanner类来获取用户的输入基本语法:Scanner s = new Scanner(System.in);通过Scanner类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。next()一定要读取到有效字符后才可以
2022-01-08 15:01:38
66
原创 包机制 JavaDOC生成文档(相关问题解决)
包机制 JavaDOC生成文档(相关问题解决)包机制:1.为了更好的组织类,Java提供了包机制,用于区别类名的命名空间2.包语句的语法格式为:package pkg[.pkg2[.pkg3....]];(定义包)3.一般利用公司域名倒置作为包名:例如 www.baidu.com 包名 com.baidu.www4.为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import“语句可以完成此功能import package1[.package2...].(cl
2022-01-05 20:49:59
409
原创 Java运算符
Java运算符算数运算符:+,-,*,/,%(取余数),++,-- (很多运算,我们会使用一些工具类来操作,Math类)赋值运算符:=关系运算符:> , < , >= , <= , == , != instanceof(不等于)逻辑运算符:&&(与) ,||(或) , ! (非)位运算符:& ,|,^(异或) , ~ , >> ,<< , >>>(了解)条件运算符:?:扩
2022-01-05 17:59:19
131
原创 变量(JAVA)重点
变量(JAVA)重点变量:可以变化的量Java是一种强类型语言,每一个变量都必须声明其类型。Java变量是程序中最基本的存储单元其要素包括变量名(合法的标识符),变量类型(数据类型)和作用域(变量作用域)。public class Demo06 { public static void main(String[] args) { // int a,b,c;不建议这样 //int a=1,b=2,c=3;不建议这样 //程序可读性
2022-01-04 20:10:23
87
原创 Java数据类型转换
Java数据类型转换由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。byte,short,char -> int ->long->float->double (小数的优先级大于整数)低-------------------------------------------------------->高运算中,不同类型的数据现转化为同一类型,然后进行运算。强类型转换 高—>低//强制转换(类型)变量名自动类型转换***低
2022-01-04 18:09:20
84
原创 数据类型学习扩展
数据类型学习扩展整数类型扩展进制: 十进制 二进制0b 八进制0 十六进制0xint i = 10;//十进制 int i1=0b10;//二进制 int i2=010;//八进制 每位八进制数用三位二进制数替换 int i3=0x10;//十六进制 每位十六进制数用三位二进制数替换整数表达都是十进制的,相当于二进制、八进制、十六进制都要转化为十进制输出浮点数扩展浮点数表示的字长是有限的,离散的,舍入误差,接近但不等于,最好完全避免使
2022-01-04 16:00:07
140
原创 Java运行机制
JAVA程序运行机制编译型解释型个人理解:区别在于时机不同,1.编译型属于一次性全部编译(执行速度更快例如C++/C )2.解释型属于实时编译(对执行速度要求不太高例如网页这类的,边执行边解释)程序运行机制:个人理解:Java源文件通过Java的编译器 (预编译)生成字节码(class文件)再放入JVM(虚拟机)通过字节码校验器(检查是否有错误)再通过解释器(边执行边解释)Java既有编译型特征也有解释型特征...
2022-01-03 14:21:56
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人