实训笔记6.5

这篇具有很好参考价值的文章主要介绍了实训笔记6.5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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内存图

实训笔记6.5

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内存图的问题

构造器也是一个方法,执行的时候需要方法入栈。文章来源地址https://www.toymoban.com/news/detail-472498.html

到了这里,关于实训笔记6.5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 实训笔记7.7

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 2.1 使用ssh远程连接协议进行连接 2.2 ssh使用有两种方式 使用命令来连接 ssh 用户名@ip 使用一些软件来连接 xshell finalshell 3.1 查看当前工作目录 pwd 3.2 切换工作目录的命令 cd 路径(绝对路径/相对路径) Linux的目录

    2024年02月13日
    浏览(31)
  • 实训笔记8.25

    将海量的数据通过某种技术采集到大数据环境中进行存储和管理,为后期的大数据处理分析做准备 常见的数据:网站/软件的运行日志、记录的日志,软件的结构化数据、爬虫数据、传感器采集数据… Flume是apache开源的顶尖项目,专门是采集和聚合海量的日志数据。但是随着

    2024年02月11日
    浏览(28)
  • 实训笔记6.21

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 2.1 JavaIO流 2.1.1 从三个角度分为六类 输入流和输出流 字节流和字符流 节点流和功能流 2.1.2 IO流的四大抽象基类 四大抽象基类 InputStream OutputStream Reader Writer InputStream、OutputStream: 所有格式的数据 Reader、Writer:

    2024年02月10日
    浏览(26)
  • 实训笔记8.29

    1.1 项目的预备知识 1.1.1 电商平台 1.1.2 用户行为数据 访客的用户信息 访客的终端信息 请求网址信息 请求来源信息 请求的产品信息 1.1.3 常见的软件/网站的组成和技术实现 前端 后端 数据库 1.1.4 大数据中数据计算场景 离线计算 实时计算 图计算 算法挖掘推荐等等 1.2 项目的

    2024年02月10日
    浏览(28)
  • 华为实训课笔记

    ping 基于ICMP协议,用来进行可达性测试 ping +目的IP地址/设备域名(主机名) 如果能收到 reply 回复,则表示双方可以正常通信。一次正常的数据通信必须是有去有回。 Huawei 用户视图,只能做查询和一些简单的资源调用,还有配置保存 Huaweisystem-view 进入系统视图 [Huawei] 系统视

    2024年02月04日
    浏览(26)
  • 粤嵌实训笔记二

    1、在Linux下,使用 gcc 来编译 gcc xxx.c -- 默认生成的可执行文件 名为 a.out gcc xxx.c -o xx -- 生成指定名字的可执行文件 xx 2、交叉编译 :在一个环境下编译生成 适用于 另一个环境下的可执行文件 3、为交叉编译工具创建软连接 sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-

    2024年02月03日
    浏览(35)
  • 实训笔记6.26

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 2.1 Java多线程 2.1.1 一些概念知识 程序、进程、线程 单核CPU和多核CPU 并行和并发 2.1.2 多线程的创建方式 继承Thread类,重写run方法 实现Runnable接口,重写run方法 实现Callable接口,重写call方法 使用线程池 缓存线程

    2024年02月11日
    浏览(26)
  • 实训笔记7.13

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 九个核心文件的修改 3.1 HDFS的组成 NameNode DataNode SecondaryNameNode 3.2 HDFS的命令行操作方式 hdfs dfs -xxxx xxxxx 3.3 HDFS的JavaAPI操作方式 FileSystem类

    2024年02月16日
    浏览(34)
  • 实训笔记7.19

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 2.1 HDFS上传数据的流程 2.2 HDFS下载数据的流程 2.1~2.2:客户端Client 主节点NameNode 从节点DataNode 2.3 HDFS中NameNode和SecondaryNameNode工作机制(涉及到HDFS的元数据管理操作) 一个概念和两个文件:元数据、edits编辑日志文

    2024年02月16日
    浏览(27)
  • 实训笔记8.22

    1.1 DDL 1.1.1 Hive中数据表的分类问题 Hive中数据表的分类只是用来告诉我们Hive底层在HDFS上存储的文件的规则和规范 1.1.2 特殊的数据类型 array、map、struct Hive数据表可以指定底层的存储格式的分隔符问题row format 1.2 DML Hive中默认不支持批量的删除和更新操作 增加数据 装载数据 追

    2024年02月11日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包