1.数组:

概念:同一种类型数据的集合,其实,数组就是一个容器

优点:可以方便的对其进行操作,编号从0开始,方便操作这些元素。

2,数组的格式

元素类型[]数组名=new 元素类型[数组元素个数];

int [] arr = new int[5];

int []arr = new int[]{1,2,3};

int []arr={1,2,3};

3.数组的内存分配及特点

int []arr = new int[4];

栈内存中定义一个数组变量,在堆内存中是实体内容,一排连续的地址。

4.java程序在运行时,需要在内存中分配空间,为了提高效率,有对其进行了区域划分,每一块有特定的处理数据的方式和内存管理方式

内存划分为:寄存器、本地方法区、方法区、栈内存区、对内存区。

栈内存:用于存储局部变量,当变量所属的作用域一旦结束,所占空间就会被释放。

堆内存:数组和对象,通过new创建一个实例放入对中,每一个实例一个内存地址值。

实体中的变量都有默认的初始化值,根据数据类型的不同而不同,正数的数据类型是0,小数的类型是0.0或0.0f,boolean类选哪个是false。

如果将数组中的引用实体设置为null,那么就表示实体不被引用,那么会在不确定的时间内被内存回收机制所回收。

5.数组的常见操作。

(1)对数组操作的动作就是存取,核心思想就是对角标的操作。

  首先,遍历打印数组元素,遍历的时候,数组的长度是Array1.length

(2)获取数组的值(最大、最小)

实现方法:

需要比较,并定义变量记录住每次比较后的较大值。

对数组中的元素进行遍历取出,和变量中记录的元素进行比较,如果遍历到变量中进行比较,记住最大的值。

变量结果,该记录就是最大值。

一句话总结:假设一个最大值,然后变量数组,让其和任意一个数据进行比较,如果比它大就进行替换,假如小,就不做任何操作,进行下一次数据操作。

实现代码:就是将数据的值进行记录,还有一种是对角标进行记录。

(3)排序:

1)选择排序

思路:首先得到数组的第一个元素,依次与其他数据进行比较,如果第一个元素大于剩下 的元素,就互换内容。

       经过一次比较之后,就可以得到第一个数据为最小的数据,然后将第二个元素,进行下一次的数据比较。

一次类推,直到最后一个元素。

   2)冒泡排序

   思路:首先在第一次排序中,数组的第一个元素到倒数第二个元素依次与其左边元素进行比较,如果左边大于左边元素,就互换。

      经过一次比较,最大的元素就已经存入到数组最右边的节点中

      第二论排序则是从第一个元素到倒数第三个元素依次与其右边的元素进行比较,如果左边的元素大于右边的元素,那么就互换。

      依次下去,就可将所有 的数据比较而结束。

当然上面的排序可以直接的调用工具类来完成操作。

(4)折半查找

    一般的数据,如果没有顺序,那么就只有使用遍历的方法进行数据的查找,如果是有顺序 的时候就可以使用折半查找的方法了‘。

  折半查找的实现思路:

  1,设置三个变量:min、max、mid,min初始为0,max为数组的最大角标,mid是(max+min)/2.

2.查看mid角标的元素是否与带查找的数据值相等,如果相等就可以返回数据

    3.如果待查找小于mid的元素值,那么就说明需要在min和mid之间查找数据,如果大于mid的值就需要在max和mid之间找值

      4.如果数组中找不到待查找的元素,那么就返回-1.

6.数组可以存什么:可以存基本数据类型和对象数据类型。

java学习笔记之基础语法(二)的更多相关文章

  1. Java学习笔记之---基础语法

    Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTw ...

  2. java学习笔记之基础语法(一)

    1.java语言基础由关键字.标识符.注释.常量和变量.运算符.语句.函数和数组等组成. 2.1关键字 定义:被java语言赋予了特殊含义的单词 特点:关键字中所有的字母都是小写. 2.2用于定义数据 ...

  3. Java学习笔记之基础语法(数组)

    数组 数组概述:是具有相同数据类型的数据的集合 数组的定义:数据类型 数组名 [] 数组特点: 1,数组是引用数据类型. 2,数组值用大括号,元素之间用逗号隔开,元素的个数是0-N个 3,数组长度是固 ...

  4. Java学习笔记之基础语法(顺序,条件,循环语句)

    顺序结构:自上而下 条件分支选择结构: if条件语句   1,一旦某一个分支确定执行以后,其他分支就不会执行.if后面的条件必须是boolean类型   2,if  后面如果不加大括号,默认相邻的下一 ...

  5. Java学习笔记之基础语法(数据类型)

    8种基本数据类型    整型:   byte[1字节]          short[2字节]        int[4字节]         long[8字节]      1,四种整型之间的区别:申 ...

  6. java学习笔记之OOP(二)

    java学习笔记二.面向对象[OOP]Object Oriented Programming 一.三大特性: 1.封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用 ...

  7. java学习笔记之基础篇

    java选择语句之switch   //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...

  8. JAVA学习笔记之基础概念(一)

    一.Java 简介: Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称. 由 James Gosling和同 ...

  9. Hive学习笔记:基础语法

    Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ...

随机推荐

  1. android-从官网下拉源码(ubuntu)

    今天终于成功的从谷歌官网上下载了android 源码.中间折腾了好久,最终总算有所收获 1.下载repo curl https://storage.googleapis.com/git-repo-do ...

  2. ubuntu14.04-安装flash

    最近打开搜狐等在线视频,都提示我说flash没有安装,然后就点击安装.进入安装界面 如下所示 然后我们选择版本.之前我一直都是选择版本APT,因为里面标注的是适用于ubuntu10.04+,这时候它会 ...

  3. 50.Node.js 连接 MySQL

    转自:http://www.runoob.com/nodejs/nodejs-express-framework.html 安装驱动 本教程使用了淘宝定制的 cnpm 命令进行安装: $ cnpm i ...

  4. 33.IDEA + maven]在IDEA中打开一个maven项目,resolve完依赖后,缺少部分jar包问题

    转自:https://www.cnblogs.com/zazalu/p/7649590.html [注意]作者只是对使用过程中遇到的问题提出了一个解决方案,但是本人在编写此解决方案文章的时候,对mav ...

  5. js的style和getArribute("属性名")

    getAttribute()是HTML DOM的一个方法,用以获取HTML元素的属性(如id,name,type以及其他自定义属性). style是HTML DOM的一个关于样式的对象,style对象 ...

  6. XML与JSON的区别?各自有哪些优缺点?

    JSON和XML都是数据传输格式,它们有哪些区别,又都有些什么优缺点呢?零度带领大家来分析分析. 一.先来看看两者的定义 1.XML的定义 扩展标记语言 (Extensible Markup Lang ...

  7. linux命令行打开图片

    1.用预装的eog eog a.jpg 2.安装 imagemagick display a.jpg

  8. watch---周期性的方式执行给定的指令

    watch命令以周期性的方式执行给定的指令,指令输出以全屏方式显示. 选项 -n:指定指令执行的间隔时间(秒): -d:高亮显示指令输出信息不同之处: -t:不显示标题.

  9. 三分钟上手Highcharts简易甘特图

    根据业务需求,找到了这个很少使用的图形,话不多说,看看该如何使用.首先要引入支持文件:可根据链接下载. exporting.js:https://img.hcharts.cn/highcharts/m ...

  10. FZU 1962 新击鼓传花游戏

    新击鼓传花游戏 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on FZU. Original ID: 19 ...