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    不引用任何对象的内存地址.

java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象的更多相关文章

  1. java 数组基础学习(一维二维数组)

    1.一维数组 1>静态初始化:数据类型[ ] 变量名 = {元素} 例:int[ ] arr = {1,2} 动态初始化:数据类型[ ] 变量名 = new数据类型[数据长度] 例:int[ ] ...

  2. Java连载68-数组的拷贝、二维数组

    一.数组的拷贝 函数arraycopy(),参数为:源数组.源数组的开始下标.目标数组.目标数组的开始下标.拷贝长度 package com.bjpowernode.java_learning; ​ ...

  3. c指针与数组,传参问题,指针数组与数组指针的区别,二维数组动态内存分配

    一 数组的结构:顺序存储,看谭浩强中的图,牢记 1.数组名指代一种数据结构:数组 现在可以解释为什么第1个程序第6行的输出为10的问题,根据结论1,数组名str的内涵为一种数据结构,即一个长度为10的 ...

  4. 《Java大学教程》—第16章 二维数组

    多维(Multi-dimensional)数组维数由索引个数决定.常用的数组:一维(one-dimensional)数组.二维(two-dimensional)数组 16.2    创建二维数组索引从 ...

  5. java杨辉三角和空心菱形(二维数组篇)

    一.杨辉三角 import java.util.Scanner; //导入包 public class Test7 { public static void main(String[]args){ S ...

  6. 2017.12.10 Java写一个杨辉三角(二维数组的应用)

    杨辉三角的定律 第n行m列元素通项公式为: C(n-1,m-1)=(n-1)!/[(m-1)!(n-m)!] 需要用到创建二维数组 package com.glut.demo; /** * 杨辉三角 ...

  7. 数组(Array),二维数组,三维数组

    数组(Array):相同类型数据的集合就叫做数组. (一)定义数组的方法: A) type[] 变量名 = new type[数组中元素的个数] 例如: int[] a = new int[10] ; ...

  8. [C++ Primer Plus] 第7章、函数(一)程序清单——递归,指针和const,指针数组和数组指针,函数和二维数组

    程序清单7.6 #include<iostream> using namespace std; ; int sum_arr(int arr[], int n);//函数声明 void ma ...

  9. C语言数组篇(四)二维数组

      二维数组声明: ][] ={{,,},{,,}; //两行 三列         二维数组在声明的时候可以不写行,但一定要写列 ] = {{,},{,,},{}}; //未声明的地方自动补零 二维 ...

随机推荐

  1. ajax属性详解

    https://blog.csdn.net/mooncom/article/details/52402836 资料库: $.ajaxSetup()方法为将来的ajax请求设置默认值. http://w ...

  2. vue.js实战——props数据验证(自定义构造器检测)

    Vue.component('my-component',{ props:{ //必须是数字类型 propA:Number, //必须是字符串或数字类型 propB:[String,Number], ...

  3. 支持“XXX”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。

    在Global.asax文件中的Application_Start()方法中加入以下代码 Database.SetInitializer<XXX>(null);

  4. python 2.x 与3.x 的区别总结

    宏观上:2.x 源码不规范,混乱,冗余. 3.x 源码优美清晰,统一标准,去除了冗余.   默认编码方式:2.x ASCII码  3.x UTF-8 用2.x 处理中文时,需要声明编码方式(由于cmd ...

  5. MATLAB-卡尔曼滤波简单运用示例

    1.角度和弧度之间的转换公式? 设角度为 angle,弧度为 radian radian = angle * pi / 180; angle = radian * 180 / pi; 所以在matla ...

  6. ORM表相关操作

    一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 > all(): 查询所有结果 > filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 > get( ...

  7. windows10安装docker,运行jhipster-registry

    1.官网下载windows版docker 2.设置bios 3.CMD进入到某个jhipster的工程目录,执行"docker-compose -f src/main/docker/jhip ...

  8. MapReduce-CombineTextInputFormat 切片机制

    MapReduce 框架默认的 TextInputFormat 切片机制是对任务按文件规划切片,如果有大量小文件,就会产生大量的 MapTask,处理小文件效率非常低. CombineTextInpu ...

  9. .NET框架 - NETCORE + API + EF + MYSQL

    .NET框架 - NETCORE + API + EFCORE + MYSQL 1. 新建项目: 本文中使用 框架 .netcore2.2 . 2. 生成项目框架 3 安装MYSQL插件 点击“工具” ...

  10. clickhouse的使用和技巧,仅个人

    centos 安装clickhouse curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script. ...