![安静](http://static.blog.csdn.net/xheditor/xheditor_emot/default/quiet.gif)
一,数组
定义:数组是一个变量,存储相同数据类型的一组数据
a.数组中储存的数据叫做数据元素
b.不管数组中有多少个元素,该数组只有一个名词叫做:数组名称
c.数组中的元素按顺序的排列,表明元素在数组中的位置
d.通过数组下标找到每一个元素
e.数组有固定大小
1.数组的声明和创建
a。声明
格式:数据类型[] 数组名称;
int[] it;
数据类型 数组名称[];
int it[];
b.创建
格式:数组名称=new 数据类型[数组大小];
it =new int[10];
int[] it=new int[10];
2.数组的长度
格式:数组名.length();//int 类型
3.获取单个数据
格式:数组名[下标];
it[0];//下标从0开始,顺序
4.数组赋值
格式:数据名称[下标]=数值1;
it[0]=1;
5.初始化
int类型初始化值;1
String类型初始化:null
double类型初始化值:0.0;
a。静态初始化
格式:数据类型[] 数组名称=new 数据类型[]{数值1,数值2,数值3};
int[] it =new int[]{1,2,3,4,5};
b。动态初始化
格式:数组名称=new 数据类型[数组大小];
数组名称[下标]=数值1;
int[] it=new int[10];
it[0]=0;
6.一位数组的应用
a.打擂法求最大值
int Max=IntArray[0];//定义赢家
for(int i=1;i<IntArray.length;i++){
if(IntArray[i]>Max){//选手依次比较
Max=IntArray[i];//获胜者就是赢家
}
}
7.数组排序
Arrays.sort(数组名称);//自动排序
使用java.util.Arrays类
java.util包提供了许多存储数据的结构和有用的方法
Arrays类提供许多方法操纵数组,例如:排序,查询
Arrays类的sort()方法: 对数组进行升序排列
冒泡排序: 每次比较相邻两数
小的交换到前面
每轮结束后最大的数交换到最后
for (i = 0; i < N-1 ; i++)
{
for (j = 0; j < N-1-i ; j++)
{if(array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
// 比较 j 和 j+1 位置的元素
// 如果前大后小就交换
}
}
冒泡排序速记口诀(升序):
N 个数字来排队
两两相比小靠前
外层循环 N-1
内层循环 N-1-i
8.数组拷贝
int[] beforeArray = { 12, 3, 19, 2, 10, 13, 9 };
int[] afterArray;
//通过数组变量拷贝实现的数组拷贝,将带有原始数据的数组拷贝给后来声明的数组
afterArray=beforeArray;//将一个数组变量拷贝给另一个数组变量
arraycopy()拷贝数组
//声明创建两个数组
int[] beforeArray = new int[10];
int[] afterArray = new int[10];
........//循环分别给两个数组赋值
//调用System.arraycopy()拷贝数组
System.arraycopy(beforeArray,2,afterArray,2,afterArray,5,5);
System.out.println("After Copying:");
多维数组创建
boolean[][] b = new boolean[10][3];
int[][] a = new int[5][];
String[][][] = new String[4][5][6];
double[][][] = new double[40][][];
当使用new 来创建多维数组时,不必指定每一维的大小,
而只需要指定最左边的维的大小就可以了。
二,String字符串
1.String字符串
定义:是一个变量,引用变量,只要创建了以后就不能更改。String类位于java.lang.object包中
a.构造方法:
1.String();
2.String(String 变量名);
3.String(char[] 数组名);
4.String(char[] 数组名,从第几位开始,个数);
b.获取字符串长度
变量名.length();
c.字符串的比较
(1).equals():检查组成字符串内容的字符是否完全一致
(2).compareTo
当两个字符串完全相同的时候返回0;
当原字符串大于我们要输入的字符串,返回值大于0
当原字符串小于我们要输入的字符串,返回值小于0
(3).equalsIgnoreCase()忽略大小写的比较
(4).toLowerCase()将大写转换为小写
(5).toUpperCase( )将小写转换成大写
d.字符串的拼接
第一种:+符号拼接:eg:System.out.println("姓名是:"+"Tom"+"年龄是:"+age+"\n");
第二种:concat(String类的变量名);eg:String stg2=stg.concat(stg1);
f.String字符串的提取和查询
(1)indexOf(int ch) 搜索从第一个出现的字符ch(或字符串value)并指明位置。如果没有找到字符或字符串,则返回-1
(2)lastIndexOf(int ch) 搜索从最后一个出现的字符ch(或字符串value)并指明位置,如果没有找到字符或字符串,则返回-1
(3)startsWith(String prefix)判断当前字符串前缀是否和参数中所指定prefix相同,相同返回true,否false
(4)startsWith(String prefix,int toffset)判断当前字符串toffset位置开始是否跟参数中所指定的一致,相同返回true,否false
(5)endsWith(String suffix)判断当前字符串后缀是否和参数中所指定suffix相同,相同返回true,否false
(6)replace(char oldChar,char newChar)该方法用newChar替换原字符串中所有oldChar字符串
(7)replaceFirst (String regex,String replace)该方法用字符串regex替换原字符串中第一个与replacement相同
(8)trim()该方法去掉开头和结尾的空格,并返回新的字符串,字符中间的
2.StringBuffer字符串
StringBuffer:String增强版
StringBuffer声明
创建空StringBuffer对象
StringBuffer sb = new StringBuffer();
创建一个变量存储字符串aaa
StringBuffer sb = new StringBuffer("aaa");
StringBuffer的使用
sb.toString(); //转化为String类型
sb.append("**"); //追加字符串
在JDK5.0StringBuilder
![安静](http://static.blog.csdn.net/xheditor/xheditor_emot/default/quiet.gif)