java学习笔记之基础语法(二)

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.数组可以存什么:可以存基本数据类型和对象数据类型。

原文地址:https://www.cnblogs.com/kw28188151/p/8366869.html

时间: 2024-10-21 15:38:21

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

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

1.java语言基础由关键字.标识符.注释.常量和变量.运算符.语句.函数和数组等组成. 2.1关键字 定义:被java语言赋予了特殊含义的单词 特点:关键字中所有的字母都是小写. 2.2用于定义数据类型的关键字 class.interface.byte.short.int.long.float.double.char.boolean.void 2.3用于定义数据类型值的关键字 true.false.null 2.4用于定义流程控制的关键字 if.else.switch.case.default

01-Python学习笔记-基础语法

Python标识符 -d           在解析时显示调试信息 -O           生成优化代码 ( .pyo 文件 ) -S           启动时不引入查找Python路径的位置 -v            输出Python版本号 -X           从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时. -c cmd     执行 Python 脚本,并将运行结果作为 cmd 字符串. file           在给定的python文件执行python脚本. P

PHP:学习笔记(2)——基础语法

PHP:学习笔记(2)--基础语法 向屏幕输出 说明 1.void echo ( string $arg1 [, string $... ] ) 2.int print ( string $arg ) 注意: 1.echo.print 实际上不是一个函数(它是一个语言结构),因此你可以不必使用圆括号来括起它的参数列表. 2.输出变量的时候需要使用双引号! 3.int printf ( string $format [, mixed $args [, mixed $... ]] ) 4.strin

java学习总结--2.基础语法

2.java基础语法  java基础语法和c语言有很多相同之处,因为java'作为后起之秀,借鉴了很多C.C++的语法 1.关键字goto和const不能在java中使用,是为了方便C和C++转换为java代码,如果转换的C和C++包含这两个单词会报编译错误   三个保留字false true null 2.标示符 1.标示符不能为关键字和保留字 2.只能包含字母数字下划线和美元符号$ 3.不能以数字开头 4,.区别大小写,没有规定长度 约定俗成的规则 首字母小写 变量名第一个单词首字母小写后面

Hive学习笔记:基础语法

Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ‘用户Id’, username string comment ‘用户名称’, userpwd string comment ‘用户密码’, createtime string comment ‘创建时间’ ) comment ‘用户信息表’ row format delimited fileds

Java学习笔记之基础篇(二)

一.多态性 1.多态性的体现 方法的重载与重写 对象的转型 2.对象的多态性 向上转型:自动完成 父类    父类对象=子类实例: 向下转型:强制类型转换 子类    子类对象=(子类)父类实例: 二.内部类 1.内部类的共性 (1).内部类仍是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前冠以外部类的类名和$符号: (2).内部类不能用普通的方式访问.内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的 . (3).内部类声明成

#Java学习之路——基础阶段二(第十篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言:此随笔主要是Java基础中的基础,相信大家对这方面肯定有着自己的理解和认识,具体详解可以参照万能的baidu,有的我就一笔带过,希望在我的学习之路上能够有大牛进行指导,也有更多的小伙伴共勉. 1.Junit单元测试 我们在编程的时候会写一些功能,但是总不可能就是说没写一个功能来进行测试就要对整个项目

#Java学习之路——基础阶段二(第二篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言:此随笔主要是Java基础中的基础,相信大家对这方面肯定有着自己的理解和认识,具体详解可以参照万能的baidu,有的我就一笔带过,希望在我的学习之路上能够有大牛进行指导,也有更多的小伙伴共勉. 1.collection集合 collection集合是用来存储多个数据的相比数组来说,集合的长度是可以进行

#Java学习之路——基础阶段二(第四篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言:此随笔主要是Java基础中的基础,相信大家对这方面肯定有着自己的理解和认识,具体详解可以参照万能的baidu,有的我就一笔带过,希望在我的学习之路上能够有大牛进行指导,也有更多的小伙伴共勉. 1.Map集合 Map集合相比Collection集合来说是以键值对形式存在的,当存入数据的时候键的值是唯一