马士兵J2SE-第六章-常用类-String类、StringBuffer类、枚举ENUM

简介:
 
public class test {
	public static void main(String[] args) {
		String s1="hello";
		String s2="world";
		String s3="hello";
		System.out.println(s1==s3);
		
		s1=new String("hello");
		s2=new String("hello");
		System.out.println(s1==s2);
		System.out.println(s1.equals(s2));
		
		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
	}
}


输出:

true
false
true
sun java
java

 

String类常用方法

public class test {
	public static void main(String[] args) {
		String s1="sun java",s2="Sun Java";
		System.out.println(s1.charAt(1));
		System.out.println(s1.length());
		System.out.println(s1.indexOf("java"));
		System.out.println(s1.indexOf("Java"));
		System.out.println(s1.equals(s2));
		System.out.println(s1.equalsIgnoreCase(s2));
		
		String s="我是程序员,我在学java";
		String sr=s.replace('我','你');
		System.out.println(sr);
	}
}


输出:

u
8
4
-1
false
true
你是程序员,你在学java

 

 

public class test {
	public static void main(String[] args) {
		String s="Welcome to Java World!";
		String s1=" sun java ";
		System.out.println(s.startsWith("Welcome"));
		System.out.println(s.endsWith("World!"));
		System.out.println(s.endsWith("World"));
		
		String sL=s.toLowerCase();
		String sU=s.toUpperCase();
		System.out.println(sL);
		System.out.println(sU);
		String subS = s.substring(11);//从第11位开始
		System.out.println(subS);
		
		String sp=s1.trim();
		System.out.println(sp);
	}
}


输出:

 

true
true
false
welcome to java world!
WELCOME TO JAVA WORLD!
Java World!
sun java

 

 

public class test {
	public static void main(String[] args) {
		int j=1234567;
		String sNumber=String.valueOf(j);//将基本数据类型转化为字符串
		System.out.println("j是"+sNumber.length()+"位数。");
		String s="Mary,F,1976";
		String[] sPlit=s.split(",");//分隔
		for(int i=0;i<sPlit.length;i++) {
			System.out.println(sPlit[i]);
		}
	}
}


输出:

 j是7位数。
Mary
F
1976

 

//编写一个程序,输出一个字符串中的大写英文字符数,小写英文字母数以及非英文字母数

public class test {
	public static void main(String[] args) {
		String s="hadsjkhkASDJKSDHjkjS*&*&*(&(*?SD";
		int MaxCount=0;
		int MinCount=0;
		int OthCount=0;
		
		for(int i=0;i<s.length();i++) {
			char t=s.charAt(i);
			if(t>='A'&t<='Z') {
				MaxCount++;
			}
			else if(t>='a'&t<'z') {
				MinCount++;
			}
			else {
				OthCount++;
			}
		}
		System.out.println(MaxCount+" "+MinCount+" "+OthCount);
	}
}


输出:

 

11 11 10

 

另解:

//编写一个程序,输出一个字符串中的大写英文字符数,小写英文字母数以及非英文字母数

public class test {
	public static void main(String[] args) {
		int lCount=0,uCount=0,oCount=0;
		String s="SDJKJSHDkjndjaskjhadskjjadkshkjads&^*&^S*&^DS&S*";
		String sL="abcdefghijklmnopqrstuvwxyz";
		String sU="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		
		for(int i=0;i<s.length();i++) {
			char c=s.charAt(i);
			
			if(sL.indexOf(c) !=-1 ) {//在字符串里已经找到这个字母了,就是小写了
				lCount++;
			}else if(sU.indexOf(c)!=-1) {
				uCount++;
			}
			else {
				oCount++;
			}
		}
		
		
		
		System.out.println(lCount+" "+uCount+" "+oCount);
	}
}


 

 

 


输出:

26 12 10

 

 

 方法三:

//编写一个程序,输出一个字符串中的大写英文字符数,小写英文字母数以及非英文字母数

public class test {
	public static void main(String[] args) {
		int lCount=0,uCount=0,oCount=0;
		String s="SDJKJSHDkjndjaskjhadskjjadkshkjads&^*&^S*&^DS&S*";
		String sL="abcdefghijklmnopqrstuvwxyz";
		String sU="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		
		for(int i=0;i<s.length();i++) {
			char c=s.charAt(i);
			
			if(Character.isLowerCase(c) ) {//在字符串里已经找到这个字母了,就是小写了
				lCount++;
			}else if(Character.isUpperCase(c)) {
				uCount++;
			}
			else {
				oCount++;
			}
		}
		
		
		
		System.out.println(lCount+" "+uCount+" "+oCount);
	}
}


