Java基础5
来源:互联网 发布:免费申请域名的步骤 编辑:程序博客网 时间:2024/05/21 07:51
数组:一组类型相同 而且存储空间连续的数据
1:如何定义数组 -》 引用数据类型
Student stu = new Student();
int[] data1 = new int[3];//3表示底层开辟3块连续的存储空间
int[] data2 = new int[]{345,67,78,89};
int[] data3 = {45,67,8,7,4,9};
2:如何得到数组里面的某一个元素
数组对象[下标];
System.out.println(data3[5]);
[x]什么情况下表示开辟的空间数?
什么情况下表示下标?
看[]前面是什么
[]前面是数据类型 -》 x表示底层开辟的空间大小
[]前面是数组对象 -》 x表示下标
char[] data = new char[3];//空间大小
data[2];//下标
3:如何得到数组的大小
数组对象.length
System.out.println(data2.length);
4:如何遍历数组
遍历:从头到尾看一遍
A.for + 下标
for(int x = 0;x < data.length;x++){//x控制的是下标
System.out.println(data[x]);
}
B. foreach forin since jdk5.0
for(数据类型 元素 : 数组对象){
System.out.println(元素);
}
for(int x : data3){//x表示任意一个元素
System.out.println(x);
}
数组的复制
1:直接将数组的引用进行赋值 -》 没有完成需求的
只是这个数组对象多个引用而已
2:笨重的复制方式 需要挨个进行赋值
3:直接调用“克隆”方法 不符合正常的需求
========================================
4:System.arraycopy(1,2,3,4,5);
1: 要复制的原数组
2:元素组的起始下标位置
3:要复制到的目标数组
4:目标数组的起始下标位置
5:要复制的长度
*:当我们学到ArrayList集合的时候
对于ArrayList里面的删除元素的方法 其实底层就是用数组复制实现的
*:arraycopy方法的1 3参数其实可以是同一个数组对象 从而实现数组的前后移动
数组的排序:
int[] data = new int[]{23,17,11,68,45};
手动排序 冒泡排序:
23 17 11 68 45
[0] [1] [2] [3] [4]
[0] vs [1] 前大后小 需要交换
17 23 11 68 45
[0] [1] [2] [3] [4]
[1] vs [2] 前大后小 需要交换
17 11 23 68 45
[0] [1] [2] [3] [4]
[2] vs [3] 前小后大 不需要交换
17 11 23 68 45
[0] [1] [2] [3] [4]
[3] vs [4] 前大后小 需要交换
[y] vs [y+1]
17 11 23 45 68
[0] [1] [2] [3] [4]
for(int x = 0; x < data.length -1;x++){
for(int y = 0; y < data.length - 1-x;y++){
//比较y对应的元素和y+1对应的元素大小
if(data[y] > data[y+1]){
//交换两个变量
data[y] = data[y] ^ data[y+1];
data[y + 1] = data[y] ^ data[y+1];
data[y] = data[y] ^ data[y+1];
}
}
}
int x = 45;
int y = 78;
int z = x;
x = y;
y = z;
x = x + y;
y = x - y;
x = x - y;
x = x ^ y;
y = x ^ y;
x = x ^ y;
自动排序:
import java.util.*;
Arrays.sort(数组对象);//只会从小到大进行排序
- java基础5
- java基础复习--5
- java基础-连载5
- Java基础面试-5
- java基础--笔记5
- Java基础回顾(5)
- java基础(5)
- java基础5:集合
- java基础5
- Java基础(5):封装
- Java基础5
- Java基础语法-5
- java基础5
- java基础5
- java基础5
- Java基础5--数组
- java 基础5
- java基础【5】
- gitlab和Django实现push自动更新
- Java基础4
- centos svn搭建 简单手册
- logstash grok解析
- (入门)uva 455
- Java基础5
- hdu 1054 Strategic Game 树形DP
- uva 4015 - Caves Chengdu 2007 树形背包★
- android之碎片(fragment)三(细节)
- Codeforces 617 D
- java反射详解
- Create CreateEx
- 在smarty模板引入jquery
- Codeforces Problem 598E - Chocolate Bar