Statements and Comments Coordinates Width and Height Setup and Draw No Loop Loop Redraw Functions Recursion CreateGraphics Points and Lines Shape Primitives Pie Chart Triangle Strip Bezier Bezier Ellipse 3D Primitives Variables Integers and Floats True/False Characters and Strings Datatype Conversion Variable Scope Array Array 2D Array Objects Iteration Embedded Iteration Conditionals 1 Conditionals 2 Logical Operators Load and Display Image Background Image Transparency Alphamask CreateImage Pointillism Load and Display Shape Disable Style Scale Shape Get Child Letters Words Hue Saturation Brightness Color Variables Relativity Linear Gradient Radial Gradient Wave Gradient Increment/Decrement Operator Precedence Distance 1D Distance 2D Sine Sine and Cosine Sine Wave Additive Wave Polar to Cartesian Arctangent Graphing 2D Equation Random Double Random Noise 1D NoiseWave Mouse 1D Mouse 2D MousePress Mouse Signals Easing Constrain Storing Input Mouse Functions Keyboard Keyboard Functions Milliseconds Clock Translate Scale Rotate RotateXY RotatePushPop Arm Objects Multiple Constructors Composite Objects Inheritance On/Off Directional Spot Reflection Mixture Mixture Grid Perspective Move Eye

This example is for Processing 2+. If you have a previous version, use the examples included with your software. If you see any errors or have suggestions, please let us know.

Conditionals 2.

We extend the language of conditionals from the previous example by adding the keyword "else". This allows conditionals to ask two or more sequential questions, each with a different action.

```
size(640, 360);
background(0);

for(int i = 2; i < width-2; i += 2) {
// If 'i' divides by 20 with no remainder
if((i % 20) == 0) {
stroke(255);
line(i, 80, i, height/2);
// If 'i' divides by 10 with no remainder
} else if ((i % 10) == 0) {
stroke(153);
line(i, 20, i, 180);
// If neither of the above two conditions are met
// then draw this line
} else {
stroke(102);
line(i, height/2, i, height-20);
}
}
```