EN ES
Programming Concept

Strings

String basic operations, comparisons, and tokenizing.

Chapter 8 (pp. 177–182) of Computer Science I.

Topics

SectionPageContent
Basic Operations177Length, indexing, concatenation, substrings.
Comparisons178Lexicographic comparison; equality vs identity.
Tokenizing179Splitting strings into tokens.

Key Ideas

  • String comparison is not == in every language — a recurring gotcha, made concrete in C (strcmp, char arrays) and Java (.equals() vs ==).
  • Tokenizing underpins parsing input and file I/O.
  • In C, strings are null-terminated char arrays — no native string type.

Examples

Reverse a string

result ← ""
for i from length(s) - 1 down to 0:
  result ← result + s[i]

Tokenize

parts ← split("a,b,c", ",")   // ["a", "b", "c"]

Compare lexicographically

if compare("apple", "banana") < 0:
  print "apple comes first"

Never rely on == for content equality in every language.

In Java

String r = new StringBuilder(s).reverse().toString();
String[] parts = "a,b,c".split(",");        // ["a", "b", "c"]
if ("apple".compareTo("banana") < 0)        // use compareTo/equals, not ==
    System.out.println("apple comes first");

== compares references; .equals() / .compareTo() compare content.

Citations

[1] Computer Science I, Ch. 8, pp. 177–182.