public class Coalition{ public static void main(String[] args){ /* 定义一个数组和二个整型变量 */ int[] num = {65,87,15,23,46,48,52,79,97,53}; int i,j; /* 合并排序法 */ for (i = 0; i < 9; i++) for (j = i+1; j < 10; j++){ if (num[i] > num[j]){ num[i] = num[i] + num[j]; num[j] = num[i] - num[j]; num[i] = num[i] - num[j]; } } /* 循环输出排序后的结果 */ for (i = 0; i < 10; i++){ System.out.println(num[i]); } } }
public class BubbleUp{ public static void main(String[] args){ /* 定义一个数组和三个整型变量 */ int[] num = {65,87,15,23,46,48,52,79,97,53}; int i,j,temp; /* 冒泡排序法 */ for (i = 10; i > 0; i--) for (j = i-1; j > 0; j--){ if (num[j] < num[j-1]){ temp = num[j]; num[j] = num[j-1]; num[j-1] = temp; } } /* 循环输出排序后的结果 */ for (i = 0; i < 10; i++){ System.out.println(num[i]); } } }
public class Insert{ public static void main(String[] args){ /* 定义一个数组和三个整型变量 */ int[] num = {65,87,15,23,46,48,52,79,97,53}; int i,j,temp; /* 插入排序法 */ for (i = 1; i < 10; i++){ temp = num[i]; for (j = i; j > 0 && temp < num[j - 1]; j--) num[j] = num[j - 1]; num[j] = temp; } /* 循环输出排序后的结果 */ for (i = 0; i < 10; i++){ System.out.println(num[i]); } } }
JAVA数据类型转换将字串 String 转换成整数 int 有两个方法:
注: 字串转成 Double、Float、Long 的方法大同小异1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue();
将整数 int 转换成字串 String 有叁种方法:
1). String s = String.valueOf(i); 2). String s = Integer.toString(i); 3). String s = "" + i;注: Double、Float、Long 转成字串的方法大同小异
将布尔 boolean 变量转换为字符串 String
boolean bool = true; String s = String.valueOf(bool);这是一个例子,说的是JAVA中数据数型的转换
package cn.com.lwkj.erts.register; import java.sql.Date; public class TypeChange{ public TypeChange(){ } //change the string type to the int type public static int stringToInt(String intstr){ Integer integer; integer = Integer.valueOf(intstr); return integer.intValue(); } //change int type to the string type public static String intToString(int value){ Integer integer = new Integer(value); return integer.toString(); } //change the string type to the float type public static float stringToFloat(String floatstr){ Float floatee; floatee = Float.valueOf(floatstr); return floatee.floatValue(); } //change the float type to the string type public static String floatToString(float value){ Float floatee = new Float(value); return floatee.toString(); } //change the string type to the sqlDate type public static java.sql.Date stringToDate(String dateStr){ return java.sql.Date.valueOf(dateStr); } //change the sqlDate type to the string type public static String dateToString(java.sql.Date datee){ return datee.toString(); } public static void main(String[] args){ java.sql.Date day ; day = TypeChange.stringToDate("2003-11-3"); String strday = TypeChange.dateToString(day); System.out.println(strday); } }JAVA中常用数据类型转换函数 虽然都能在JAVA API中找到,整理一下做个备份。
string->byte Byte static byte parseByte(String s) byte->string Byte static String toString(byte b) char->string Character static String to String (char c) string->Short Short static Short parseShort(String s) Short->String Short static String toString(Short s) String->Integer Integer static int parseInt(String s) Integer->String Integer static String tostring(int i) String->Long Long static long parseLong(String s) Long->String Long static String toString(Long i) String->Float Float static float parseFloat(String s) Float->String Float static String toString(float f) String->Double Double static double parseDouble(String s) Double->String Double static String toString(Double)数据类型
基本类型有以下四种:
int | 长度数据类型有:byte(8bits/1字节)、short(16bits/2字节)、int(32bits/4字节)、long(64bits/8字节) |
float | 长度数据类型有:单精度(32bits/4字节 float)、双精度(64bits/8字节 double) |
boolean | 类型变量的取值有:ture(1bits)、false(1bits) |
char | 数据类型有:unicode字符(16bits/2字节) |
转换原则
从低精度向高精度转换
byte、short、int、long、float、double、char
注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换
基本类型向类类型转换
正向转换:通过类包装器来new出一个新的类类型的变量
Integer a = new Integer(2);反向转换:通过类包装器来转换
int b = a.intValue();
正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可
反向转换:通过类包装器new出一个新的类类型的变量
eg1: int i = Integer.valueOf("123").intValue();
说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。
eg2: float f = Float.valueOf("123").floatValue();
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b = Boolean.valueOf("123").booleanValue();
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4: double d = Double.valueOf("123").doubleValue();
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l = Long.valueOf("123").longValue();
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char = Character.valueOf("123").charValue();
说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。
基本类型向字符串的转换
正向转换:如
int a = 12;反向转换:通过类包装器
String b;
b = a + "";
eg1: int i = Integer.parseInt("123")
说明:此方法只能适用于字符串转化成整型变量
eg2: float f = Float.valueOf("123").floatValue();
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b = Boolean.valueOf("123").booleanValue();
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4: double d = Double.valueOf("123").doubleValue();
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l = Long.valueOf("123").longValue();
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char = Character.valueOf("123").charValue();
说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。
ArrayList用法System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。
一.优点
1、支持自动改变大小的功能
2、可以灵活的插入元素
3、可以灵活的删除元素
跟一般的数组比起来,速度上差些
1、public virtual int Add(objectvalue);
将对象添加到ArrayList的结尾处
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e");结果为abcde
2、public virtual void Insert(intindex,objectvalue);
将元素插入ArrayList的指定索引处
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); aList.Insert(0,"aa");结果为aaabcde
3、public virtual void InsertRange(intindex,ICollectionc);
将集合中的某个元素插入ArrayList的指定索引处
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); ArrayList aList2 = new ArrayList(); aList2.add("tt"); aList2.add("ttt"); aList.InsertRange(2,aList2);结果为abtttttcde
1、public virtual void Remove(objectobj);
从ArrayList中移除特定对象的第一个匹配项,注意是第一个
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); aList.Remove("a");结果为bcde
2、public virtual void RemoveAt(intindex);
移除ArrayList的指定索引处的元素
aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); aList.RemoveAt(0);结果为bcde
3、public virtual void RemoveRange(intindex,intcount);
从ArrayList中移除一定范围的元素。Index表示索引,count表示从索引处开始的数目
aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); aList.RemoveRange(1,3);结果为ae
4、public virtual void Clear();
从ArrayList中移除所有元素。
1、public virtual void Sort();
对ArrayList或它的一部分中的元素进行排序。
ArrayList aList = new ArrayList(); aList.add("e"); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); DropDownList1.DataSource = aList; //DropDownList DropDownList1; DropDownList1.DataBind();结果为eabcd
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); aList.Sort(); //排序 DropDownList1.DataSource = aList; //DropDownList DropDownList1; DropDownList1.DataBind();结果为abcde
2、public virtual void Reverse();
将ArrayList或它的一部分中元素的顺序反转。
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); aList.Reverse(); //反转 DropDownList1.DataSource = aList; //DropDownList DropDownList1; DropDownList1.DataBind();结果为edcba
a) public virtual int IndexOf(object);
b) public virtual int IndexOf(object,int);
c) public virtual int IndexOf(object,int,int);
返回ArrayList或它的一部分中某个值的第一个匹配项的从零开始的索引。没找到返回-1。
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); int nIndex = aList.IndexOf("a"); //1 nIndex = aList.IndexOf("p"); //没找到,-1d) public virtual intLastIndexOf(object);
e) public virtual intLastIndexOf(object,int);
f) public virtual intLastIndexOf(object,int,int);
返回ArrayList或它的一部分中某个值的最后一个匹配项的从零开始的索引。
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("a"); //同0 aList.add("d"); aList.add("e"); int nIndex = aList.LastIndexOf("a"); //值为2而不是0g) public virtual bool Contains(objectitem);
确定某个元素是否在ArrayList中。包含返回true,否则返回false
1、public virtual int Capacity{get;set;}
获取或设置ArrayList可包含的元素数。
2、public virtual int Count{get;}
获取ArrayList中实际包含的元素数。 Capacity是ArrayList可以存储的元素数。Count是ArrayList中实际包含的元素数。
Capacity总是大于或等于Count。如果在添加元素时,Count超过Capacity,则该列表的容量会通过自动重新分配内部数组加倍。
如果Capacity的值显式设置,则内部数组也需要重新分配以容纳指定的容量。如果Capacity被显式设置为0,则公共语言运行库将其设置为默认容量。默认容量为16。
在调用Clear后,Count为0,而此时Capacity切是默认容量16,而不是0。
3、public virtual void TrimToSize();
将容量设置为ArrayList中元素的实际数量。
如果不向列表中添加新元素,则此方法可用于最小化列表的内存系统开销。
若要完全清除列表中的所有元素,请在调用TrimToSize之前调用Clear方法。截去空ArrayList会将ArrayList的容量设置为默认容量,而不是零。
ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("d"); aList.add("e"); //Count=5,Capacity=16, aList.TrimToSize(); //Count=Capacity=5;
| ||