0
点赞
收藏
分享

微信扫一扫

实训笔记6.5

E_topia 2023-06-05 阅读 45

实训笔记

6.5

一、座右铭

我的故事你说,我的文字我落,我值几两你定,我去何方我挑。

二、上周回顾

Java基本语法

1、Java的安装和环境变量的配置

JDK、JRE、JVM的区别

环境变量的配置

2、Java的标识符、关键字和保留字

  1. 包名:纯小写
  2. 类名:大驼峰命名法
  3. 方法名和属性名:小驼峰命名法
  4. static final 修饰的属性名:全大写加_

3、Java中的变量和常量、字面量

【注意】

(1)变量、常量必须初始化之后才能使用,如果没有初始化直接使用,就会报错

(2)变量的分类:

  1. 局部变量:必须显示的初始化(手动)
    前面只能被final修饰

  2. 成员变量(属性):可以显示初始化,也可以使用JVM默认初始化

    可以被访问控制修饰符、static、final

4、数据类型

(1)基本数据类型-严格意义来说是Java的”耻辱“

​ 四类八种:整数byte short int long、浮点数float double、字符型char、布尔型boolean

【注意】

​ ①char类型的ASCII编码,可以将一个字符转成数字的格式

​ a 97 A 95

​ ②基本数据类型的类型转换:自动类型提升、强制类型转换

(2)引用数据类型:类、数组、接口

5、运算符

赋值运算符:+= -+ ……

算术运算符:+ / ++ –

比较运算符:==

逻辑运算符:&& & || |

位运算符:原码 反码 补码 << >>

三元运算符:特殊的分支流程

6、流程控制

顺序流程:JVM内存中的程序计数器

分支流程:if分支 switch case分支

​ **【注意】**switch能匹配的值的类型:byte short char int String enum

​ case穿透

循环流程:for while do while

​ **【注意】**循环的四要素、多重循环

7、数组

【注意】

①数组的四个核心概念:数组名、数组的长度、数组的索引、数组存放的元素类型

②数组中可以存放基本数据类型、也可以存放引用数据类型,但是数组本身是引用类型的

③如果数组中存放的数据类型,也满足类型的转换规则

8、JVM内存图

JVM内存分为:虚拟机栈区、堆区、本地方法栈区、程序计数器、独立于JVM之外存在于直接内存中空间:元数据区

9、面向对象的两大概念-类和对象

类的组成:属性、方法、代码块、构造器、内部类

三、类的组成

3.1 属性的声明和使用

3.1.1 属性的完整声明语法:

访问控制修饰符 [static] [final] 数据类型 属性名 [= 值];

3.1.2 属性的分类

  1. 静态属性:在类加载的时候在元数据区域初始化操作,只会存在一份
  2. 非静态属性:在创建对象的时候才会在堆区进行初始化操作,一个对象初始化一份

3.1.3 属性的调用

对象名.属性名

静态属性:

可以直接使用类名.属性名

3.1.4 属性的初始化问题:

属性也是变量,需要初始化之后才能使用,但是属性无需手动初始化,如果没有初始化的话,在类加载或者构建对象的时候会赋予默认值

例外:

为了避免属性的调用异常,static final修饰的属性必须显示的手动初始化

3.2 方法的声明和使用

3.2.1 方法的完整的声明语法

访问控制修饰符 [static] [final] 返回值类型 方法名-小驼峰(形参列表) {

方法体;

【注意事项】:如果方法有返回值类型的话,必须在方法体的逻辑上的最后一行还有return+返回值类型的数据 方式返回针对性的值

}

3.2.2 方法的调用

  1. 语法:

    所有方法:对象名.方法名(实参列表);

    静态方法:类名.方法名(实参列表)

