
import static java.lang.System.*;

public class StringExamples 
{
    public static void main(String[] args) 
    {
       
       	// using a string
		out.println("The String Class");
		out.println();
		out.println();
		out.println("String Methods");
		out.println();
		out.println("toString()    returns a new String which is the same as the original String");
		out.println("length()      returns the number of characters in the String (int)");
		out.println("charAt()      returns the character (char) at the given position (index)");
		out.println("indexOf()     searches for a given character or String and returns the \n                position found or -1 if not found");
		out.println("equals()      compares this String to a given String and returns true or false");
		out.println("compareTo()   compares this String to a given String and returns a negative, \n                0, or positive int (dictionary order)");
		out.println("substring()   returns a new String which is a portion of the original String");
		out.println("replaceAll()  returns a String replacing a given String with another \n                given String");
		out.println();
		out.println();
		
       	String s1 = "abc de";
       	String s2 = "abc cde";
       
       	out.println("s1="+s1); // prints out abc de 
       	out.println("s1.toString()="+s1.toString()); // prints out abc de 
       	out.println("s2="+s2); // prints out abc cde
       	out.println("s2.toString()="+s2.toString()); // prints out abc cde
       	out.println("abc="+"abc"); // prints out abc 
		out.println();
		
       	out.println("s1.length()= "+s1.length()); // prints out 6
       	out.println("s2.length()= "+s2.length()); // prints out 7
       	out.println("abc.length()="+"abc".length()); // prints out 3
        out.println();
        
       	out.println("s1.charAt(0)="+s1.charAt(0)); // prints out the character a
       	out.println("s1.charAt(2)="+s1.charAt(2)); // prints out the character c
		out.println();
		
	   	out.println("s1.indexOf('c')="+s1.indexOf('c')); // prints out 2
	   	out.println("s1.indexOf(\"bc\")="+s1.indexOf("bc")); // prints out 1
		out.println("s1.indexOf(\"ac\")="+s1.indexOf("ac")); // prints out -1	
		out.println();
		   	
		out.println("s1.equals(s2)="+s1.equals(s2)); // prints out false
		out.println("s1.equals(\"abc de\")="+s1.equals("abc de")); // prints out true
		out.println();
		
		out.println("s1.compareTo(s2)="+s1.compareTo(s2)); // prints out 1 ('d' - 'c')
		out.println("s1.compareTo(\"abc de\")="+s1.compareTo("abc de")); // prints out 0
		out.println();
		
	   	out.println("s1.substring(4,6)="+s1.substring(4,6)); // prints out de
	   	out.println("s1.substring(0,3)="+s1.substring(0,3)); // prints out abc
		out.println("s1.substring(2)="+s1.substring(2)); // prints out c de	
		out.println("\"abcabc\".substring(3)"+"abcabc".substring(3)); // prints out abc	
		out.println("s2.substring(2)="+s2.substring(2)); // prints out c cde	
		out.println();
		
		out.println("s1.replaceAll(\"c\",\"a\") ="+s1.replaceAll("c","a")); // prints out aba de 	
		out.println("s1.replaceAll(\"ab\",\"f\")="+s1.replaceAll("ab","f")); // prints out fc de 	
		out.println("\"abcabca\".replaceAll(\"ab\",\"f\")="+"abcabca".replaceAll("ab","f")); // prints out fcfca
		
		 	

    }
}
