Arvutiteaduse instituut
  1. Kursused
  2. 2018/19 kevad
  3. Objektorienteeritud programmeerimine (Narva Kolledž) (LTAT.NR.003)
EN
Logi sisse

Objektorienteeritud programmeerimine (Narva Kolledž) 2018/19 kevad

  • Home
  • Materials
  • Java Glossary
  • Source Example
  • Cheat sheet (S1-S6)
  • Grading
  • Links
Session 4

Methods of class String

We had our first view of strings in the first session (see here): a string is any sequence of characters – letters, digits, spaces, punctuation, and other “special characters” placed between quotes.

In this section, we are going to have a closer look at methods applicable to strings:

Useful link: the full list of String class fields, constructors, methods and their description can be found here. Pay attention to signatures (the number of parameters and their data types) and the return type!

To create a String object, we can use one of the String constructors whose argument is an array of chars (each char is written between single quotes!):

char[] arrayOfChars = {'G','o','o','d',' ','m','o','r','n','i','n','g'};
String message = new String(arrayOfChars);
System.out.println(message);

An instance of String class can be created in a simpler way:

String message = "Good morning";

Once we have an instance of String data type, we can use methods of its class:

public class HelloString {
    public static void main(String[] args) {

        String myString = "Mart Mardikas";

        System.out.println("String length: " + myString.length()); // 13
        System.out.println(myString.startsWith("Mart")); // true
        System.out.println(myString.endsWith("kas")); // true
        System.out.println(myString.endsWith("Mart")); // false
        System.out.println("Index of the first 'a': " +
                           myString.indexOf('a')); // 1

        int rIndex = myString.indexOf('r');
        System.out.println("Index of the first 'r': " + rIndex); // 2
        System.out.println("Index of the next 'r': " +
                           myString.indexOf('r', rIndex + 1)); // 7

        int aIndex = myString.lastIndexOf('a');
        System.out.println("Index of the last 'a': " + aIndex); // 11
        System.out.println("Index of the Substring \\"Mardi\\": " +
                           myString.indexOf("Mardi")); // 5
        System.out.println("The 4th letter: "+myString.charAt(3)); // 't'

        //Compare two strings
        System.out.println(myString.equals("Mart Mardikas")); // true
        System.out.println(myString.equals("mart mardikas")); // false

        //Compare two strings ignoring case sensitivity
        System.out.println(myString.equalsIgnoreCase("mart mardikas"));  // true

        //Lexicographical comparison
        System.out.println(myString.compareTo("Jaan Jaaniste")); // >0
        System.out.println(myString.compareTo("Peeter Paan")); // <0
        System.out.println(myString.compareTo("Mart Mardikas")); // =0

        System.out.println(myString.replace('M', 'P')); // "Part Pardikas"
        System.out.println(myString.toUpperCase()); // "MART MARDIKAS"

        //String with spaces and new lines removed at the beginning and end of the string
        String yourString = " Mart \n";
        System.out.println(yourString.trim()); // "Mart"

        //Split the string near "ar"
        String[] stringParts = myString.split("ar");
        for (int i = 0; i<stringParts.length; i++){
            System.out.println(stringParts[i]);  // { "M", "t M", "dikas" }
        }
    }
}

Pay attention that the relational operator == compares if two strings refer to the same object. If we want to compare the content of two strings, we have to use special methods like equals, equalsIgnoreCase, compareTo, startsWith, endsWith, etc.

Try out

Compile and run the program above.

Modify the program so that it would also print "Harry and the 'chamber' of secrets" (including the single and double quotes).

Session 4
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused