数组和字符串的总结

1.数组

1.1多维数组

1.什么是数组:多维数组即数组的数组,即数组的元素也是数组

int [] [] a={{56},{56,85},{85,87}};

2.二维数组的声明:

三种方式:

int [][] a;

int []a1[];

int a2[][];

注意:建议用第一种,不容易混淆a的数据类型

3.多维数组的创建过程:

a= new int [3][];

a[0]=new int [3];

a[1]=new int [2];

a[2]=new int [4];

举例:int [] [] a =new int [2][];

a[0]={56,56};

a[1]={23,654};

4.多维数组的迭代:

int [][] a=new int [][]{{56,62},{65,85}};

for(int i=0;i<a.length;i++){

for(int j=0;j<a[i].length;j++){

System.out.print(a[i][j]);

}

}

1.2数组的拷贝

1.在JDK API的System类中,提供了一个数组拷贝的静态方法:

arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
          从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

int[] a={10,100,1000};

int[] b={20,200,2000,20000};

System.arraycopy(a, 1, b, 2, 2);

for(int x:b){

System.out.println(x);

}

1.3数组的优缺点

特点:

1.数组是引用数据类型。

2.数组是存储相同数据类型的集合。

3.数组的下标从0开始。

优点:越界检查、通用算法

缺点:长度一经定义不能改变

2.字符串

2.1java.lang包简介

java.lang包是java内置的一个基础包,其中包含了一系列程序中经常要用到的类;

在默认情况下,每个java程序都会自动导入该包,因此无需在程序中显式地声明。

2.2String类

Java中,字符串是String类的对象;

Java中,String是引用数据类型;

可以通过使用String类提供的方法来完成对字符串的操作;

创建一个字符串对象之后,将不能更改构成字符串的字符;

每当更改了字符串版本时,就创建了一个新的字符串对象,并在其内包含所做的修改,原始字符串保持不变。

2.3String类的构造方法

String类的构造方法共有13种重载方式,以下是常用的几个:

构造方法:String()、String(String original)、String(char[] value)、String(byte[] tytes)

2.4字符串长度

String类中提供length成员方法 ,用来获得字符串的长度,方法原型:int length()

该方法返回字符串中有效字符的个数。

2.5字符串比较

要判断两个字符串是否相等,可以使用“==”运算符和equals()方法,但是得到的结果可能不完全相同(String覆盖了Object类的equals方法);

==运算符用于比较两个引用是否指向同一个对象;

而equals()方法则是比较两个字符串中的内容是否相同,其原型:

boolean equals(Object anObject)

如果相等返回true,否则返回false。

2.6String特殊操作

为了提高性能,JAVA在创建字符串时提供了有限制的池操作

public static void main(String[] args){

String A="456";

String B="456“;

System.out.println(A==B);

String C="123";

String D=new String("123");

System.out.println(C==D);

}

2.7字符串搜索

如果需要搜索某个字符(或某个子串)在字符串中是否出现过,这就要使用到indexOf方法和lastIndexOf方法。

2.8提取字符串

char charAt(int index):用于从指定位置提取单个字符,该位置由index指定,索引值必须为非负

String substring(int index):用于提取从index指定的位置开始的字符串部分

String substring(int begin, int end) :用于提取 begin 和 end 位置之间的字符串部分

String concat(String str) :用于连接两个字符串,并新建一个包含调用字符串的字符串对象

String replace(char oldChar, char newChar): 用于将调用字符串中出现oldChar指定的字符全部都替换为newChar指定的字符

replaceAll(String regex, String replacement):用于将调用字符串中出现或者匹配regex的字符串全部都替换为replacement指定的字符

String trim(): 用于返回一个前后不含任何空格的调用字符串的副本

2.9有时候,我们需要将字符串中字符的大小写形式进行转换。

String toUpperCase() 返回当前字符串的全大写形式

String toLowerCase() 返回当前字符串的全小写形式

2.10数据格式转化

在某些特定的场合,我们可能需要将字符串转化成其它格式的数据进行操作;

byte[] getBytes() 返回当前字符串转化成byte型数组的形式(即字符串在内存中保存的最原始的二进制形态)

char[] toCharArray() 返回当前字符串的字符数组形式,类似于C语言中字符串的保存形式

时间: 2024-12-15 07:32:25

数组和字符串的总结的相关文章

