2. STRINGS
Strings represent a sequence of characters.
The easiest way to represent a sequence of characters in
JAVA is by using a character array.
char Array[ ] = new char [5]; Character arrays are
not good enough to
support the range of
operations we want to
perform on strings.
In JAVA strings are class objects and implemented
using two classes:-
String
StringBuffer.
In JAVA strings are not a character array and is not
NULL terminated.
3. • Normally, objects in Java are created with the new keyword.
OR
• However, String objects can be created "implicitly":
DECLARING & INITIALISING
String name;
name = new String("Craig");
String name;
name = "Craig";
String name= new String("Craig");
4. String objects are handled specially by the compiler.
String is the only class which has "implicit"
instantiation.
The String class is defined in the java.lang package.
Strings are immutable.
The value of a String object can never be changed.
For mutable Strings, use the StringBuffer class.
The String Class
5. DYNAMIC INITIALIZATION OF
STRINGS
BufferedReader br = new
BufferedReader(new
InputStreamReader(System.in));
String city = br.readLine();
Scanner sc=new Scanner(System.in);
String state=sc.nextLine();
String state1=sc.next();
Give throws
IOException
beside
function
name
6. STRING CONCATENATION
JAVA string can be
concatenated using + operator.
String name="Ankita";
String surname="Karia";
System.out.println(name
+"
"+surname);
STRING Arrays
• An array of strings can also be created
String cities [ ] = new String[5];
7. String Methods
The String class contains many useful methods for
string- processing applications.
◦ A String method is called by writing a String object, a dot, the name
of the method, and a pair of parentheses to enclose any arguments
◦ If a String method returns a value, then it can be placed anywhere that
a value of its type can be used
String greeting = "Hello";
int count = greeting.length();
System.out.println("Length is " + greeting.length());
◦ Always count from zero when referring to the position or index of
a character in a string
String method
17. STRING
BUFFER
CLAS
S
STRINGBUFFER class creates strings flexible length that
can be modified in terms of both length and content.
STRINGBUFFER may have characters and substrings
inserted in the middle or appended to the end.
STRINGBUFFER automatically grows to make room for
such additions
Actually STRINGBUFFER has more
characters pre allocated than are actually
needed, to allow room for growth
18. STRING BUFFER CONSTRUCTORS
String Buffer():- Reserves room fro 16 characters
without reallocation
StringBuffer(int size):- Accepts an integer argunent
that explicilty sets the size of the buffer
StringBuffer(String str):- Accepts STRING argument
that sets the initial contents of the STRINGBUFFER and
allocated room for 16 additional characters.
19. STRING BUFFER
FUNCTIONS
length():-Returns the current length of the string.
capacity():- Returns the total allocated capacity.
void ensureCapacity():- Preallocates room for a certain
number of characters.
void setLength(int len):- Sets the length of the string
s1
to len.
If len<s1.length(), s1 is truncated.
If len>s1.length(), zeros are added to s1.
charAt(int where):- Extracts value of a single
character.
setCharAt(int where, char ch):- Sets the value of
21. STRING BUFFER
FUNCTIONS
append(s2):- Appends string s2 to s1 at the end.
insert(n,s2 ):- Inserts the string s2 at the position n of the
string s1
reverse():- Returns the reversed object on when it is
called.
delete(int n1,int n2):- Deletes a sequence of characters
from the invoking object.
n1
n2
deleteCharAt(int loc):- Deletes the character at the index
specified by loc.
Specifies index of first character to remove
Specifies index one past the lastcharacter to
remove
22. STRING BUFFER
FUNCTIONS
replace(int n1,int n2,String s1):- Replaces one set of
characters with another set.
substring(int startIndex):- Returns the substring that starts
at starts at startIndex and runs to the end.
substring(int startIndex, int endIndex):- Returns the
substring that starts at starts at startIndex and runs to the
endIndex-1
23. Difference between String and StringBuffer
No. String StringBuffer
1) String class is immutable. StringBuffer class is mutable.
2) String is slow and consumes
more memory when you
concat too many strings
because every time it
creates new instance.
StringBuffer is fast and
consumes less memory when
you cancat strings.
3) String class overrides the
equals() method of Object
class. So you can compare
the contents of two strings
by equals() method.
StringBuffer class doesn't
override the equals() method of
Object class.