输出:

26 12 10

 

 

public class test {
	public static void main(String[] args) {
		String s="sunjavajavajavasdaadasjajavajavadsdjava";
		String sToFind="java";
		
		int count=0;
		int index=-1;
		
		while((index=s.indexOf(sToFind))!=-1) {
			s=s.substring(index+sToFind.length());
			count++;
		}
		
		System.out.println(count);
	}
}


输出:

6

 

 StringBuffer类举例

public class test {
	public static void main(String[] args) {
		String s="Microsoft";
		char[] a={'a','b','c'};
		StringBuffer sb1=new StringBuffer(s);
		sb1.append('/').append("IBM").append('/').append("Sun");
		System.out.println(sb1);
		
		StringBuffer sb2=new StringBuffer("数字");
		for(int i=0;i<=9;i++) {
			sb2.append(i);
		}
		System.out.println(sb2);
		
		sb2.delete(8, sb2.length()).insert(0, a);
		System.out.println(sb2);
		System.out.println(sb2.reverse());
	}
}

输出:

Microsoft/IBM/Sun
数字0123456789
abc数字012345
543210字数cba

 


 

public class test {
	public enum MyColor {red,green,blue};
	
	public static void main(String[] args) {
		MyColor m=MyColor.green;
		switch(m) {
		case red:
			System.out.println("red");
		    break;
		case green:
			System.out.println("green");
			break;
		default:
			System.out.println("default");
		}
		System.out.println(m);
	}
}


输出:

 green
green

 

 

 

 

 

 

 

目录
相关文章
|
1月前
|
Java
【编程基础知识】(讲解+示例实战)方法参数的传递机制(值传递及地址传递)以及String类的对象的不可变性
本文深入探讨了Java中方法参数的传递机制,包括值传递和引用传递的区别,以及String类对象的不可变性。通过详细讲解和示例代码,帮助读者理解参数传递的内部原理,并掌握在实际编程中正确处理参数传递的方法。关键词:Java, 方法参数传递, 值传递, 引用传递, String不可变性。
55 1
【编程基础知识】(讲解+示例实战)方法参数的传递机制(值传递及地址传递)以及String类的对象的不可变性
|
28天前
|
安全 Java 测试技术
Java零基础-StringBuffer 类详解
【10月更文挑战第9天】Java零基础教学篇,手把手实践教学!
24 2
|
1月前
|
存储 安全 C++
【C++打怪之路Lv8】-- string类
【C++打怪之路Lv8】-- string类
21 1
|
1月前
|
数据可视化 Java
让星星月亮告诉你,通过反射创建类的实例对象,并通过Unsafe theUnsafe来修改实例对象的私有的String类型的成员属性的值
本文介绍了如何使用 Unsafe 类通过反射机制修改对象的私有属性值。主要包括: 1. 获取 Unsafe 的 theUnsafe 属性:通过反射获取 Unsafe类的私有静态属性theUnsafe,并放开其访问权限,以便后续操作 2. 利用反射创建 User 类的实例对象:通过反射创建User类的实例对象,并定义预期值 3. 利用反射获取实例对象的name属性并修改:通过反射获取 User类实例对象的私有属性name,使用 Unsafe`的compareAndSwapObject方法直接在内存地址上修改属性值 核心代码展示了详细的步骤和逻辑,确保了对私有属性的修改不受 JVM 访问权限的限制
50 4
|
1月前
|
存储 安全 Java
【一步一步了解Java系列】:认识String类
【一步一步了解Java系列】:认识String类
25 2
|
1月前
|
安全 C语言 C++
【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
34 4
|
1月前
|
存储 编译器 程序员
【C++篇】手撕 C++ string 类:从零实现到深入剖析的模拟之路
【C++篇】手撕 C++ string 类:从零实现到深入剖析的模拟之路
63 2
|
22天前
|
存储 安全 Java
String、StringBuffer 和 StringBuilder 的区别
【10月更文挑战第21天】String、StringBuffer 和 StringBuilder 都有各自的特点和适用场景。了解它们之间的区别,可以帮助我们在编程中更合理地选择和使用这些类,从而提高程序的性能和质量。还可以结合具体的代码示例和实际应用场景,进一步深入分析它们的性能差异和使用技巧,使对它们的理解更加全面和深入。
14 0
|
1月前
|
C语言 C++
C++番外篇——string类的实现
C++番外篇——string类的实现
20 0
|
1月前
|
C++ 容器
C++入门7——string类的使用-2
C++入门7——string类的使用-2
20 0

热门文章

最新文章