Sõned
Sõnede võrdlus kahes keeles.
Sõne loomine
Python
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"""
Java
Javas saab sõne luua vaid jutumärkide abil.
String s = "tere";
String s2 = new String("tere");
Reavahetust saab kasutada järgmiselt:
String s3 = "tere\nsiin\non\reavahetused";
String s4 = """Tere
siin
on
reavahetused""";
/*
* tere
* siin
* on
* reavahetused
*/
Sõnede ühendamine
Python
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)
Java
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õrdsuse võrdlemine
Python
Pythonis saab sõnesid võrrelda tavapärast võrdlusoperaatoriga (==).
if str1 == str2:
print("str == str2")
Java
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.
Sõnede tähestikuline võrdlemine
Python
Pythonis saab võrdlusoperatooritega (<, <=, >=, >) kontrollida, kas üks sõne on teisest tähestikus eespool.
s1 = "abc"
s2 = "bc"
if s1 < s2:
print("s1 < s2")
Java
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õne pikkus
Python
s = "teretulemast"
len(s) # 12
Java
String s = "teretulemast";
s.length(); // 12
Sõne viilutamine
Python
s = "teretulemast"
s[4:] # tulemast
s[:4] # tere
s[5:7] # ul
s[-3:] # ast
Java
String s = "teretulemast";
s.substring(4);
s.substring(0, 4);
s.substring(5, 7);
s.substring(s.length() - 3);
Üksiku tähe leidmine
Python
Pythonis üks sümbol sõnest on sõne (mille pikkus on 1):
s = "tere"
first = s[0] # "t"
c = 'a' # just a string
Java
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';
Alamsõne indeksi leidmine
Python
s = "teretulemast"
s.find("tere") # 0
s.find("e") # 1
s.find("e", 4) # 7
s.find("o") # -1
Java
String s = "teretulemast";
s.indexOf("tere"); // 0
s.indexOf("e"); // 1
s.indexOf("e", 4); // 7
s.indexOf("o"); // -1
Upper-/lowercase
Python
a = "RAINbow"
a.lower() # "rainbow"
a.upper() # "RAINBOW"
Java
String a = "RAINbow";
a.toLowerCase(); // "rainbow"
a.toUpperCase(); // "RAINBOW"