当前位置: 代码迷 >> 综合 >> 3.数组与字符串
  详细解决方案

3.数组与字符串

热度:40   发布时间:2023-09-12 07:02:42.0

数组与字符串

数组的基本概念

数组:若干个相同的数据类型的元素按一定顺序排列的集合

栈内存:定义的基本类型的变量和对象的引用变量超出作用域将自动释放

堆内存:存放有new运算符创建的对象和数组,有java虚拟机的自动垃圾回收器来管理

一维数组

一维数组是最简单的数组,其逻辑结构是线性表

一维数组的定义

数据类型[] 数组名;//声明以为数组
数组名 = new 数据类型[个数];//分配内存给数据

数组类Arrays的常用方法,通过java.util.Arrays 调用

方法 说明
public static int binarySearch(X[] a,X key) X是任意数据类型。返回key在升序数组a中首次出现的下标,若a中不包含key,则返回负值
public static void sort(X[] a) X是任意数据类型。对数组a升序排序后仍放在a中
public static void sort(X[] a,int fromIndex,int toIndex) 对任意类型的数组a中从fromIndex到toIndex-1的元素进行升序排序,其结果仍放在a数组中
public static X[] copyOf(X[] original,int newLength) 截取任意类型数组original中长度为newLength的数组元素拷贝给调用数组
public static boolean equals(X[] a,X[] a2) 判断同类型的两个数组a和a2中对应元素值是否相等。若相等则返回true,否则返回false
public class Main {public static void main(String[] args) {int[] a={1,2,3};System.out.println(Arrays.binarySearch(a,2));}
}

一维数组元素的访问

通过下标索引访问数组

数组名[下标]
import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) {int[] a={1,2,3};System.out.println(a[0]);}
}

一维数组的初始化及应用

数据类型[] 数组名 = {初值0,初值1,...,初值n}

import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) {int[] a={1,2,3};System.out.println(a);}
}

foreach语句与数组

  • 格式
for(type element:array)
{System.out.println(element);
}每次从数组array中取出一个元素,自动赋给变量element
  • 代码
public class Main {public static void main(String[] args) {int[] a={1,2,3};for(int i: a)System.out.println(i);}
}

多维数组

所谓多维数组,就是数组元素也是数组的数组。

二维数组

  • 格式
二维数组声明格式:数据类型[][] 数组名;
数组名 = new 数据类型[行数][列数];数据类型[][] 数组名 = new 数据类型[行数][列数];例子:
int[][] x = new int[2][3];
x.length // x数组的行数
x[0].lengh // 第一行元素的个数
  • 代码
package com.company;
import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) {int[][] a = new int[2][3];for(int i=0;i<2;i++)for(int j=0;j<3;j++)a[i][j] = i+j;for(int i=0;i<2;i++)for(int j=0;j<3;j++)System.out.println(a[i][j]);}
}

三维以上的多维数组

例如:
三维数组:int[][][] a;
四维数组:int[][][][] a;
以此类推

字符串

字符串就是一系列字符的序列。

字符串的变量的创建

格式一:
String 变量名;
变量名 = new String("字符串");格式二:
String 变量名 = new String("变量名");

String类的常用方法

方法 说明
public int length() 返回字符串的长度
public boolean equals(Object anObject) 将给定字符串与当前字符串相比较,若两字符串相等,则返回true,否者返回false
public String substring(int beginIndex) 返回字符串中从beginIndex开始的子串
public String substring(int beginIndex,int endIndex) 返回从beginIndex开始到endIndex-1的子串
public char charAt(int index) 返回index指定位置的字符
public int indexOf(String str) 返回str在字符串中第一次出现的位置
public int compareTo(String anotherString) 若调用该方法的字符串大于参数字符串,则返回大于0的值;若相等,则返回树0;若小于参数字符串,则返回小于0的值
public String replace(char oldChar,char new Char) 以newChar字符替换字符串中所有oldChar字符
public String trim() 去掉字符串的首尾空格
public String toLowerCase() 将字符串中的所有字符都转换为小写字符
public String toUpperCase() 将字符串中的所有字符都转换为大写字符
  相关解决方案