Download presentation
Presentation is loading. Please wait.
1
Variables and Conditionals Hal Helms halhelms.com
2
What we'll cover Basics of variables Types of variables (strings, arrays, etc.) Scopes of variables (session, application, etc.) Conditionals (working with boolean variables)
3
Basics Variables are name/value pairs Variables permit our programs to work with values that can't be known at design time or that may change from their original value customerName yourStreetAddress currentUser
4
Basics Variables give context and constraint to values The value "42" is meaningless apart from a context, usually provided by variable name (e.g. meaningOfLife ) Data typing constrains variables to hold meaningful values isNumeric() returns a boolean value randRange() returns an integer value
5
Strong data typing Some languages employ strong typing, requiring the programmer to declare a variable's data type prior to using it String myName; int myAge; Company myEmployer; Examples Java C#
6
Weak data typing Other languages use weak typing, in which the language implicitly determines the data type of a variable Examples Smalltalk ColdFusion Weakly typed languages are not untyped languages!
7
Data typing Different data types hold different types of values string int structure Car "Visualize whirled peas" 1024 name"Hal Helms" ACMmembertrue numberOfChildren1
8
ColdFusion data types string numeric query list (string) structure array object boolean date GUID UUID
9
Complex variable type: query query series of 1 or more rows with column or field values for each row iddescriptionprice 100Widget29.99 200Framus, left-handed75.00 addressable products.price — refers to current row products.price[2] — specifies row products
10
Complex variable type: structure structure collection of name/value pairs grouped around a central idea or item teacherHal Helms addressable javaClass.maxStudents javaClass['maxStudents'] maxStudents10 isActivetrue Ben Edwards javaClass
11
Complex variable type: 1-d array one-dimensional array collection of ordered values resembles a single row of a spreadsheet Hal Helms addressable onedee[2] Sean CorfieldBen Edwards onedee [1][2][3]
12
Complex variable type: 2-d array two-dimensional array collection of ordered values resembles multiple rows of a spreadsheet 68 addressable twodee[1][3] 8472 twodee [1][2][3] 6269 [1] [2]
13
Complex variable type: object Objects are fundamentally different from all other data types in that they encapsulate both data and behavior Objects allow us to create scale models of the world under consideration Car getMake(): string addGas(gallons): void accelerate(): void
14
Quiz time! For each of the following,explain which data type you'd use and why final test scores for all students collection of Student objects lyrics to "Memories" (thank heavens for garbage collection!) number of students in a class information from LDAP server composer's date born, date died, nationality, typical genre an hourly employee
15
Understanding scopes A variable typically has a lifespan and a scope lifespan: how long the system keeps a reference to a variable scope: location from which variable is visible In ColdFusion, a variable's scope and lifespan are bound together in a single attribute, scope, which is prefixed to the variable name
16
Understanding scopes prefixvisibilitylifespan applicationeverywhere in same applife of application attributeswithin custom tag (for variables passed into custom tag) current request callerwithin custom tag (for variables on calling page) current request cgieverywherecurrent request clienteverywhere in same application for an individual user varies by purge timeframe cookieeverywhere in all apps on domain varies; set by cookie formeverywherecurrent request requesteverywherecurrent request servereverywhere by all apps on single server varies by server timeout setting sessioneverywhere in same app for an individual user varies by session timeout setting urleverywherecurrent request variableslocal to page/CFC and any included pages current request
17
Quiz time! For each of the following,explain which scope you'd use and why global "constants" such as datasource name query meant to be created and used on same page a CFC, currentUser, that encapsulates data and behavior for the currently logged in user a cookie crumb array a userID meant to identify the user between visits a custom tag "reaching into" the base template to read or set a variable on that page
18
Conditionals All conditionals involve carrying out some instructions based on whether an expression evaluates to true
22
iif()
23
switch/case
24
Conclusion Variables are the basis of all programs Data typing, although mostly hidden in ColdFusion, is very important—particularly in OO languages Do experiment with "complex" data types; you'll find they make your code easier to write and maintain Conditionals allow us to execute commands based on the result of some run time boolean value
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.