`
半岛铁盒
  • 浏览: 7847 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

Java中关于String类和Integer类的用法小结

阅读更多
  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的要求转换成整数类型。
  希望大家在以后实际应用时能更深刻地理解这两个类的用法。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics