11 2022 档案
摘要:异常 1.1 异常概述 异常(Exception)指程序运行中出现的不正常情况:文件找不到、网络异常、非法参数等等。 我们通过代码来了解一下: public class Demo{ public static void main(String[] args){ int[] a={1,2,3}; me
阅读全文
摘要:内部类 1.1内部类概述 内部类:就是在一个类中定义另外一个类。 例如我们在A类中定义一个B类,那么B类就是A类的内部类,A则是B的外部类。 好比我们的手机是一个类,而手机内部的零件又属于一个类。 内部类的定义格式: /*格式: public class 类名{ 修饰符 class 类名{ } }
阅读全文
摘要:接口 1.1什么是接口 接口就像是定义好了一个大纲,并不会具体写什么东西,需要其他人去补充细节。 1.2接口的特点 接口的关键字是interface 接口语句格式:public interface 接口名{} public interface Jumpping{ void jump();//接口的方
阅读全文
摘要:抽象类 1.1抽象类概述 一个动物类中,我们创建对象时会去new一个动物;但是我们不应该直接创建动物这个对象,因为动物本身就是抽象的,没有动物这种实例,我们创建的应该是一个具体的动物类,比如猫、狗等动物这种实际的类;而且动物这个抽象的类不应该有具体的方法,因为只有具体的某一种动物才有具体的方法,所以
阅读全文
摘要:static static关键字是静态的意思,可以修饰成员方法、属性。 static修饰的特点: 被类的所有对象共享 可以通过类名调用,也可以通过对象名调用;推荐使用类名调用! public class Students{ public String name; pbulic int age; pu
阅读全文
摘要:多态中的转型 转型 当父类的不能调用子类方法时,我们可以将父类转换成子类,然后就可以调用子类的方法。 转型分为两种: 向上转型:父类引用指向子类对象; 向下转型:父类引用转为子类对象;(强制转换) 转化的格式: ((目标类型)目标变量名).子类方法 我们从代码的形式上对转型进行了解: class A
阅读全文
摘要:方法的多态 1.1什么是多态? 指一个对象在不同时刻拥有不同的形态。 例:猫 cat=new 猫(); 动物 animal=new 猫(); 多态建立的条件: 建立在继承的关系上; 有方法重写; 有父类的引用指向子类对象(父类引用指向即 动物 animal) 我们通过代码进一步了解多态: 将多态
阅读全文
摘要:方法重写 什么是方法重写? 方法重写指的是当子类和父类出现了一摸一样的方法声明 方法重写有什么用? 当父类中有一个方法时,子类会继承,但是子类并不一定能够用到,或者说继承过来的方法不满足使用,需要重新写方法体,但是仅限于方法体的修改。 案例:手机拥有打电话的功能,智能手机拥有视频通话的功能。 cla
阅读全文
摘要:this、super详解 当我们在外部程序调用一个类的方法,如果这个类的方法与其父类的方法重载,我们需要用this、super进行区分 this在Java中是一个复杂的关键字,this的使用形式体现了其灵活性,可以实现三种结构形式的描述: 当前类中的属性:this.属性; super.属性 当前类中
阅读全文
摘要:继承的理解 **继承:**对类进行抽象化;也就是将存在的类构造成新的类; 比如说学生是一个类,老师是一个类,那么我们可以将学生类和老师类收纳进人这个类;那么学生和老师则为子类(派生类)、人为父类(基类);子类继承父类。 语法格式: public class Students extends Pers
阅读全文
摘要:属性封装详解 封装即隐藏一些数据,让外部不能直接访问,而是需要通过一些方法才能设置或者访问。 首先我们来看未封装的属性被外部调用的情况 public class Students{//创建一个学生类 String name;//定义属性未赋值 int age; } public class Appl
阅读全文
摘要:对象创建的内存分析 我们从两块最常用的内存空间对对象创建进行内存分析 堆内存:存放的是对象的具体信息;在程序之中堆内存空间的开辟是通过new完成的 栈内存:存放的是对象的地址信息,即通过地址找到堆内存进而找到对象内容,但是为了简化起见,简单理解将对象的名称保存在栈内存中 堆内存内每一块内存都有着一个
阅读全文
摘要:构造器详解 构造器也叫构造方法,是创造对象时调用的方法 我们建立一个类时,即使我们什么都没开始写,我们可以看到其反编译文件中已经出现了一个方法,这个方法就是构造方法 浅谈一下对象创建的四步: 第一步:分配对象空间;并将对象成员变量初始化为0或为空 第二步:执行属性值的显示初始化 第三步:执行构造器里
阅读全文
摘要:值传递和引用传递 首先我们先回忆一下数据类型: Java中数据类型分为基本类型和引用类型,其中引用类型涉及到对象的建立。 从内存角度分析的话,基本类型存放在栈内存中,而对象则是存放在堆内存中。 值传递 public class Demo{ public static void main(String
阅读全文
摘要:静态与非静态 静态方法——类方法 是以static为关键词,从属于类,与类共生 public class Students{//class修饰的是一个类,所以这是一个学生类 public static void say(){//方法前加static修饰,则是静态方法,在其他类中可以直接调用 Syst
阅读全文
摘要:稀疏数组的超细详解 一个含有大量重复元素的二维数组,我们可以提取其有效元素,压缩空间,整合为一个稀疏数组。 例如一个五子棋棋盘,我们将棋盘看作为一个二维数组,没有棋子的位置为0;黑棋为1;白棋为2; 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
阅读全文
摘要:冒泡排序 冒泡循环有两层循环,第一层控制循环轮数,第二层循环代表元素比较的次数。 利用冒泡排序获得升序或者降序的数组 //利用冒泡排序将一个数组进行降序排序 //思路: //冒泡排序是将相邻元素进行比较,我们将两个相邻的元素进行比较,即后者与前者比较,如果后者较大,则交换两者位置 //当交换的次数够
阅读全文
摘要:多维数组 二维数组 二维数组则是将一堆一维数组组成一个数组 public class Demo{ public static void main(String[] args){ //一维数组 int[] a={1,2,3,4,5}; int[][] b={{1,1},{2,2},{3,3},{4,4
阅读全文
摘要:Arrays类的详解 首先Arrays是Java中的一个类,我们可以调用Arrays类的方法来方便我们对数组的使用 Arrays类的方法都是static修饰的,可以直接按照 类.方法名 进行调用 案例:利用Arrays类的方法打印数组 public class Demo{ public static
阅读全文
摘要:数组的使用 普通的for循环 打印所有数组元素 打印数组元素最大值 求和数组元素 //打印数组元素 public class Demo{ public static void main(String[] args){ int[] arrays={1,2,3,4,5}; System.out.prin
阅读全文
摘要:数组的三种初始化 静态初始化 即数组的声明和赋值一起完成 int[] arrays={1,2,3,4,5}; 动态初始化-——手动赋值(包含默认初始化) 声明数组的但不赋以确切的值,没有赋值前程序默认初始化值为0(整数、小数型); public class Arrays{ public static
阅读全文
摘要:数组 概念 相同类型的数据的集合。 语法格式: //数组类型 数组名 =数组的值; int[] a=new int[10]; //数组a含10个int类型的数据 // //一个数组的创建我们把他拆解为三步 //第一步:声明数组类型 int[] a; double[] b;//同最开始学习变量定义一样
阅读全文
摘要:递归 理解:当A方法调用A方法,也就是方法自身调用自身。 案例:定义阶乘的方法,并求出5!。 public class Demo{ public static void main(String[] args){ System.out.println(f(5)); } public static in
阅读全文
摘要:可变参数 我们在定义变量的时候,有时候会遇到功能相似,但参数个数不相同的情况,如果我们每种情况都定义方法,会很麻烦且多余,于是我们使用到了另外一种方式:可变参数。可变参数,顾名思义即我们给方法传递的参数是不定项的。 可变参数的语法格式: public 返回值类型(参数类型 省略号(...) 变量名)
阅读全文
摘要:命令行传参 我们可以在程序运行时利用Dos命令行给主方法main传递参数来得到一些反馈信息。 public class demo{ public static void main(String[] args){ //main方法中的args是一个数组 //args.length代表数组长度 for(
阅读全文
摘要:方法的重载 方法重载的定义 方法的重载是指在类里面定义多个同名的方法,功能相似,但参数列表(个数、类型、顺序)不一样。 规则: 方法名必须相同 方法参数必须不同(个数、类型、顺序) 方法返回值可以相同或者不同 仅仅方法返回值不同不能称之为方法重载 public class Demo{ public
阅读全文
摘要:方法的定义与调用 方法的理解: 方法就是一堆函数的集合,定义于主类里面,在主方法里面调用。(所有的程序都是由主方法开始的。) 我们需要重复的使用一种运算函数时,我们可以将这个函数定义成一种方法,需要使用时直接使用,提高效率 方法语法格式: public static 返回值类型 方法名([参数类型
阅读全文
摘要:利用for循环打印三角形 要求: 利用for循环打印出以下三角形 思路与分析: 观察三角形,每一行的左边其实都有打印内容的,只是被空格替换了; 将左边空格的部分替换成*,补齐后会得到一个梯形,我们把它分成三部分,会得到: 我们则可以利用for循环依次将三个部分打印出来,再将第一部分的内容替换成空格即
阅读全文
摘要:标签的使用 当我们在嵌套语句中,例如当我们在for的嵌套循环语句中,想要终止或重新开始当前循环以外的循环的时候,单独仅靠break和continue和还不够,需要在我们想要作用的循环语句处加上一个标签,这样我们能够更方便的在嵌套循环内部与外部循环建立一个联系 案例:筛选出100~150之间的质数 思
阅读全文
摘要:break和continue的区别 break break我们可以理解为打破的意思;在switch多选择结构的case标签下面我们都会加上一个break,防止当一个标签匹配上,后面的标签跟着匹配上的情况。 break打破案例:要求我们输出1~30的数字 public class BreakTest{
阅读全文
摘要:增强for循环 这一节简单了解对增强for循环在数组里面的应用,且通过for循环和增强for循环的对比来更好的了解增强for public class ForCirculate03{ public static void main(String[] args){ int[] numbers={1,2
阅读全文
摘要:九九乘法表打印 按照以下格式对九九乘法表正确输出: /* 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=2
阅读全文
摘要:while循环结构 while循环 while循环结构是最基本的循环,他的结构为: while(布尔表达式){ //循环的内容 } 只有当布尔表达式的值为true时,开始循环 我们一般需要的是有限的循环,若不打破循环将会导致电脑一直循环,导致崩溃 有些情况是需要一直循环,例如服务器的响应 如何快速的
阅读全文
摘要:for循环 将0~100内的奇、偶数分别求和 思路 第一步先将0~100以内的奇、偶数分成两队,第二步使奇数累加、ou'shu public class ForCirculate{ public static void main(String[] args){ int oddsum=0; int e
阅读全文
摘要:switch——case结构的使用详解 什么是switch——case结构 他也是一种多选择结构 switch——case结构是类于if——else的语法,通过比较而输出对应的内容; 通俗的讲,好比我们买彩票,拿着号码去对奖池的号码,如果对上了就中奖。兑奖这个过程就好比是switch——case结构
阅读全文
摘要:Java流程控制:if选择结构 if单选择结构 当我们需要去判断一个东西是否可行,然后再去执行时,我们可以利用if语句中的单选择结构 语法:if(布尔表达式){如果表达式结构为true则执行此括号内的语句} import java.util.Scanner;//导入Scanner类 自己打代码的时候
阅读全文
摘要:Scanner的进阶用法 Scanner作为Java工具包的一个类,作为人机交互的一个小工具,我们可以拿这个Scanner小工具来做一些计算数据计算 当Scanner加上if语句 例如:当用户输入数据时,要求Scanner读取到整数时或者小数时才输出用户的数据 //导入Java工具包中的Scanne
阅读全文
摘要:Java流程控制 用户交互Scanner 我们可以通过Scanner类来获取用户的输入,电脑通过我们的输入,执行输入语,实现程序的输入输出 基本语法 Scanner name=new Scanner(System.in); /*Scanner 是Java工具包里面的一个类,利用这个类里面的两个方法1
阅读全文
摘要:JavaDoc JavaDoc命令是用来生成自身API文档的 API在线文档 打开类名所在文件位置 打开命令行 3.输入命令行并运行 4.在类名文件处生成了很多html文件,找到index.html打开 生成API文档
阅读全文
摘要:包机制 包本质就是一个文件夹,当两个类名重合且内容不一致的情况下,需要建立包来收纳同名不同内容的类名。 包语句的语法格式 packag pkg1. pkg3 . pkg3.....; 一般采用公司域名倒置作为包名 例如:www.baidu.com————————com.baidu.www src中建
阅读全文
摘要:运算符 算术运算符:+,-,*,/,%(取余;也叫模运算),++(自增),--(自减)........... 二次运算符+,-,*,/ int a=10; int b=20; int c=50; int d=100; System.out.println(a+b); //=30 System.out
阅读全文
摘要:常量 常量:一旦被初始化后不能更改的的值。被设定死了的变量 final type VARNAME=value; final double PI=3.14; final 数据类型 常量名=值; 常量名字符使用大写 final作为修饰符,位置前后不区分 变量的命名规范 所有的变量、方法、类名的命名要符合
阅读全文
摘要:变量 变量:可以变化的量 变量代表一块空间,里面放什么东西是不确定的; 一个柜子里面有很多层,有一层是放鞋子的,鞋子类型有运动鞋、跑步鞋、靴子等;拿着定价120元的一双运动鞋命名为A 数据类型里面很多种,其中一种是整数类型,整数类型有byte、short、int、long;在byte中将120命名为
阅读全文
摘要:Java运算时的类型转换 在Java运算时,不同的数据类型之间可以进行加减乘除的预算;但是,不同类型的数据需要先转换为同一类型才能够运算 强制类型转换 从字节大小排序数据类型我们可以得到以下排序 低———————————————————高 byte、short、char、int—long—float
阅读全文
摘要:Java数据类型拓展篇 整数拓展 二进制的表示:数值前面加0b int num1=10;//此值表示十进制的10 int num2=0b10;//此值表示二进制的10 八进制的表示:数值前面加0 int num3=010;//此值表示八进制的10 十六进制的表示:数值前面加0x int num4=0
阅读全文
摘要:Java的数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 弱类型语言 什么是变量 变量:可以变化的量。 在Java中每个变量都必须先申明这个变量是什么类型 String name="工地佬"; 以上代码中String代表着变量的类型;name则是变量名;”工地佬“
阅读全文
摘要:Java基础语法 注释 (注释不会被运行,仅仅作为解释或笔记提供给作者帮助回忆) 单行注释格式:// 多行注释格式: /**/ 文档注释格式:/** */ 示例图 标识符 概念:所有的组成部分都需要名字;类名、变量名以及方法名都称之为标识符。 类名:Java文件的名称; class后面修饰的为类名
阅读全文
摘要:初学者安装IDEA后需要知道的小技巧 1.输入psvm直接生成 main方法 2.输入sout可以直接生成输出语句 3.代码放大设置 4.注释颜色更改 5.代码字体大小通过Ctrl+鼠标滑轮控制的设置 6.如何创建文件并输入代码 project是最高级的文件项,在project里面可以建立多个mod
阅读全文
摘要:HelloWorld 新建一个文件夹存放代码 新建一个JAVA文件 文件后缀名为.java Hello.java 打开文件扩展名,即可查看到文件类型 运行文件:右键Hello.java文件用notepad++打开 编写代码: public class Hello{ public static voi
阅读全文
摘要:打开CMD的方式 开始+系统+命令提示符(右键以管理员身份运行可拿到最高权限) Win键+R 输入 cmd打开控制台(推荐使用) 桌面上按住shift+鼠标右键,打开powershell窗口 文件搜索地址栏前面加上cmd路径和一个空格 常用的DOS命令 #盘符切换 输入D:则转入D盘 #查看当前目录
阅读全文
摘要:Markdown学习 标题 一级标题 输入:#+空格+标题名字 ;快捷键(Ctrl+1~6) 二级标题 输入:##+空格+标题名字 为二级标题 依次加#(最多六级标题) 三级标题 四级标题 字体 Hello,world! 黑体(字体两边各加两个*) 快捷键(Ctrl+B) Hello,world!
阅读全文