当前位置:网站首页>第二章总结
第二章总结
2022-07-29 11:43:00 【小洪正在努力】
数组(一维数组为例)
1:数组的创建
JAVA中数组的类型可以是基本数据类型,也可以是引用类型。
[数据类型]数组名[];
[数据类型][]数组名;
import java.util.Arrays;
public class MainClass {
public static void main(String[] args) {
int[] intArray = {
0,1,2,3};//指定数组长度为3,分配内存。
char charArray[] = new char[]{
'好','好','学','习'};//使用new初始化数组,然后给数组内容赋值。
String stringArrya[] = new String[4];//指定数组长度为4,分配内存,没有内容。
for (int a:intArray) {
System.out.println(a);
}
for (char c:charArray) {
System.out.println(c);
}
for (String s:stringArrya) {
System.out.println(s);
}
}
}
0
1
2
3
好
好
学
习
null
null
null
null
2:数组的遍历与输出
1).foreach遍历:
循环访问数组中的每个元素。
import java.util.Arrays;
public class MainClass {
public static void main(String[] args) {
int[] intArray = {
0,1,2,3};//指定数组长度为3,分配内存。
for (int a:intArray) {
System.out.println(a);
}
}
}
0
1
2
3
2).简单的for循环遍历。
3).Arrays类中的toString静态方法:
public class MainClass {
public static void main(String[] args) {
int[] intArray = {
0,1,2,3};//指定数组长度为3,分配内存。
System.out.println(Arrays.toString(intArray));
}
}
[0, 1, 2, 3]
对于多维数组,toString()方法并不能直接使用,需要deepToString()静态方法才能输出多维数组内的所有元素:
toString()方法返回的是每个维度的数组存储的内存地址。
deepToString()方法返回多维数组的每个维度的内容
import java.util.Arrays;
public class MainClass {
public static void main(String[] args) {
int intArray[][] = new int[2][2];//指定数组长度为3,分配内存。
intArray[0] = new int[]{
0,1};
System.out.println(Arrays.toString(intArray));
System.out.println(Arrays.deepToString(intArray));
}
}
[[I@1540e19d, [I@677327b6]
[[0, 1], [0, 0]]
3.length();取数组长度。
4.增
1):通过for循环遍历数组,对数组中的每个元素进行赋值。
2):Arrays类中提供可以给数组批量添加元素的静态方法fill();入参为被添加元素的数组和要添加的数值;也可以指定数组要添加的索引范围(左闭右开区间),入参为起始索引和终点索引:
import java.util.Arrays;
public class MainClass {
public static void main(String[] args) {
String[] string = new String[4];
char[] char_one = new char[4];
Arrays.fill(string,1,3,"学");
Arrays.fill(char_one,'学');
System.out.println(Arrays.toString(string));
System.out.println(Arrays.toString(char_one));
}
}
[null, 学, 学, null]
[学, 学, 学, 学]
5.删
数组长度不能被修改,但我们可以参考添加一个元素的方法,重建一个删除元素后的数组,以达到删除指定元素的目的。
import java.util.Arrays;
public class MainClass {
private static char[] DeleteArray(char[] array,int index){
char[] newArray = new char[array.length-1];
for(int i = 0;i < newArray.length;i++){
if(i < index){
newArray[i] = array[i];
}else{
newArray[i] = array[i+1];
}
}
return newArray;
}
public static void main(String[] args) {
char[] charArray = new char[]{
'好','好','学','学','习'};
System.out.println(Arrays.toString(charArray));
charArray = DeleteArray(charArray,2);
System.out.println(Arrays.toString(charArray));
}
}
[好, 好, 学, 学, 习]
[好, 好, 学, 习]
6.查
Arrays类中提供了binarySearch()方法,能够查找到元素在数组中的位置,若无法找到返回-1;
public static void main(String[] args) {
char[] charArray = new char[]{
'好','好','学','习'};
int index = Arrays.binarySearch(charArray,'学');
System.out.println(index);
}
2
7.比较
Arrays类中提供equals()方法,用来比较两个数组的内容是否相同。
public static void main(String[] args) {
char[] charArray_1 = new char[]{
'a','b','c','d'};
char[] charArray_2 = new char[]{
'a','b','c','d'};
char[] charArray_3 = new char[]{
'a','c','d'};
boolean bool = Arrays.equals(charArray_1,charArray_2);
System.out.println(bool);
bool = Arrays.equals(charArray_1,charArray_3);
System.out.println(bool);
}
true
false
8.数组复制
Arrays类中提供了数组复制的方法copyOf();
public static void main(String[] args) {
char[] charArray_1 = new char[]{
'a','b','c','d'};
char[] charArray_2 = Arrays.copyOf(charArray_1,4);
System.out.println(Arrays.toString(charArray_2));
}
[a, b, c, d]
边栏推荐
- MySql启动、连接sqlog、主从复制、双机热备(开机时)
- 谷歌“消灭” Cookie 计划延至 2024 年
- How to use grep to find pattern matching across multiple lines
- 文件上传漏洞
- 2.1冒泡排序(Bubble Sorting)
- Learning with Recoverable Forgetting阅读心得
- 【一起学Rust | 基础篇】rust函数与流程控制详解
- 【每日SQL打卡】DAY 22丨平均售价【难度中等】
- 即学即用的问题解决思维,给无意识的生活装上“后视镜”
- The interviewer training courseware (very practical in-house training courseware)
猜你喜欢

QML(二):设置自定义窗体
![[image processing] image skeleton extraction based on central axis transformation with matlab code](/img/34/80e777c5c0a2a791acd0892e3e0b04.png)
[image processing] image skeleton extraction based on central axis transformation with matlab code

Basic Concepts of Kubernetes

报表查询字段集sql摘记

解决idea在debug模式下变得非常慢的问题

共建共享数字世界的根:阿里云打造全面的云原生开源生态

593. 有效的正方形

QML(一):自定义圆角按钮的处理

XSS Vulnerability Analysis

Paddlelite compilation and code running through the disk
随机推荐
【每日SQL打卡】DAY 25丨求团队人数【难度中等】
QT's user-defined interface (borderless and movable)
From scratch Blazor Server (3) - add cookie authorization
使用anyio替代asyncio
ECCV 2022 | ssp: a new idea of small sample tasks with self-supporting matching
"100 Interview Knowledge Collections" 1. Interview Skills丨Do you really understand HR's careful thinking?
SkiaSharp of WPF custom painting to bounce ball (case)
WPF 实现平移控件
[image detection] Research on cumulative weighted edge detection method based on gray image, with matlab code
[image detection] Research on cumulative weighted edge detection method based on gray image, with matlab code
How to use "copy – link" to accelerate docker to build and optimize cache
ASN.1接口描述语言详解
fastjson使用方法
Network layer and transport layer restrictions
2.2 Selection sort
AMH6.X升级到AMH7.0后,登录后台提示MySQL连接出错怎么解决?
【每日SQL打卡】DAY 23丨学生们参加各科测试的次数【难度简单】
精通音视频开发是真的可以为所欲为
【Unity3D】角色控制器(CharacterController)
【Unity3D】场景切换、退出全屏、退出游戏