2022-11-06

二维数组

定义:数组中还有数组。

二维数组的应用场景

当我们需要把数组进行分组管理的时候,就需要运用到二维数组。

二维数组的的静态初始化。

格式:数据类型[]数组名 = new 数据类型[][]{{元素1,元素2} ,{元素1,元素2}};

范例:int[][] arr = new int[][]{{11,22},{33,44}};

简化格式:数据类型[] 数组名 = {{元素1,元素2},{元素3,元素4}};

范例:int[][]arr = {{11,22},{33,44}};{习惯用这个}

范例:int arr[][] = {{11,22},{33,44}};

//以后建议这样定义,把每一个一维数组,单独写成一行

//注意:每一个一维数组其实是二维数组中的元素,所以每一个一维数组中间需要用逗号隔开,最后一个一维数组不用加逗号。

int[][] arr3 = {

        {1,2,3},

        {4,5,6,7,8}

};

//2.获取元素

//arr[i][j];

arr:二维数组

i:二维数组的索引,获取出来的是里面的一维数组

j:表示一维数组中的索引,获取出来的就是真正的元素。

System.out.println(arr3[0][0]);//表示获取二维数组中的第一个一维数组

//arr3[0]:二维数组中的第一个一维数组

//arr3[0][0]:获取第一个一维数组中0索引的元素:1

System.out.println(arr3[1][4]);//打印数字8

//3.遍历

先得到一维数组,在遍历一遍数组获取元素

//外循环:遍历二维数组,得到里面的每一个一维数组

for(int i = 0; i < arr3.length; j++) {

    //j:表示一维数组中的每一个元素

    System.out.print(arr3[i][j] + " ");

}

System.out.println();

二维数组的动态初始化

格式:数据类型[][] 数组名 = new 数据类型[m][n];

m表示这个二维数组,可以存放多少个一维数组

n表示每一个一维数组,可以存放多少个元素

范例:int[][] arr = new int[2][3];

该数组可以存放2个一维数组,每一个一维数组中可以存放3个 int类型元素。

//1.利用动态初始化格式创建二维数组

//3:表示二维数组长度为3,可以3个一维数组

//5:表示每一个一维数组的长度都是5

int[][]arr = new int[3][5];

//给二维数组赋值一个元素

arr[0][0] = 10;

//遍历二维数组

//外循环:

//内循环

for(int i = 0,i < arr.length; i++){

    for(int j = 0; j < arr[i].length;j++){

        System.out.print(arr[i][j]+" ");   

    }

    System.out.println();

}

二维数组的内存图

面向对象

面向:拿,找

对象:能干活的东西

面向对象编程:拿东西过来做对应的事情

面向对象的重点学习什么?

学习获取已有对象并使用

学习如何自己设计对象并使用

设计对象并使用

类和对象

类(设计图):是对象共同特征的描述

对象:是真实存在的具体东西。

在JAVA中,必须先设计类,才能获取对象。

如何定义类

如何得到类的对象

类名 对象名 = new 类名();

Phone p = new Phone();

如何使用对象

访问属性:对象名.成员变量

访问行为:对象名.方法名(.....)

类的几个补充注意事项

用来描述一类事物的类,专业叫做:Javabean类。在Javabean类中,是不写main方法的。

在以前,编写main方法的类,叫做测试类。

我们可以在测试类中创建javabean类的对象并进行赋值调用。

