自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 通识基础22:Java的核心类

Java通识基础22:核心类 字符串 public class Main { public static void main(String[] args) { String a = "Hello"; String b = "Hello"; b = b.toLowerCase();//全部字符转化为小写 System.out.println(b); b=b.toUpperCase(); System.out

2022-03-27 11:47:26 861

原创 面向对象通识21(枚举)

面向对象通识21(枚举) 定义 枚举是实例数量已经固定的类 推论:枚举可以更好地实现单例模式 语法格式 [public] abstract|final enum 枚举名(){ //要在第一行列出所有的实例——以后就只使用这些实例 //五大成员 } public修饰符可以没有,abstract和final修饰符必然存在一个 枚举与普通类的语法区别 枚举默认继承Enum这个类,枚举不能继承其他类 枚举要么是final类,要么是abatract类 如果没有添加抽象方法,那系统默认该类为final类

2022-03-20 12:22:37 535

原创 面向对象通识20(函数式接口)

面向对象通识20(函数式接口) 概述函数式接口 引例:函数式接口:只有一个抽象方法的接口 @FunctionalInterface //用于修饰函数式接口,作用域之前讲的@Override类似,都是用于报错 //当接口内有两个 public interface Walkable { public void move(); static int sum(int a,int b){ return a+b; }//实例方法1 default void foo(){

2022-03-20 10:41:25 532

原创 面向对象通识19(内部类)

面向对象通识19(内部类) 定义在类体中定义的类(包含内部类的类被称为外部类) 基本语法和外部类相同,区别: 可以使用以下三种修饰符 内部类可以用static修饰,表明该内部类为外部类的一个实例 可以用private修饰,表明该内部类只能在外部类中被访问 可以用protected修饰,表名该内部类能在其外部类中被访问,也可以被其子类访问 非静态内部类不能拥有静态成员 内部类可以直接访问外部类的私有成员,但static内部类不能直接访问外部类的非static成员 意义 当某个

2022-03-19 22:43:05 536

原创 面向对象通识18(接口)

面向对象通识18(接口) 语法规则 接口相当于一种彻底抽象的类: 接口体现的是一种规范,要暴露出供用户遵守的规则。 所以,接口都是用public来修饰(通常都不写这个修饰符,它默认存在) [修饰符] interface 接口名 extands 父接口1, 父接口2.... { //成员变量只有常量 并且始终会添加public static final修饰,通常不写 //抽象方法、类方法、默认方法(默认方法添加方法体) //内部类 } 默认方法就是实例方法,与原来的抽象方法的地位完全相同 类是单

2022-03-19 15:52:33 274

原创 面向对象通识17(abstract修饰符)

面向对象通识17(abstract修饰符) abstract(抽象) 特性 该修饰符只能修饰方法和类 abstract与final是互斥的 原因: 对于类:前者修饰的类必须派生子类,后者修饰的类禁止派生子类 对于方法:前者修饰的方法必须要被重写,后者修饰的方法禁止被重写 抽象类 特征 有得有失—— 有得:抽象类可拥有抽象方法(普通类有的,抽象类都有) 有失:抽象类失去了创建对象的功能 抽象类的主要作用——派生子类(子类构造器一定要调用父类构造器一次,因此抽象类必须有构造器) 作用 定义变量 调用类方法

2022-03-17 22:12:44 329

原创 面向对象通识16(final变量)

面向对象通识16(final修饰符) final可以修饰变量(各种变量)、方法、类 final与abstract是互斥的,无法同时出现。 特性 final修饰类变量 该变量被赋初始值之后,不能被重新赋值。 该变量必须被赋值 final修饰成员变量 对于普通的成员变量,可以不显示指定的初始值,系统会位置分配默认的初始值。 (该初始值分配规则与数组元素的初始值分配规则完全相同) 对于final修饰的成员变量,程序员必须分配指定的初始值 final实例变量,必须显示指定的初始值。只能在以下3个位置

2022-03-17 21:11:22 890

原创 面向对象通识15(单例模式)

面向对象通识15(单例模式) Java概念——设计模式:对于一批经常出现的涉及场景,前人已经总结了一些较为成功的设计——这就是设计模式。后人学习并模仿,从而提高我们的代码质量。 存在意义 单例模式:在某些场景下,某些类只需要或者只能创建一个实例—— 系统的窗口管理器 数据库的引擎访问点 Java程序所在的JRE运行环境 此时需要采用单例模式 创建方法 因为只能有一个实例,所以构造器不能暴露—— 隐藏构造器,用户创建不了实例 暴露一个static方法用于创建实例(因为该方法被创建的时候

2022-03-16 22:50:35 1146

原创 面向对象通识14(static修饰符)

面向对象通识14(static修饰符) static并不是字面意义上“静态”的意思,而是类的意思—— 有static的成员是类成员 没有static的成员是实例成员 //在C语言中有静态变量这一概念,即将改变量放置于静态存储区 但Java并没有这一概念,static只能修饰成员变量 成员变量、方法、初始化块、内部类 所以,static不能修饰局部变量,局部变量不属于类 static也不能修饰构造器,构造器存在的目的是初始化对象,而对象对标的是实例 static成员——属于类成员—— 所有的类

2022-03-16 22:48:17 476

原创 面向对象同通识13(_toString和equals)

面向对象同通识13(_toString和equals) toString方法 public class Apple { private String color; private double weight; public Apple(){ } public void setColor(String color){ this.color=color; } public String getColor(){ retur

2022-03-13 22:36:16 901

原创 面向对象通识12(包装类)

面向对象通识12(包装类) Java有8个基本类型:byte\short\int\long\float\double\char\boolean 不能当成对象使用 不能接受null值(只能赋值给引用类型) 为了解决上述问题,Java为这8个基本类型准备了对应的包装类——可以将基本类型包装成对象 byte--Byte short--Short int--Integer long--Long float--Float char--Character boolean--Boolean 规律——完整的名称

2022-03-09 23:29:01 552

原创 面向对象基础小回顾

面向对象基础小回顾 三种类型(类、接口、枚举) 四个修饰符(private|protected|public|final|static|abstract) 五个成员 定义类的语法 修饰符 class 类名 extands 父类 定义成员变量 修饰符 类型 变量名 [=初始值] 定义方法 修饰符 返回值类型 方法名(形参列表) { 语句块 } 定义构造器 修饰符 构造器(类)名(形参列表) { 语句块 } 定义初始化块 [static]{ 语句块 } 类的作用 定义变量 创建对象 调用类方法活着

2022-03-07 23:21:07 193

原创 面向对象基础11(初始化块)

面向对象基础11(初始化块) 语法: [修饰符]{ 各种语句 } 初始化块是没有名字的 修饰符有且只有static 有static修饰的叫类初始化块(静态初始化块); 没有static修饰的叫做实例初始化块(非静态初始化块); 类中可有定义变量的语句,但不能有赋值语句; public class Block{ int age = 2; String name; { name = "ggttnn" } } 实例初始化块(没有修饰符static) 实例初始化快是一个“假象”——一个

2022-03-04 23:30:19 301

原创 面向对象基础10(多态)

面向对象基础10(多态) 多态的定义 同一个类型的多个实例、在执行同一个方法,呈现出多种行为特征。 变态的定义 同一个类型的实例在执行统一个方法,但是个别对象呈现出变异的行为特征。 态的概念不是状态,而是行为。 多态存在的意义 当Java执行方法时,方法的执行是动态绑定的: 方法总师执行该变量实际所指向对象的方法。 例1: public class Bird { public void fly(){ System.out.println("Birds Flying"); }

2022-03-04 16:52:26 275

原创 面向对象基础9(继承与继承语法)

面向对象基础9(继承) 封装、继承、多态是面向对象的三大特征 继承的理解 苹果(类)继承了水果(类) 老虎(类)继承了动物(类) Java的继承是类与类之间的关系 是一种由一般到特殊的关系(与现实中的辈分没有关系,所以子类和父类名字并不准确) ——小类(子类)是一种特殊的父类(大类) 子类的实例完全可当做父类的实例来使用 别称 父类(超类、基类、大类);子类(派生类、小类) 继承的语法 修饰符 class 类名 extends 父类 {代码块} 说明: Java是单继承的,所以,一个子类只能继承

2022-03-02 16:22:12 259

原创 面向对象基础8(构造器与构造器重载)

面向对象基础8(构造器与构造器重载) 构造器规则:用于初始化对象 必须用关键字new来调用 类必然存在构造器 构造器重载 一个类中可以定义多个构造器,形参列表必然不同 this调用:紧跟括号——this(参数)只能出现在构造器中 ​ 代表调用同一个类中重载的构造器,只能出现在构造器的第一行 this引用:紧跟一个.——this.name 举例: public class Constructor { private String name; private String color;

2022-02-27 18:01:07 293

原创 面向对象基础7(包和封装)

面向对象基础7(包和封装) 面向对象三大特征——封装、集成、多态 封装 隐藏对象的内部实现细节 将一些公共操作的细节暴露 ​ 如果通过暴露的界面操作对象,该对象的内部状态不会被破坏 简而言之,封装要求合理的隐藏,合理的暴露。 实现方式——访问控制符 private(类访问权限)——该修饰符修饰的成员,只能在该类中被访问 public(公共)——该修饰符修饰的成员可以在任意地方被访问 protected(子类访问权限)——该修饰符修饰的成员,能在该类,该类所在的包以及子类中被访问 默认——(包访问

2022-02-27 16:34:47 249

原创 面向对象基础6(变量详解+OOP基础回顾总结)

面向对象基础6(变量详解+OOP基础回顾总结) Java变量 成员变量 位置——定义于类中 类变量 有static 类变量属于类而本身,当系统初始化该类的时候就会给类变量分配空间并初始化。 在程序中,类本身只有一个,先有类,再有对象(实例) 实例变量 无static 实例变量属于对象本身,系统每次创建的时候都需要危改对象的实例变量分配空间,并执行初始化 严格来讲,类变量应该由类本身来访问 实例变量应该由对象来访问——永远用类调用类变量、 不要用对象来访问类变量,但是Java还是会将该对象替换为该对象

2022-02-26 23:39:39 230

原创 面向对象基础入门5(方法的传参机制)

面向对象基础入门5(方法的传参机制) 如果定义方法时候声明了形参,调用方法是必须传入对应的参数。 引例: public class Transfer { public static void swap(int a,int b) { int tmp=a; a=b; b=tmp; } public static void main(String[] args) { int a=6,b=9; Trans

2022-02-25 23:54:26 207

原创 面向对象基础4(方法重载)

面向对象基础4(方法重载) 方法重载:在同一个类中,有多个同名的方法,但这些方法的形参列表是不同的。 ——两同一不同(修饰符不同不算重载;返回值类型不同也不算重载) 综上:参数和方法名两个要素才能确定一个方法 举例: public class Overload { public void test() { System.out.println("无参数的Test方法"); } public void test(int count) {

2022-02-23 22:24:49 403

原创 面向对象基础3(递归方法)

面向对象基础3(递归方法) 方法中的调用自身—— “打开一扇通往自家房间的门,房间里还有一扇同样通往自家房间的门” 本质上是一个隐藏的循环; Alert:要避免无限递归,一定要在能出现某些情况下,不再调用方法自身 简例1: public class Recursive { public void test(){ System.out.println("Dating"); test(); } public static void main(String

2022-02-22 19:15:29 210

原创 面向对象基础2(成员变量和方法)

面向对象基础2(成员变量和方法) this关键字 this可以出现在非static的方法、构造器中。作用如下: ​ 代表了该方法的调用者——即“谁用了该方法,this代表谁” 例1 public class Pig { String color; public void move() { System.out.println("running "); } public void test() { System.out.println("测

2022-02-21 23:18:13 260

原创 面向对象知识入门1(成员变量和方法)

面向对象知识入门1 Java三大类型:类、接口、枚举 类:某一类对象的统称 对象:现实接触的各种事物 Java学习三句总结:定义类、创建对象、调用方法。 定义类 创建一个类的基本语法:有且只有这五大成员 [修饰符] class 类名 { //成员变量(field) //方法(method) //构造器(constructor) //内部类(nested class) //初始化块 }//类体 修饰符:public、final|abstract 创建类有且仅有这三个 类名

2022-02-20 22:33:35 338

原创 前端复健(微信小程序)

前端复健 WXML语言(HTML衍生物) 分为成对出现和不成对出现 属性设置 <关键词 属性名称="属性值"> 通用属性:样式,id,响应函数,参数传递 class中的样式需要在wxss中提前写好每一组样式,可以反复调用 style则必须将css样式代码全部写在这,但可以更加动态地展示样式 bindtap为特定元素绑定一个事件处理函数 hiden元素控制该元素是否隐藏 data-设置自定义数据 基本组件 视图容器<view class='demoview'></view>

2022-02-15 18:51:44 504

原创 Java基础5

Java基础5 Scanner对象 实现工具与人的交互 工具包java.util.Scanner 基本语法 Scanner s=new Scannner(System.in); 通过Scanner类的next()与nextLin()方法获取输入的字符串,在读取钱我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。 此处Next与NextLine是单个与多个字符串输入与输出的区别。 Tips Next以空格为结束符,NextLine以回车为结束符 NextLine可以接收

2022-02-14 18:38:16 258

原创 Java入门4

Java入门4 注释//写给别人看的 种类 //单行注释 /*多行 注释*/ /* 文档注释**/ 关键字 系统定义具有作用的名字 类名,变量名,方法名都被称为标识符 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hAGvSkjN-1644688245564)(C:\Users\Friedrich\AppData\Roaming\Typora\typora-user-images\image-20220213002219951.png)] 标识符注意事项 大小写敏感

2022-02-13 01:50:52 172

原创 基础JS1

基础JS1 JS的七种数据类型 undefined(未定义) null(空) boolean(布尔型) string(字符串) symbol、number(数字) bigint(可以表示任意大的整数) object(对象) 声明变量 var关键字 变量名前加关键字var声明 var myname; let关键字 JS的重大更新:let关键字 var关键字二次声明同一个变量并且赋初值后会对第一次赋予的值进行覆盖 而let关键字会避免你意外地覆盖你不想覆盖的变量 let a="a"; let a="b";

2022-01-24 06:42:24 375

原创 位运算符的计算

位运算符的计算 按位取反“~” 将怨偶的数据转化为二进制,按照最小单位byte补足为8位后,输出其补码所对应的数据。 ~5==~000000101==11111010==-6(补码加1==反码 即为源数据*(-1)) 按位与“&” a&b //将a和b的值转化为二进制,按照最小单位byte补足为8位后,上下对应,保留重合的“1”位 将保留后的值重新换算为十进制。 举例 int a=3,b=5; printf("%d",a&b); a=00000011(2) b=00000101(2

2021-12-27 16:43:20 488

原创 期末前查漏补缺

期末前的查漏补缺 C的三种结构——顺序,循环,选择 C的基本单位——函数 标识——字母数字下划线,不能有关键字,First必须为字母或者下划线。 ‘0’ 的ASCII数值表示为48,‘a’ 的ASCII数值是97,'A’的ASCII数值是65。 使用强制改变数据类型时要注意所赋值的数据类型。(类型)变量 2.333e-1 就是合法的,且数据是2.333×10-1 考试口诀:e前e后必有数,e后必为整数 printf判断结果的显示——1与0 函数的运算结果优先精度最高的数据类型 “

2021-12-27 11:17:27 243

原创 12.16C语言学习笔记

C语言学习笔记 文件 文件本身是一个结构体。 对文件的操作—— 定义文件的指针 打开文件 对文件读写操作 FILE*fopen(filename,filemode); 例 fp=fopen("D:\\data\\file1.txt",r); if(fp==0)//打开文件后的判断 文件关闭(不可或缺) int fclose(FILE*fp); 控制文件读写的函数 字符读写:fgetc fputc 字符串读写:fgets fputs 格式化读写:fscanf fprintf 块数据的读写:fr

2021-12-23 12:59:32 654

原创 有关GIT入门

有关Git入门 (前篇) 版本控制 基本概念:版本控制——版本迭代 无论工作还是学习,自己学习都经历过迭代的阶段。我们就迫切需要一个版本控制工具。 版本控制的功能特性—— 多人协同开发 追踪迭代记录 保护原码文档… 多人开发必须使用版本控制,否则代价很大。 Git——最流行的版本控制器。 分类 1.本地版本控制 记录每一次文件更新,对每一个版本做一个快照 (关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个

2021-12-12 16:00:53 608

原创 12.11C语言(链表)

12.11C语言(链表) 存在目的 解决数组的原有缺陷 数组的三大缺陷 1、定义时需要预留长度,耗费内存。 2、必须占有连续的内存空间,若内存没有相应的预留,程序无法运行。 3、数组的插入和删除等功能要动用到大量的数组元素,运行效率低。 概念 以结点为基本构成单位分散存储数据 结点的构成:数组部分和指针部分—— 数组域——存放待处理的数据; 指针域——存放下一个数据的地址。(个人理解为一串“超链接”所链接的不连续的元素) ​ 一般以头指针head存放链表第一个结点的地址。head也可以被定义为一个链表的

2021-12-11 16:18:27 922

原创 12.7C语言学习笔记

12.7C语言学习笔记(结构体) 定义 用户自定义一个数据类型, 用一组变量来描述一个事物。 没有面向对象的方法,但具有面向对象的属性。 格式 struct students//定义变量名 { int age;//类型1 成员1 int ID;//类型2 成员2 char name[20];//类型3 成员3 ...... }//变量名本身; //举例 int a;//定义变量名 变量名. 大括号中的若干个变量为结构体的“成员”代表了一部分该结构体的属性。 结构体的总长度是

2021-12-11 14:31:59 513

原创 12.2C语言学习笔记

12.2C语言笔记 指针与函数 例1:中间变量达成数据交换 #include <stdio.h> void SwapByValue(int*, int*);//定义的指针变量作为形参 int main() { int a = 3, b = 4; SwapByValue(&a, &b); printf("a=%d,b=%d\n",a,b); return 0;} void SwapByValue(int *px, int *py) { int tmp; tmp = *px; *p

2021-12-09 18:54:40 261

原创 12.2C语言学习笔记(第九章)

12.2C语言听课笔记(补完) 预处理的概念 头文件(Header File) 主要的作用是保存程序的声明,包括: 功能型原函数,数据类型声明等 #include<stdio.h> <系统给的头文件> #include"......" “用户自定义的头文件” ".c"源程序 “.h”头文件(程序声明,原型变量的声明) 宏定义(宏替换) 将一个标识符定义为一个字符串。 编译预处理时,源程序中的该标识符都用所指定的字符串来代替。 无参定义 甚至可以定义简单的命令,可以理解为某种快捷方式。

2021-12-09 18:53:46 413

原创 有关第四次实验报告

有关第四次实验报告 看似最简单但最需要理解的部分是实验1的交换,形参和实参虽然是最基础的概念,字面意义上不难理解,前者是后者在使用方法被调用时所使用的变量。但该实验中使用的函数一律为void类型,无返回值。几类交换方式会出现形参的值互相交换但没有传指给实参的情况。真正有效的方法是定义形参为两个实参的指针(a=&x,b=&y),目的是做到形参和实参在内存地址上的一一对应。此时调用a和b即为指针的值,在此基础上调用a和b便是该地址内x值和y值,最后有效的进行两数交换。 代码如下: #includ

2021-12-09 13:19:16 152

原创 11.30C语言学习笔记(字符串)

11.30C语言学习笔记(字符串) 字符串 定义 文本处理的对象是字符串,描述的对象的某一特征的数据也常是字符串。(姓名,学号) C语言不提供字符串的类型,利用字符数组和字符指针来结合处理字符串。 tip 空格也算字符,字符串末尾系统会不写一个空字符。 法则——字符串必须以空字符 \0 为结尾! 字符串的初始化 数据类型 字符串名 [字符串长度]={初始化的内容} 完整初始化 char ch[3]={'A','B','C'}; (若完整的初始化,可以吧长度省略) char c1[]={'Hello W

2021-12-02 23:19:23 358

原创 11.29C语言学习笔记(指针与二维数组)

11.29C语言学习笔记(指针与二维数组) 接11.18学习笔记https://blog.youkuaiyun.com/FriedReich/article/details/121402242 指针访问一维数组 #include<stdio.h> int main() { int a[3]={1,3,5}; printf("%p\n",a); printf("%p\n",a+1); printf("%p\n",&a);//此处赋予的是一个数组的常量地址,所以说p

2021-12-01 23:56:44 499

原创 JAVA学习笔记2(入门)

JAVA学习笔记2(入门) Java程序最小的程序单元:类。 [public] class FreidReich//类名(习惯首字母大写) { } class SiegFreid { } class Bismarck { } Java源程序的命名规则: A. 源程序必须以.Java为后缀。 Tips:如果后缀名隐藏选项取消后在此被勾选,那电脑必然是中病毒了 B.源文件中有public类,主文件名必须与public类的类名相同——一个Java源文件只能有一个public类 常用的命

2021-11-28 19:31:10 617

原创 JAVA学习笔记1(前奏)

JAVA学习笔记1(前奏) 概述 java利用编译性语言性能好的特点,又要支持跨平台的能力。 通过源程序 ——编译——(不完全编译)javac(c——compare编译) 字节码文件(平台无关的,即可以在任平台运行) (也就是二进制文件)但不是机器指令 ——解释——Java(Java命令本身启动的是Java虚拟机) 由不同平台的JVM(Java Virtual Machine虚拟机) 相应机器(系统的)指令,实现跨平台的目的。 复习 基本字符单位Byte==8最小单位bit——8个0和1 综上java既有编

2021-11-27 18:48:46 359

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除