java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象

本文深入讲解Java数组操作,包括数组工具类Arrays的各种方法,如toString、sort、binarySearch、copy、fill,以及数组复制、二维数组的创建与使用。此外,还探讨了变量的类型与初始化,方法的参数传递与递归调用,为初学者提供全面的Java基础语法指南。

1. java.util.Arrays  数组工具类

   Arrays.toString (数组)

数组值链接字符串

 

   Arrays.sort(数组)  

基本类型: 优化的快速排序

引用类型: 优化的合并排序

 

   Arrays.binarySearch(数组,目标值)

二分法查找

在有序数组中, 查找目标值的位置

找不到,返回辅负数无意义值

 

   Arrays.copy(数组,长度)

把数组复制成指定长度的新数组

不超出原数组长度,相当于截取

超出原数组长度, 超出范围赋值默认值

 

   Arrays.fill(数组,值)

填满指定的值,每一个位置都变化指定的值

 

2. 数组复制

   Arrays.copyof(数组,长度);

会新创建数组

 

不会新创建数组

   System.arraycopy(

                           原数组,

                           原数组起始位置,

                          目标数组,

                          目标数组起始位置,

                          复制的数据数量

                                               );

 

3.二维数组

  标识存放数组的数组

创建二维数组

  int[][] a = new int[3][2]; 默认0

  int[][] a = new int[3][]; 为 null

   只创建外围数组都是默认值null,可以之后创建数组放入外围数组.

  int[][] a = {

                 {2,3,6},

                 {5,7,9}

                        };

 

4.变量

  局部变量:

定义在方法中,或局部的代码快中

1. 局部变量必须手动初始化, 初始化就是第一次赋值时,分配内存

   int  i ;  print(i);  // 错的,没有初始化, 内存中不存在这个地址.

   i =  5; print(i);   // 对的, 第一次赋值,初始化

2. 局部变量的作用域只存在于定义的大括号结束.

3. 作用域范围内不能重复定义

 

  成员变量

1. 直接定义在类中.

2. 成员变量自动初始化成默认值

   int i ; // 默认 0,

   int[] a; // 默认 null

   boolean  b; // 默认 false

 

5. 方法

  方法的参数传递

main 方法是静态的方法,静态方法能访问静态的方法,能访问静态成员变量, 但不能访问非 static


 

 

 

Java 的参数传递是值传递

 

    方法的递归调用

在方法中,调用自身

   void f(){

      f();

   };

递归一步一步的简化问题,简化成最简问题,再倒推求出结果

一般不同时做多次递归运算, 否则运算量会急剧增加, 可以考虑用循环代替

 

基础语法总结

 

面向对象

人为抽象的编程模型

把程序中的事物,算法,逻辑,概念等,抽象成一个一个的具体物体.

 

对象

引用

构造方法

this

方法重载

继承

super

重写

多态

instanceof

抽象类

final

static

访问控制符

对象的创建过程

接口

内部类

 

类:  

相关的数据,方法代码,封装在一个程序组件中,称为类

类可以理解成模板,用模板创建对象,实例.

每个对象都占用独立的内存空间,来保存各自的属相数据

每个对象,可以独立控制,执行指定的方法代码

 

 

引用:   

引用类型变量

保存一个对象的地址

使用引用变量,可以找到一个对象的内存空间,访问它的数据,或调用方法

引用类型的特殊值: null    不引用任何对象的内存地址.

 

 

 

 

 

 

    

 

转载于:https://www.cnblogs.com/dingzhijie/p/10706060.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值