{1、JavaBean必须是一个公开的类,也就是说JavaBean的类访问权限必须是public的。

2、JavaBean必须是具有一个无参数的构造方法。如果在JavaBean中定义了自定义的有参构造方法,就必须添加一个无参数构造方法,否则将无法设置属性,如果没有定义自定义的有参构造方法,则可以利用编译器自动添加的无参构造方法。

3.JavaBean

JavaBean是一种Java语言写成的可重用组件。

所谓javaBean,是指符合如下标准的Java类:

--类是公共的

--有一个无参的公共的构造器

--有属性,且有对应的get、set方法

--用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。

用户可以认为JavaBean提供了一种随时随地的复制和粘

贴的功能,而不用关心任何改变。

————————————————

原文链接:https://blog.csdn.net/weixin_57219104/article/details/122005510}

类名首字母建议大写,需要见名知意,驼峰模式。

一个JAVA文件中可以定义多个class类,且只能一个类是public修饰。而且public修饰的类名必须成为代码文件名。

实际开发中建议还是一个文件定义一个class类。

成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值。

面向对象 03封装

封装

封装的好处:

原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为

降低我们的学习成本,可以少学,少记,或者说压根不用学,不用记对象有哪些方法,有需要时去找就行。

让编程变得简单,有什么事,找对象,调方法就行。

封装告诉我们,如何正确设计对象的属性和方法。 

private关键字

是一个权限修饰符

可以修饰成员(成员变量和成员方法)

被private修饰的成员只能在本类中访问

针对private修饰的成员变量,如果需要被其它类使用,提供相应的操作。

提供“setXxx(参数)”方法,用于给成员变量赋值,方法用public修饰。

提供“getXxx()”方法,用于获取成员变量的值,方法用public修饰

this关键字

this的作用:可以区别成员变量和局部变量

成员变量和局部变量

成员变量:定义在方法外面

局部变量:定义在方法里面

打印(System.out.println(age)):就近原则,谁离我近,我就用谁。

如果要用成员变量,需要在age前面加上this

eg:

System.out.println(this.age);

局部变量

public void setName(String name){

    //局部变量表示测试类中调用方法传递过来的数据

    //等号的左边,就表示成员位置的name

    this.name = name;

}

构造方法的学习目标

构造方法的格式

构造方法的作用:创造对象的时候,由虚拟机自动调用,给成员变量进行初始化的。

构造方法概述

构造方法也叫做构造器,构造函数

作用:在创建对象的时候给成员变量进行赋值的。

构造方法有两种

无参数构造方法:初始化的的对象,成员变量的数据均采用默认值。

有参数构造方法:在初始化对象的时候,同时可以为对象进行赋值。

构造方法注意事项

构造方法的定义

如果没有定义构造方法,系统将给出一个默认的无参数构造方法。

如果定义了构造方法,系统将不再提供默认的构造方法。

构造方法的重载

带参构造方法,和无参数构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载。

推荐的使用方式

无论是否使用,都手动书写无参数构造方法,和带全部参数的构造方法。

任何类定义出来,默认就自带了无参数构造器,写不写都有。

一旦定义了有参数构造,无参数构造就没有了,此时就需要自己写无参数构造器了。

标准的JavaBean类

类名需要见名知意

成员变量使用private修饰

提供至少两个构造方法

无参构造方法

带全部参数的构造方法

成员方法

提供每一个成员变量对应的setXxx()/getXxx()

如果还有其他行为,也需要写上。

对象内存图

Java内存分配介绍

一个对象的内存图

一个对象的内存图

Student s = new Student();

加载class文件:把Student加载到内存

申明局部变量:对s进行申明

在堆内存中开辟一个空间:new

默认初始化

显示初始化

构造方法初始化

将堆内存中的地址值赋值给左边的变量

4.5.6.都是对3.的变量进行赋值

多个对象的内存图

两个变量指向同一个对象内存图

this的内存原理

this的作用:区分局部变量和成员变量

this的本质:代表方法调用者的地址值

基本数据类型和引用数据类型的原理

基本数据类型:数据值是存储在自己的空间中

特点:赋值给其他变量,也是夫的真实的值。

引用数据类型:数据值是存储在其他空间中,自己空间中存储的是地址值。

特点:赋值给其他变量,赋的地址值。

局部变量和成员变量的区别(了解)

API

应用程序编程接口

简单理解:API就是别人已经写好的东西,我们不需要自己编写,直接使用即可。

public static void main(String[]args){

    Random r = new Random;

    int nummber = r.nextInt(100);

}

Java API指的就是JDK中提供的各种功能的JAVA类。这些类将底层的实现封装了起来,不需要管新蕾是如何实现的,只要学习这些类是如何使用即可。

还会有更多API

API帮助文档

帮助开发人员更好的使用API和查询API的一个工具。

字符串在开发中的应用场景

用户登录

屏蔽一些字符

字符串学习内容

String ,StringBuilder,StringJonier,StringBuffer,Pattern,Pattern,Matcher

可以掌握字符串的一些常见操作了

实际开发中的一些常见案例

掌握分析问题,解决问题的能力

你可能感兴趣的:(2022-11-06)