java笔记------数组

数组:
1)相同数据类型元素的集合
2)数组是一种数据类型(引用类型)
3)数组的定义:
int[] arr = new int[4];
4)数组的初始化: 给数组中的元素赋值
int[] arr = new int[4]; //0,0,0,0
int[] arr = {1,4,5,7}; //1,4,5,7
int[] arr = new int[]{1,4,5,7}; //1,4,5,7
int[] arr;
arr = {1,4,5,7}; //编译错误,此方式只能声明同时初始化
arr = new int[]{1,4,5,7}; //正确
5)数组的访问: 通过下标/索引来访问数组中的元素
下标从0开始,最大到.length-1
int[] arr = new int[4];
System.out.println(arr.length); //4
arr[0] = 100; //给arr中的第1个元素赋值为100
arr[1] = 200;
arr[2] = 300; //给arr中的第3个元素赋值为300
arr[3] = 400;
arr[4] = 500; //数组下标越界异常
System.out.println(arr[arr.length-1]); //输出最后一个元素
6)数组的遍历:
int[] arr = new int[10];
for(int i=0;i<arr.length;i++){ //遍历arr数组
arr[i] = 100; //给arr中每个元素都赋值为100
}
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
for(int i=arr.length-1;i>=0;i--){
System.out.println(arr[i]);
}
7)数组的复制:
System.arraycopy(a,1,a1,0,4);
int[] a1 = Arrays.copyOf(a,6);
a = Arrays.copyOf(a,a.length+1);
8)数组的排序:
Arrays.sort(arr); //升序排

其他:
冒泡排序算法对数组排序--int[] arr = {45,23,87,1};

冒泡原理:
1)4个数冒3轮
2)每一轮都是从第1个元素开始比
3)每一次都是和它的下一个元素比
4)冒出来的数就不带它玩了
arr.length-1-i
i=0 比3次
i=1 比2次
i=2 比1次

int[] arr = {45,23,87,1};
for(int i=0;i<arr.length-1;i++){ //控制轮数
for(int j=0;j<arr.length-1-i;j++){ //控制每轮比较的次数
if(arr[j]>arr[j+1]){
int t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}

第一轮:
45和23比,换,23,45,87,1
45和87比,不换,23,45,87,1
87和1比,换,23,45,1,87-----------87冒出来了
第二轮:
23和45比,不换,23,45,1,87
45和1比,换,23,1,45,87------------45冒出来了
第三轮:
23和1比,换,1,23,45,87------------23冒出来了

时间: 2024-10-17 07:59:45

java笔记------数组的相关文章

7.1-全栈Java笔记:数组的概念和初始化

数组概述和特点 数组的定义: 数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个下标来访问它们.数组的三个基本特点: 1.长度是确定的.数组一旦被创建,它的大小就是不可以改变的. 2. 其元素必须是相同类型,不允许出现混合类型. 3. 数组类型可以是任何数据类型,包括基本类型和引用类型. 老鸟经验 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量.数组本身就是对象,Ja

7.2-全栈Java笔记:数组常见的操作

数组常见操作 数组的遍历 数组元素下标的合法区间:[0, length-1].我们可以通过下标来遍历数组中的元素,遍历时可以读取元素的值或者修改元素的值. [示例1] 使用循环遍历初始化和读取数组 public class   Test { public static void   main(String[] args) { int[]   a = new int[4]; //初始化数组元素的值 for(int   i=0;i<a.length;i++){ a[i] = 100*i; } //读

Java笔记:数据类型、变量和数组

一.基本类型 Java的基本类型可划分为四组: ①整型:byte.short.int.long(宽度依次为8.16.32.64,不支持无符号类型) ②浮点型:float.double(宽度依次为32.64,不支持无符号类型) ③字符型:char(宽度为16,支持Unicode.ASCⅡ表示) ④布尔型:boolean 整型字面值: class Solution { public static void main(String[] args) { int bin = 0b11;//二进制以ob开头

4.1-全栈Java笔记:对象的进化史

面向对象和面向过程的区别 面向过程编程思想思考问题时,我们首先思考"怎么按步骤实现?"并将步骤对应成方法,一步一步,最终完成. 这个适合简单任务,不需要过多协作的情况下.比如,如何开车?我们很容易就列出实现步骤: 1. 发动车 2. 挂挡 3.踩油门 4. 走,你 面向过程适合简单.不需要协作的事务. 如果,我们需要思考"如何造车?",你就会发现列出1234这样的步骤,是不可能的.那是因为,造车太复杂,需要很多协作才能完成. 面向对象(Object)编程,更契合人的

4.3-全栈Java笔记:面向对象的内存分析

面向对象的内存分析 为了让大家对于面向对象编程有更深入的了解,我们要对程序的执行过程中,内存到底发生了什么变化,进行剖析,让大家做到"心中有数",通过更加形象的方式理解程序的执行方式. 老鸟建议:       本节是为了让初学者更深入了解程序底层执行情况,为了完整的体现内存分析流程,会有些新的名词,比如:线程.Class对象.大家暂时可以不求甚解的了解,后期学了这两个概念再回头来看我们这篇内存分析,肯定收获会更大. Java虚拟机的内存可以分为三个区域:栈stack.堆heap.方法区

Java 笔记(8)

JSP 技术 day8 JSP语法 + EL + JSTL day9 案例 2-3 个 综合小案例 day10 Servlet+JSP 综合练习 为什么sun推出 JSP技术 ? Servlet 生成网页比较复杂,本身不支持HTML语法,html代码需要通过response输出流输出,JSP支持HTML语法,生成HTML方便. JSP技术与Servlet 技术区别和关系? JSP和Servlet技术都是用来动态生成网页的,Servlet不支持HTML语法,生成网页麻烦,JSP支持HTML语法,生

Java笔记(10)

第一天 ----- 第十天 知识点复习 day1 XML 语法和两种约束技术 1.XML语法写法.规范: 根元素必须唯一.元素名称与属性名称不能以数字开始.元素标记必须结束.元素不能交叉嵌套.属性值必须加引号(双引号.单引号) ----- 考试:排错 2.CDATA块 与 特殊字符转义在 使用上区别 ? <book> <p>标记的作用 </book>  ----- 标记内容 <p> 是一个特殊内容 CDATA : <book> <![CDA

JAVA笔记26-网络编程(不等于网站编程)

一.网络基础(TCP/IP详解) 1.IP协议(Internet Protocol):网络层,支持网间数据报通信.无连接数据报传送,数据报路由选择和差错控制. IPv4 32位(4字节),IPv6 128位(16字节).P ping ICMP协议 2.TCP协议.UDP协议 (1)TCP(transmission control protocol 打电话):专门设计用于在不可靠的因特网上提供可靠的.端到端的字节流通信的协议.它是一种面向连接的协议.有三次握手.慢 (2)UDP(user data

java笔记整理

Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, Ejb, java和模式 Linux/Unix笔记 inode :存储编号(地址) ls -k:查看磁盘分区 ls -li:显示当前文件的inode号. 目录的大小跟文件的大小有关,跟目录里的文件(目录)数量无关. 一行多个命令的话,中间用分号分开.如:pwd;cal;date last | grep