CS1335 Java and Processing
  • CS 1335 Computer Science 1
  • Getting Started
    • Processing IDE
    • Java vs Javascript
    • Review: Processing, Functions
    • HSB Color Mode
      • HSB Color Wheel
        • Example Code
      • HSB Color Palette Tool
    • Recursion
      • Recursion Call-Stack
      • Example Code
        • Example Code Feb 5 S20
        • Feb 12 Code
  • Project 1
    • Subjective Modeling of Emotions
    • Emotions represented using color, form, space
      • Kandinsky Color - Emotion
      • Emotional Intelligence
    • Project 1: PShapes
      • Example Code
      • Inspiration
    • PShape with Cutout - Inner Contour
    • VertexShape - Recursion
    • Project 1: Recursive Drawing
    • Project 1: Programmatic Variations in Color
      • Recursion with rotate, scale
      • Plan Region Size, Color
    • Map Function
    • Transforms for Mirroring
    • Project1-Steps
  • Grid Based Designs
    • Computational Design
      • Generative Design
    • Artist: Victor Vasarely
    • Grid Pattern Design
    • 1D - Array of PShapes for Grid Layout
      • Truchet Tiling
      • Example Code
    • PShapes in Grid Regions
    • Grid Region Logic
    • Pattern Preview - Transforms: Translate & Scale
  • Project 2
    • Project 2 - 2D Arrays for Gradient Logic
      • 2D Array Grid with Labels
    • Grid Patterns using 2D Array Indexes: i, j
      • Example Class Code
    • lerpColor( ) and map( ) Functions
    • Demo Lerp Colors
    • 2D Arrays with lerpColor
    • Create PShape 2D Array
    • Function: Populate2DArray( )
    • Function: DisplayShapeMatrix()
    • Transforms for Position, Rotation, Scale of ShapeMatrix Elements
    • Project 2 - Steps
    • Animation for ShapeMatrix
      • Animation w/Noise
  • Object Oriented Programming
    • Introduction to Objects
    • OOP vs Data-Flow
    • Button States
    • Buttons as Objects
      • Button Class
    • Create Object Instances
    • Button Types
    • Modeling Buttons: States and Events
    • OOP - Inheritance
    • OOP - Polymorphism
    • Child-Class: PImageButton
    • PShape - SVG Objects
    • Menu of Buttons
    • ButtonGroup - Final Version
    • Slider Controller
    • UML Class Diagram
  • Project 3
    • Project 3 - Logic, Steps
    • Example Code S20
      • Code Wed Apr 1
      • Code Wed Apr 8 v1
      • Code Wed Apr 8 v2
      • Code Mon Apr 13
      • Code Wed Apr 15
      • Code Mon Apr 20
      • Code Wed Apr 22
      • Code Mon Apr 27
      • Code Wed Apr 29
    • Project 3 - Class Definitions
      • Button
      • PImageButton
      • ButtonGroup
      • Pattern
        • PShapes - SVG, Vertex Shapes
        • Setting Colors For Patterns
        • Pattern - With Child-PShapes
      • Slider
      • Particles
  • Java Syntax
    • Java Syntax
      • Typed-Variables
      • Float - Integer Conversion Errors
      • Modulus
      • Functions
      • Object Reference Data Types
      • Arrays
        • Class Example Code
      • Switch-Case Statement
      • Ternary Operator
      • Class
      • Learning Science
    • UML Class Diagram
    • Glossary
  • Resources and References
    • Resources
    • Random Inspiration
      • Ulm School
      • Heart-Mind, Mind, Body
      • Statistical Uncertainty
Powered by GitBook
On this page

Was this helpful?

  1. Java Syntax
  2. Java Syntax
  3. Arrays

Class Example Code

Here is some example code similar to what was done in class.

//Example Class Code 
//Arrays:  Declare, Initialize array, initialize array elements
//Object reference variables -null, or contain a valid memory address to object data in the heap
//Functions: primitive vs object input parameters, return values
//Random - for coin flip logic 

void setup(){
  int num=5;  

  int result = DoSomething( num );  //using the value returned from a function
  //copy of num variable's value ( 5 ) passed into the function
  //num variable not changed by function call
  println("num, result " + num + " , " + result);

  int[] myArray; //Declare the array - has a value of null
  int[] myArray2; //Declare another array - has a value of null

  myArray = new int[ 20 ]; //initialize the array - now variable contains valid memory address
  myArray2 = myArray;  //2nd object reference variable pointing to same memory location

  myArray[0] = 10;  //initialize first element using bracket notation
  myArray2[0] = 15; //change value using other object reference variable
  println( "Array value changed " + myArray[0]);

  //Use a loop to initialize the elements of the array
  for ( int i=0; i < myArray.length; i++){
    myArray[i] = (int) random(0,2); //flip a coin
    println("random value myArray[i] " + myArray[i]);
   }

  DoSomething(myArray[0]); //input parmater is an int, pass in a copy of the value 
  println( "initial Array value " + myArray[0]);

  //Function input value is the memory address of the array
  //so changes to the array in the function are persisted
  //to the array after the function is done executing
  DoArraySomething( myArray );
  println("after function myArray[0] " + myArray[0]); //first array element value was permanently changed in the function call

   } //end setup

//Function that takes an array as an input parameter
void DoArraySomething( int[] list ){ //input parameter is the memory address of the object
  list[0] = 10; //actually changes value in the original array
}

//Function that has an integer input parameter
int DoSomething( int val ){ //val is a local variable
  val = val + 10;  //changing the value of local variable does not change the original variable used in the function call
  println("val " + val);
  return val;
}
PreviousArraysNextSwitch-Case Statement

Last updated 5 years ago

Was this helpful?