Sõned

Sõnede võrdlus kahes keeles.

Python

Java

Sõne loomine

Pythonis on sõne loomiseks mitu võimalust:

s = "tere" # kahekordsed jutumärgid
s = 'tere' # ühekordsed jutumärgid
# kolm jutumärki
s = """tere"""
s = '''tere'''
s = str("tere")

Kõik annavad sama tulemuse.

Kolme jutumärgiga eraldatud sõne
korral saab sõnes kasutada ka reavahetusi.

s = """tere
siin
on
reavahetused"""

Javas saab sõne luua vaid jutumärkide abil.

String s = "tere";
String s2 = new String();

Reavahetust saab kasutada järgmiselt:

String s3 = "tere\nsiin\non\reavahetused";

/*
* tere
* siin
* on
* reavahetused
*/

Sõne ühendamine

Pythonis sõne muuta ei saa.
"Muutmiseks" tuleb teha uus sõne.
Sõnede ühendamiseks saab kasutada liitmist:

s = "üks" + "teine"
s = "üks" + " " + "teine"

Sõne ühendamine teist tüüpi väärtusega:

nr = 3
s = "number:" + str(nr)

Javas ei saa sõne samuti muuta.

Sõnede ühendamine:

String s = "tere" + "tulemast";
String s2 = "tere " + "tulemast";

Javas saab sõnele numbreid liita mugavamalt:

int nr = 3;
String s = "Number: " + nr;

Sõnede võrdlemine

Pythonis saab sõnesid võrrelda
tavapärast võrdlusoperaatoriga (==).

if str1 == str2:
    print("str == str2")

Javas annab objektide (String on objekt)
võrdlemine võrdlusoperaatoriga (==)
tulemuseks selle, kas kaks objekti on täpselt samad.
Üldiselt me pigem tahame võrrelda,
kas sõnede sisud on samad.
Selleks kasutame sõne meetodit "equals".

if (str1.equals(str2)) {
    System.out.println("str1 and str2 are equal");
}

Võrdluseks järgmine kood:

String s1 = new String("aa");
String s2 = new String("aa");
if (s1 == s2) {
    System.out.println("s1 == s2");
}

Siin tingimus s1 == s2 ei kehti.

Pythonis saab võrdlusoperatooritega (<, <=, >=, >)
kontrollida, kas üks sõne on teisest tähestikus eespool.

s1 = "abc"
s2 = "bc"
if s1 < s2:
    print("s1 < s2")

Javas saab sarnaselt kontrollida:

String s1 = "abc";
String s2 = "bc";
if (s1.compareTo(s2) < 0) {
    System.out.println("s1 < s2");
}

compareTo tagastab negatiivse arvu,
kui sõne, millest meetod välja kutsuti (näites s1),
eelneb tähestikus sõnele, mis on argumendiks
(näites s2).

Sõne funktsioonid

s = "teretulemast"
len(s) # 12
String s = "teretulemast";
s.length(); // 12
s = "teretulemast"
s[4:] # tulemast
s[:4] # tere
s[5:7] # ul
s[-3:] # ast
String s = "teretulemast";
s.substring(4);
s.substring(0, 4);
s.substring(5, 7);
s.substring(s.length() - 3);

Pythonis üks sümbol sõnest on sõne
(mille pikkus on 1):

s = "tere"
first = s[0] # "t"
c = 'a' # just a string

Javas on üks sümbol sõnest char tüüpi.
char tüüpi väärtus kirjutatakse ühekordsete
jutumärkide (ülakomad) vahele.

String s = "tere";
char first = s.charAt(0); // 't'
char c = 'a';
s = "teretulemast"
s.find("tere") # 0
s.find("e") # 1
s.find("e", 4) # 7
s.find("o") # -1
String s = "teretulemast";
s.indexOf("tere"); // 0
s.indexOf("e"); // 1
s.indexOf("e", 4); // 7
s.indexOf("o"); // -1
a = "RAINbow"
a.lower()  # "rainbow"
a.upper()  # "RAINBOW"
String a = "RAINbow";
a.toLowerCase();  // "rainbow"
a.toUpperCase();  // "RAINBOW"

Vaata sõnede kohta: /string/index