String是普通类,Integer又叫包装类,但你也可以认为他是普通类。其它包装类还包括Char,Short,Float。。。 注意,首字母是大写,java的默认规则(不成文)类名以大字开头
而相应的char,byte,short,float,int等是基本数据。
因此可以总结出Java的数据分类分为两大类: 1。基本数据(int,short,float,byte)生成出来的变量不是具体对象,跟Object没有任何关系; 2。类数据:每个变量都是对象,所有对象都是Object类的子类或子孙。
String类的用法:
public final class String extends Object implements Serializable, Comparable<String>, CharSequence
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现
常用方法:
public char charAt(int index)
返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。
序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推,这类似于数组索引。
public int compareTo(String anotherString)
按字典顺序比较两个字符串
public String concat(String str)
将指定字符串连接到此字符串的结尾
public String replace(char oldChar,
char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
public String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
public String trim()
返回字符串的副本,忽略前导空白和尾部空白。
public char[] toCharArray()
将此字符串转换为一个新的字符数组
public int indexOf(String str, int fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始下面给出一个实例参考String类的用法
/**
* 测试String的常用方法
*/
public class TestString {
/**
* 统计字符串中大写字母的个数,小写字母的个数,非字母的个数
* @param str 字符串
*/
private static void countString(String str) {
int countUpperNumber = 0;
int countLowerNumber = 0;
int countOtherNumber = 0;
for (int i=0; i<str.length(); i++) {
char ch = str.charAt(i);
if (ch >= 'A' && ch <= 'Z') {
countUpperNumber ++; //注意++的格式
} else if (ch >= 'a' && ch <= 'z') {
countLowerNumber ++;
} else {
countOtherNumber ++;
}
}
System.out.println("字符串" + str + "\n大写字母数为:" + countUpperNumber+ "\t小写字母数为:" + countLowerNumber + "\t非字母数为:" + countOtherNumber);
}
/**
* 输出在一个字符串中指定字符串出现的次数
* @param src原字符串 sub子串
*/
private static void count(String src, String sub) {
int count = 0;
int subLength = sub.length();
int srcLength = src.length();
int index = 0;
int pos = 0;
while (index < srcLength) {
pos = src.indexOf(sub, index);
if (pos != -1) {
count ++;
index = pos;
index += subLength;
} else {
break;
}
}
System.out.println(sub + "在" + src +"中出现" + count + "次");
}
/**
* 测试String中方法的用法
* @param args
*/
public static void main(String[] args) {
String s1 = "hello";
String s2 = "world";
String s3 = "hello";
System.out.println(s1 == s3);
//true 字符常量保存在data segment,一般相同的常量在data segment只有一份
s1 = new String("hello");
s2 = new String("hello");
System.out.println(s1 == s2); //false
System.out.println(s1.equals(s2));
//true 类String重写了Object的equals方法
char c[] = {'s', 'u', 'n', ' ', 'j', 'a', 'v', 'a'};
String s4 = new String(c);
String s5 = new String(c,4,4);
System.out.println(s4); //sun java
System.out.println(s5); //java
s1 = "sun java";
s2 = "Sun Java";
System.out.println(s1.charAt(1)); //u 字符串是从0记数的
System.out.println(s2.length()); //8
System.out.println(s1.indexOf("java")); //4
System.out.println(s1.indexOf("Java")); //-1
System.out.println(s1.equals(s2)); //false
System.out.println(s1.equalsIgnoreCase(s2)); //true
String s = "我是程序员,我在学java";
String str = s.replace('我', '你');
System.out.println(str); //你是程序员,你在学java
s = "Welcome to Java World!";
str = " sun java ";
System.out.println(s.startsWith("Welcome")); //true
System.out.println(s.endsWith("World")); //false
System.out.println(s.toLowerCase()); //把字符串全改为小写 welcome to java world!
System.out.println(s.toUpperCase()); //把字符串全改为大写 WELCOME TO JAVA WORLD!
String subs = s.substring(11);
System.out.println(subs); //Java World!
String sp = str.trim();
System.out.println(sp); //sum java
int j = 1234567;
String sNumber = String.valueOf(j);
System.out.println("j 是" + sNumber.length() + "位数");
s = "Mary,F,1985";
String[] split = s.split(",");
for ( String str1 : split) {
System.out.println(str1);
}
str = "ab cdGF;D ";
countString(str);
String src = "jav attja vattt aj";
String sub = " a";
count(src, sub);
}
}
Integer类的使用方法
Interger:整数类型
1、属性。
static int MAX_VALUE:返回最大的整型数;
static int MIN_VALUE:返回最小的整型数;
static Class TYPE :返回当前类型。
例子:
System.out.println("Integer.MAX_VALUE: " + Integer.MAX_VALUE );
结果为:Integer.MAX_VALUE: 2147483647
2、构造函数。
Integer(int value) :通过一个int的类型构造对象;
Integer(String s) :通过一个String的类型构造对象;
例子:
Integer i = new Integer("1234");
生成了一个值为1234的Integer对象。
3、方法。
说明:
1. 所有方法均为public;
2. 书写格式:[修饰符] <返回类型> <方法名([参数列表])>
如:
static int parseInt(String s) 表示:此方法(parseInt)为类方法(static),返回类型为(int),方法所需参数为String类型。
1. byteValue():取得用byte类型表示的整数;
2. int compareTo(Integer anotherInteger) :比较两个整数。相等时返回0;小于时返回负数;大于时返回正数。
例子:
Integer i = new Integer(1234);
System.out.println("i.compareTo: " + i.compareTo(new Integer(123)) );
结果为:i.compareTo: 1
3. int compareTo(Object o) :将该整数与其他类进行比较。如果o也为Integer类,进行方法2 的操作;否则,抛出ClassCastException异常。
4. static Integer decode(String nm) :将字符串转换为整数。
5. double doubleValue() :取得该整数的双精度表示。
6. boolean equals(Object obj) :比较两个对象。
7. float floatValue() :取得该整数的浮点数表示。
8. static Integer getInteger(String nm) :根据指定名确定系统特征值。
9. static Integer getInteger(String nm, int val) :上面的重载。
10. static Integer getInteger(String nm, Integer val) :上面的重载。
11. int hashCode() :返回该整数类型的哈希表码。
12. int intValue() : 返回该整型数所表示的整数。
13. long longValue() :返回该整型数所表示的长整数。
14. static int parseInt(String s) :将字符串转换成整数。s必须是时进制数组成,否则抛出NumberFormatException异常。
15. static int parseInt(String s, int radix) :以radix为基数radix返回s的十进制数。所谓的基数,就是“几进制”。
例子:
String s1 = new String("1010");
System.out.println("Integer.parseInt(String s, int radix): " + Integer.parseInt(s1,2) );
结果为:Integer.parseInt(String s, int radix): 10
16. short shortValue() :返回该整型数所表示的短整数。
17. static String toBinaryString(int i) :将整数转为二进制数的字符串。
18. static String toHexString(int i) :将整数转为十六进制数的字符串。
19. static String toOctalString(int i) :将整数转为八进制数的字符串。
20. String toString() :将该整数类型转换为字符串。
21. static String toString(int i) :将该整数类型转换为字符串。不同的是,此为类方法。
22. static String toString(int i, int radix) :将整数i以基数radix的形式转换成字符串。
例子:
int i1 = 54321;
System.out.println("Integer.toString(int i, int radix): " + Integer.toString(i1,16) );
结果为:Integer.toString(int i, int radix): d431
23. static Integer valueOf(String s) :将字符串转换成整数类型。
24. static Integer valueOf(String s, int radix) :将字符串以基数radix的要求转换成整数类型。
希望大家在以后实际应用时能更深刻地理解这两个类的用法。
而相应的char,byte,short,float,int等是基本数据。
因此可以总结出Java的数据分类分为两大类: 1。基本数据(int,short,float,byte)生成出来的变量不是具体对象,跟Object没有任何关系; 2。类数据:每个变量都是对象,所有对象都是Object类的子类或子孙。
String类的用法:
public final class String extends Object implements Serializable, Comparable<String>, CharSequence
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现
常用方法:
public char charAt(int index)
返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。
序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推,这类似于数组索引。
public int compareTo(String anotherString)
按字典顺序比较两个字符串
public String concat(String str)
将指定字符串连接到此字符串的结尾
public String replace(char oldChar,
char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
public String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
public String trim()
返回字符串的副本,忽略前导空白和尾部空白。
public char[] toCharArray()
将此字符串转换为一个新的字符数组
public int indexOf(String str, int fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始下面给出一个实例参考String类的用法
/**
* 测试String的常用方法
*/
public class TestString {
/**
* 统计字符串中大写字母的个数,小写字母的个数,非字母的个数
* @param str 字符串
*/
private static void countString(String str) {
int countUpperNumber = 0;
int countLowerNumber = 0;
int countOtherNumber = 0;
for (int i=0; i<str.length(); i++) {
char ch = str.charAt(i);
if (ch >= 'A' && ch <= 'Z') {
countUpperNumber ++; //注意++的格式
} else if (ch >= 'a' && ch <= 'z') {
countLowerNumber ++;
} else {
countOtherNumber ++;
}
}
System.out.println("字符串" + str + "\n大写字母数为:" + countUpperNumber+ "\t小写字母数为:" + countLowerNumber + "\t非字母数为:" + countOtherNumber);
}
/**
* 输出在一个字符串中指定字符串出现的次数
* @param src原字符串 sub子串
*/
private static void count(String src, String sub) {
int count = 0;
int subLength = sub.length();
int srcLength = src.length();
int index = 0;
int pos = 0;
while (index < srcLength) {
pos = src.indexOf(sub, index);
if (pos != -1) {
count ++;
index = pos;
index += subLength;
} else {
break;
}
}
System.out.println(sub + "在" + src +"中出现" + count + "次");
}
/**
* 测试String中方法的用法
* @param args
*/
public static void main(String[] args) {
String s1 = "hello";
String s2 = "world";
String s3 = "hello";
System.out.println(s1 == s3);
//true 字符常量保存在data segment,一般相同的常量在data segment只有一份
s1 = new String("hello");
s2 = new String("hello");
System.out.println(s1 == s2); //false
System.out.println(s1.equals(s2));
//true 类String重写了Object的equals方法
char c[] = {'s', 'u', 'n', ' ', 'j', 'a', 'v', 'a'};
String s4 = new String(c);
String s5 = new String(c,4,4);
System.out.println(s4); //sun java
System.out.println(s5); //java
s1 = "sun java";
s2 = "Sun Java";
System.out.println(s1.charAt(1)); //u 字符串是从0记数的
System.out.println(s2.length()); //8
System.out.println(s1.indexOf("java")); //4
System.out.println(s1.indexOf("Java")); //-1
System.out.println(s1.equals(s2)); //false
System.out.println(s1.equalsIgnoreCase(s2)); //true
String s = "我是程序员,我在学java";
String str = s.replace('我', '你');
System.out.println(str); //你是程序员,你在学java
s = "Welcome to Java World!";
str = " sun java ";
System.out.println(s.startsWith("Welcome")); //true
System.out.println(s.endsWith("World")); //false
System.out.println(s.toLowerCase()); //把字符串全改为小写 welcome to java world!
System.out.println(s.toUpperCase()); //把字符串全改为大写 WELCOME TO JAVA WORLD!
String subs = s.substring(11);
System.out.println(subs); //Java World!
String sp = str.trim();
System.out.println(sp); //sum java
int j = 1234567;
String sNumber = String.valueOf(j);
System.out.println("j 是" + sNumber.length() + "位数");
s = "Mary,F,1985";
String[] split = s.split(",");
for ( String str1 : split) {
System.out.println(str1);
}
str = "ab cdGF;D ";
countString(str);
String src = "jav attja vattt aj";
String sub = " a";
count(src, sub);
}
}
Integer类的使用方法
Interger:整数类型
1、属性。
static int MAX_VALUE:返回最大的整型数;
static int MIN_VALUE:返回最小的整型数;
static Class TYPE :返回当前类型。
例子:
System.out.println("Integer.MAX_VALUE: " + Integer.MAX_VALUE );
结果为:Integer.MAX_VALUE: 2147483647
2、构造函数。
Integer(int value) :通过一个int的类型构造对象;
Integer(String s) :通过一个String的类型构造对象;
例子:
Integer i = new Integer("1234");
生成了一个值为1234的Integer对象。
3、方法。
说明:
1. 所有方法均为public;
2. 书写格式:[修饰符] <返回类型> <方法名([参数列表])>
如:
static int parseInt(String s) 表示:此方法(parseInt)为类方法(static),返回类型为(int),方法所需参数为String类型。
1. byteValue():取得用byte类型表示的整数;
2. int compareTo(Integer anotherInteger) :比较两个整数。相等时返回0;小于时返回负数;大于时返回正数。
例子:
Integer i = new Integer(1234);
System.out.println("i.compareTo: " + i.compareTo(new Integer(123)) );
结果为:i.compareTo: 1
3. int compareTo(Object o) :将该整数与其他类进行比较。如果o也为Integer类,进行方法2 的操作;否则,抛出ClassCastException异常。
4. static Integer decode(String nm) :将字符串转换为整数。
5. double doubleValue() :取得该整数的双精度表示。
6. boolean equals(Object obj) :比较两个对象。
7. float floatValue() :取得该整数的浮点数表示。
8. static Integer getInteger(String nm) :根据指定名确定系统特征值。
9. static Integer getInteger(String nm, int val) :上面的重载。
10. static Integer getInteger(String nm, Integer val) :上面的重载。
11. int hashCode() :返回该整数类型的哈希表码。
12. int intValue() : 返回该整型数所表示的整数。
13. long longValue() :返回该整型数所表示的长整数。
14. static int parseInt(String s) :将字符串转换成整数。s必须是时进制数组成,否则抛出NumberFormatException异常。
15. static int parseInt(String s, int radix) :以radix为基数radix返回s的十进制数。所谓的基数,就是“几进制”。
例子:
String s1 = new String("1010");
System.out.println("Integer.parseInt(String s, int radix): " + Integer.parseInt(s1,2) );
结果为:Integer.parseInt(String s, int radix): 10
16. short shortValue() :返回该整型数所表示的短整数。
17. static String toBinaryString(int i) :将整数转为二进制数的字符串。
18. static String toHexString(int i) :将整数转为十六进制数的字符串。
19. static String toOctalString(int i) :将整数转为八进制数的字符串。
20. String toString() :将该整数类型转换为字符串。
21. static String toString(int i) :将该整数类型转换为字符串。不同的是,此为类方法。
22. static String toString(int i, int radix) :将整数i以基数radix的形式转换成字符串。
例子:
int i1 = 54321;
System.out.println("Integer.toString(int i, int radix): " + Integer.toString(i1,16) );
结果为:Integer.toString(int i, int radix): d431
23. static Integer valueOf(String s) :将字符串转换成整数类型。
24. static Integer valueOf(String s, int radix) :将字符串以基数radix的要求转换成整数类型。
希望大家在以后实际应用时能更深刻地理解这两个类的用法。