3.2.3 方法的分类

  1. 静态方法:在类加载的时候在元数据区域声明了方法,在内存只存在一份

  2. 非静态方法在对象创建的时候在堆区域声明了方法,在内存存在无数份

    *****【注意】

    1. 方法和方法之间是可以相互调用的,调用的时候有一些规则必须要遵守
    2. static修饰的方法无法调用非static修饰的方法
    3. 非static修饰的方法可以调用static修饰的方法
    4. 方法当中也可以直接使用本类中声明的属性,使用也必须满足静态调用规则

    代码:

    package method;
    
    public class Demo01 {
        public static String name;
        public static int age;
        public static void eat() {
            Demo01 d = new Demo01();
            d.run();
            System.out.println(name);
            //System.out.println(age);
        }
        public void run() {
            eat();
            System.out.println(name);
            System.out.println(age);
        }
        public static void main(String[] args) {
            eat();
        }
    }
    

3.2.4 方法的返回值

方法有返回值的,返回值的类型可以是任何数据类型,同时返回值类型还可以是一种特殊的返回值void

如果方法的返回值类型不是void,那么我们必须在方法体的逻辑上的最后一行使用return+返回值类型数据的定义方式定义返回值

不管是静态方法还是非静态方法都要声明返回值的

3.6.5 方法名的问题

方法名也是Java中标识符,除了满足标识符的四个要求之外,还必须满足小驼峰命名法。studentName

3.6.6 方法的形参列表

形参是方法在调用的时候,必须要传递进去的一些参数,方法可以有0个形参,也可以只有1个形参,也可以有多个形参。

  • 形参列表的声明语法

(数据类型形参名,数据类型形参名,……)

  • 形参就是方法的局部变量,局部变量没有被初始化,当我们调用方法时,必须按照形参的数据类型和顺序传递对应的数据值,传递数据值以后,局部变量就会在内存中自动初始化

  • **【注意】:**形参列表有一种特殊的形参,可变形参,在有些情况下,方法传递的参数的值的个数不确定的,但是参数的类型是确定的,可变长形参等同于数组,使用组完全一致,但是可变长形参可以不用传递任何的数据。

  1. 语法:

数据类型...... 形参名

  1. 可变长形参的使用就是数组的使用方式

  2. 可变长形参使用有一些注意事项:

3.2.7 方法JVM内存图

在这里插入图片描述

3.2.8 方法的重载

理论上同一个类中方法名必须是唯一的,但是在满足某些条件的基础之上,我们可以让同一个类中出现同名的多个方法。同名的多个方法成为方法的重载。

在类中,确实同一种方法可能因为参数问题需要定义多个重名方法,那么此时这些方法成为方法重载,可以在同一个类中存在多个重载方法。

【注意】方法重载必须满足如下条件

  1. 必须在同一个类中
  2. 方法重载只和形参列表有关系,和返回值没有任何关系
  3. 只要形参满足三个条件的任意一种,都可以构成方法重载(参数的个数、参数的类型、参数的顺序)

3.3 构造器的声明和使用

3.3.1 构造器的定义

构造器其实也是一个方法,比较特殊的方法,构造器在很多情况下也叫构造方法,构造方法是专门用来创建该类对象实例的一个方法。

语法:构造方法的返回值就是该类的对象,构造方法的方法名必须是类名
访问控制修饰符类名-构造器方法名(形参列表){
构造体;

}

【注意】构造器可以有多个,只需要满足方法的重载的条件即可。

3.3.2 构造器的使用

构造器的使用说白了就是对象的创建语法
类名对象名=new构造器的名字-类名(实参列表);

3.3.3 类中的默认构造器的问题

如果一个类中没有声明任何的构造器,那么类在编译的时候会给类中的class文件中自动添加一个public修饰的无参构造器。

一旦我们手动在类中声明了构造器,不管是无参的还是有参的,Java就不会给我们提供了无参构造器了,如果你想使用无参构造器,那么此时就必须手动声明了。

3.3.4 构造器和构造参数的问题

构造参数默认情况下就是给类中的属性进行赋值操作的。

方法中局部变量名可以和属性名重复的,但是重复之后,如果在方法中直接使用变量名获取的是局部变量,如果方法中使用属性,属性名前面要加上this.属性名。

3.3.5 构造器JVM内存图的问题

构造器也是一个方法,执行的时候需要方法入栈。

举报

相关推荐

实训笔记7.19

实训周笔记

实训5.3

web安全攻防实训笔记

实训4.1

实训5.2

坦克实训

金融信息安全实训 课堂笔记5

0 条评论