数组、字符串、集合

数组与集合的转换.数组与字符串的转换 ========数组变集合 String[] arr = {"abc","cc","kkkk"}; //把数组变成list集合有什么好处? /* 可以使用集合的思想和方法来操作数组中的元素. 注意:将数组变成集合,不可以使用集合的增删方法. 因为数组的长度是固定. contains. get indexOf() subList(); 如果你增删.那么会产生UnsupportedOperationExcepti

数组转字符串(属性加单引号,逗号分隔)

数组转字符串(属性加单引号,逗号分隔) 数组转字符串 PHP 应用场景:SQL写操作应用插入表字段值: 数组 $data $data = array('张三','男','20',''安徽省合肥市 '); 转换如下: #join $str = " ' " . join("','", array_values($data) ) . " ' "; #str_replace $str = " ' ".str_replace( &quo

js中数组对象字符串的相互转换

对象-数组-字符串: 例如: var data = { user:"userName", pass:"12121" };//这是一个对象 如果要给这个data 对象追加一个属性就比如: new Date( ).getTime( );//获取当前时间到那个时间的时间间隔单位是毫秒: data.time = new Date( ).getTime( ); 此时data 里面就多了一个属性: time : " 获取到的那个毫秒数" 即: var dat

SQL写操作 设置内容 (数组转字符串)

SQL写操作 设置内容 (数组转字符串) SQL set内容 SQL操作数组转字符串 SQL写操作 set内容 (数组转字符串) [ 封装方法 ] function getSqlSet( $data ){ $Str = "";  foreach( $data as $k => $v ){  $Str.= $k."='".$v."',";  }  $Str = substr($Str,0,-1);  return $Str;  }  如执行i

linux基础学习第十三天(数组、字符串变量处理)

2016-08-22 授课内容: 数组 高级字符串操作 一.数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 数组名和索引 索引:编号从0开始,属于数值索引 bash的数组支持稀疏格式(索引不连续) 1.声明数组: declare -a ARRAY_NAME(并非强制声明,但最好按规范声明) declare -A ARRAY_NAME: 关联数组 2.数组元素的赋值: (1) 一次只赋值一个元素: ARRAY_NAME[INDEX]=VALUE [1

Swift 数组、字符串、集合与字典详解

今天我们来看几个最基本的数据结构:数组,字符串,集合和字典. 数组 数组是最基本的数据结构.Swift编程语言中改变了以前Objective-C时代NSMutableArray和NSArray分开的做法,统一到了Array唯一的数据结构.下面是最基本的一些实现. 1 2 3 4 5 6 7 8 9 10 11 // 声明一个不可修改的数组 let nums = [1, 2, 3] let nums = [Int](count: 5, repeatedValue: 0) // 声明一个可以修改的数

js 数组,字符串,JSON,bind, Name

/** * Created by W.J.Chang on 2014/5/23. */ // 判读是否是数组的方法 console.log(Array.isArray(new Array)); console.log(Array.isArray([])); var arr = [1,2,3]; // 遍历方法 arr.forEach(function (v){ console.log(v); }); console.log("---------------------"); // 过滤

js的prototype扩展的一个例子,模仿C#的StringBuilder功能,数组组合字符串,效率大于+拼凑

function StringBuilder() { this._strings_ = new Array;}StringBuilder.prototype.append = function (str) { this._strings_.push(str);};StringBuilder.prototype.toString = function () { return this._strings_.join("");}; js的prototype扩展的一个例子,模仿C#的Strin

数组-08. 字符串转换成十进制整数(15)

1 #include<iostream> 2 #include<string> 3 using namespace std; 4 int main(){ 5 string s; 6 int i,sum=0; 7 bool flag=false,f=false; 8 getline(cin,s); 9 for(i=0;s[i]!='#';++i){ 10 if(s[i]=='-'&&!flag) 11 f=true; 12 else if(s[i]<='9'&a

数组-05. 字符串字母大小写转换(10)

输入一个以#结束的字符串,本题要求将小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其它字符不变. 输入格式: 输入在一行中给出一个长度不超过40的.以#结束的非空字符串. 输出格式: 在一行中按照要求输出转换后的字符串. 输入样例: Hello World! 123# 输出样例: hELLO wORLD! 123 import java.util.Scanner; public class Main { public static void main(String[] args) {