Click on the image to give it focus and then type letters to shift the location of the image. Characters are typographic symbols such as A, d, and %. The character datatype, abbreviated as char, stores letters and symbols in the Unicode format, a coding system developed to support a variety of world languages. Characters are distinguished from other symbols by putting them between single quotes ('P'). A string is a sequence of characters. A string is noted by surrounding a group of letters with double quotes ("Processing"). Chars and strings are most often used with the keyboard methods, to display text to the screen, and to load images or files.

Original Example: CharactersStrings

// All Examples Written by Casey Reas and Ben Fry
// unless otherwise stated.
PImage frog;
PFont fontA;
int lettersize = 90;
int xoffset;
char letter;

void setup() 
  size(200, 200);
  fontA = loadFont("Arial"); 
  // The String datatype must be capitalized because it is a complex datatype.
  // A String is actually a class with its own methods, some of which are
  // featured below.
  String name= "rathausFrog";
  String extension = ".jpg";
  int nameLength = name.length();
  println("The length of " + name + " is " + nameLength + ".");
  name = name.concat(extension);
  nameLength = name.length();
  println("The length of " + name + " is " + nameLength + ".");

  // The parameter for the loadImage() method must be a string
  // This line could also be written "frog = loadImage("rathausFrog.jpg");
  frog = loadImage(name);

void draw() 
  background(51); // Set background to dark gray
  image(frog, xoffset, 0);
  // Draw an X
  line(0, 0, width, height);  
  line(0, height, width, 0); 
  // Get the width of the letter
  int letterWidth = int(fontA.width(letter) * lettersize);
  // Draw the letter to the center of the screen
  text(letter, width/2-letterWidth/2, height/2);

void keyPressed()
  // The variable "key" always contains the value of the most recent key pressed.
  // If the key is an upper or lowercase letter between 'A' and 'z'
  // the image is shifted to the corresponding value of that key
  if(key >= 'A' && key <= 'z') {
    letter = char(key);
    // Scale the values to numbers between 0 and 100
    float scale = 100.0/57.0;
    int temp = int((key - 'A') * scale);
    // Set the offset for the image
    xoffset = temp;