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. Reuse Is About People and Education, Not Just Architecture

     Reuse Is About People and Education, Not Just Architecture Jeremy Meyer you MigHT AdopT THE AppRoA ...

  2. 消灭星星的数组高效率算法(c++代码,控制台程序)

    #include <iostream> using namespace std; #define ROW 12 #define COL 10 class Star { public: en ...

  3. Android 学习笔记进阶14之像素操作

    在我们玩的游戏中我们会经常见到一些图像的特效,比如半透明等效果.要实现这种半透明效果其实并不难,需要我们懂得图像像素的操作. 不要怕,其实在Android中Bitmap为我们提供了操作像素的基本方法. ...

  4. rtmp,rtsp,hLS区别

    流媒体协议一共三种:rtmp,rtsp,http live streaming(apple和adobe各一种)rtmp是adobe的,rtsp android native支持,http live s ...

  5. Kinect 开发 —— 开发前的准备工作

    Kinect SDK v1.5 支持托管语言和非托管语言 Xbox360的游戏是基于Xbox360开发工具包 (XDK)开发的,Xbox 360和Windows是两个完全不同的系统架构.使用Kinec ...

  6. Codefroces Educational Round 26 837 C. Two Seals

    C. Two Seals time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  7. BZOJ5332: [Sdoi2018]旧试题(莫比乌斯反演)

    时光匆匆,转眼间又是一年寒暑…… 这是小 Q 同学第二次参加省队选拔赛. 今年,小 Q 痛定思痛,不再冒险偷取试题,而是通过练习旧 试题提升个人实力.可是旧试题太多了,小 Q 没日没夜地做题,却看不到 ...

  8. ArcGIS Api For Flex 动态画点和线

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  9. Qt样式表——选择器详解(父子关系)

    在上一节中,小豆君给大家介绍了样式表的基本概念和大致用法.今天我们来详细了解下样式表中选择器的用法. 所谓选择器,就是指定你所设置的样式对哪个或哪些控件起作用. 到目前为止,Qt样式表支持CSS2中定 ...

  10. javascript创建对象的方法--基本模式

    javascript创建对象的方法--基本模式 一.总结 关注本质 二.代码 <!DOCTYPE html> <html lang="zh-cn"> < ...