2021-04-12

数组:数组就是相同类型数据的有序集合

数组的声明和创建:变量的类型 变量的名字 = 变量的值

一种是在变量名后面加一个中括号【】,另一种是在名字后面加一个中括号

int[ ] nums; 首选 int nums[];

nums =new int [10];//这里面可以存放10int类型的数字;定义了一个什么类型的数组,就new一个什么类型的数组

数据类型 【】 数组名 = new 数据类型【数组长度】

nums [0] = 1; nums [1] = 2;

System.out.println(num[0]);//1

若是没有赋值,则默认int类型0

java 语言使用new操作符来创造数组,你定义了一个什么样的数组,紧接着就new一个什么样的数组,如上

数组的元素是通过索引访问的,数组索引是从0开始

获取数组长度:arrays.length

for (int i=0; i<nums.length;i++);

sums = sum +nums[i];

}

System.out.println(“总和为:”+sum)//55

数组的基本特点:其长度是确定的,数组一旦被创建它的大小是不可改变的

2:其元素必须是相同的,不允许出现混合类型

3:数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型

4:数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量

5:数组本身就是对象,java中对象是在堆中的,因此数组无论保存原始数据类型还是其他数据类型,数组对象本身是在堆中的

堆:存放new的对象和数组;可以被所有的线程共享,不会存放别的对象引用

栈:存放基本变量类型(会包括这个基本类型的具体值);引用对象的变量(会存放这个引用在堆里面的具体值)

创建加赋值:语;

静态初始化:int [ ] a= {1,2,3,4,5,6,7,8};

System.out.println(a[0]);//1

动态初始化:int[ ] = new int [10];

b[ 0 ] =10;

System.out.println(b[0]);//10

ArraylndexOutOfBoundsException:数组下标越界异常

数组的使用:1for-each 2数组做方法入参 3数组做返回值

int[ ] arrays = {1,2,3,4,5};

//打印全部的数组元素

for (int i = 0; i < arrays.length; i++}{

System.out.println(arrays[i]);

}

//计算所有元素的和

int sum = 0;

for (int i = 0; i < arrays.length; i++}{

sum = sum + arrays[i]; //sum += arrays[i];

}

System.out.println(“sum=”+sum);

//查找最大元素

int max = arrys [ 0];

for (int i = 1; i < arrays.length; i++}{

if (arrys[i]>max){

max = arraus[i];

}

}

System.out.println(“max=”+max);

}

反转数组:public static void printArray(int[] arrays){

int [] result = new int [arrays.length];

//反转操作for(int i = 0,j = result.length-1;i <arrays.length;i++,j–

){

result [j] = arrays[i];

for (int i = 1; i < arrays.length; i++}{

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

}

多维数组

二维数组:int a [] [] = new int [2] [5];可以看成一个两行五列的数组!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s88saLG9-1618223353612)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images\image-20210408155141626.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9Rb6ERA-1618223353615)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images\image-20210408155228054.png)]

比较数组中,两个相等的元素,如果第一个数比第二个数大,那么我们就交换他们的位置;每次交换都可以产生一个最大和最小的数,下一轮可以少依次排序,直到结束

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xewQchk-1618223353616)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images\image-20210408155701363.png)]

稀疏数组:

当一个数组大部分为0,或者同一数值时,可以使用稀疏数组来保存该数组

稀疏数组处理方式:记录数组一共有几行几列。有多少个不同的值

把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模

面向对象编程:oop oo指的是面向对象

1初始面向对象

2方法回顾和加深

3对象的创建和分析

4面向对象的三大特性

5抽象类和接口

6内部类及oop实战

属性加方法就是一个类

面向对象的本质:以类的方法组织代码,以对象的组织(封装)数据

三大特性:封装。继承。多态

从认识的角度考虑是先有对象后有类,对象,是具体的事物。类是抽象的,是对对象的抽象

从代码角度考虑是先有类后有对象。类是对象的模板

类定义的方法:修饰符 返回值类型 方法名(…){

方法体}

return 返回值(返回值和返回值类型相互对应)

return结束方法,返回一个结果;void不用返回,以为他定义返回值为空

参数列表(参数类型,参数名)

static:静止的 string:一串

方法调用:静态方法:调用的话直接类名.方法名

非静态方法:实例化这个类new;对象类型 对象名 = 对象值

举例:Student student = new Student();

new student .say

调用:对象名.方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q2ha8lku-1618223353619)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images\image-20210412144914948.png)]

引用传递:本质还是值传递

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7XxntSq-1618223353622)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images\image-20210412182712693.png)]

回顾62

类与对象的关系: 类:就是用来描述定义某一具体的事物应该具备的特点和行为

一个项目应该只存在一个main方法

类=属性+方法 属性:字段 String name /int age

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t0wL3rtx-1618223353623)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images\image-20210412182744656.png)]

构造器:一个类即使什么都不写,他也会存在一个方法

特点:必须和类的名字相同

2:必须没有返回类型,也不能写void

作用:使用new关键字,必须要有构造器 2用来初始化值

有参构造:一旦定义了有参构造,如果想使用无参构造,无参就必须显示定义

alt+insert生成构造器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TVfnnOBs-1618223353625)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images\image-20210412182828856.png)]

对象的创建和使用:必须使用new关键字创造对象,构造器:person kuangshen = new person();

对象的属性:kuangshen.name

对象的方法:kuangshen.sleep()

类:静态的属性 动态的行为

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值