Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 200 Primitives and Expressions

Similar presentations


Presentation on theme: "CS 200 Primitives and Expressions"— Presentation transcript:

1 CS 200 Primitives and Expressions
Jim Williams, PhD

2 This Week Chap 1 Programs - 3 parts (P1)
Due Thursday Team Lab: Tuesday or Wednesday Piazza: Don't post code Unless you post only to "Instructors" which makes it private. Lecture: Primitive Data Types, Expressions and Methods

3 Team Labs First meeting this week. 1350 cs and 1370 cs Meet Assistants
1st floor, around corner from elevators Meet Assistants Work in pairs and small groups Discuss Terms, Trace & Explain code Edit-Compile-Run Cycle on the command-line

4 Pair Programming 2 people working together on 1 computer.
One person types, the other provides direction and reviews. Many report more confidence in solution and more enjoyment programming. Important to switch roles (who has the keyboard). Provide respectful, honest and friendly feedback.

5 Effort Influences Intelligence
"...effort and difficulty, that's when their neurons are making new connections, stronger connections. That's when they're getting smarter." - Carol Dweck power_of_believing_that_you_can_improve

6 Variable Declaration & Assignment
int j; j = 5; int k = 4; j 5 k 4 a variable is a name for an area of memory = is "assignment" operator Not equals (==) value on right copied into variable on left "initialization" is assigning the first value

7 What are the values in a, b & c?
int a = 5; int b = 7; int c = a; b = c; a = b;

8 What are the values in a, b & c?
int a = 2; int b = 1; int c = a + b; a = b; a = c;

9 Swap values in a & b int a = 5, b = 3;
Write code to swap values in a & b. a = b; b = a; c = b; b = c; c = a; a = c; Google "swapping values without third variable" for many creative ways.

10 Primitive Data Types int whole numbers (4 bytes)
double floating point numbers (8 bytes) char single character (2 bytes) boolean true or false value (>= 1 bit) less commonly used: float (4), long (8), short (2), byte (1)

11 Primitive Data Type Conversion
Which work? double a = 5; double b = 6.0; int c = 3.0F; float d = b; c = d; d = c; char e = 'A'; int f = e; short s = f; int i = 10.0 / 3; int j = (int) (10.0 / 3); double k = (int) (10.0 / 3.0)

12 Expression Evaluation
Operators evaluated following rules of precedence and associativity Sub-expressions are evaluated left-to-right

13 Operator Precedence & Associativity

14 4 + 3 * 2 int a = 1, b = 2; int c = a = b = 3; int d = 4; d / (d = 2)

15 What is output? int a = 3; a = 3 + 2 * 6 / 2 - 1;
8 14 other int a = 3; a = * 6 / 2 - 1; System.out.print( a);

16 What is output? int a = 3; int b = 2; a = a - b * (a = b = 1) + 2;
System.out.print( a);

17 Magic Numbers (bad practice)
public class H { public static void main(String []args) { double s = 76 / ; }

18 Variable Names public class H {
public static void main(String []args) { double height = 76; height = height / ; }

19 Use Constants public class H {
public static void main(String []args) { final double INCHES_IN_METER = ; double heightInInches = 76; double heightInMeters = heightInInches / INCHES_IN_METER; }

20 Application: Temperature Conversion
(Degrees Fahrenheit – 32) x 5 / 9 = Degrees Celsius What symbols have different meanings in Java? What changes must be made to implement this equation in Java? Retrieval practice importance of committing to an answer

21 Java Visualizer Implement Equation Create and call a method

22 My List X vs * equals (==) vs assignment (=)
value is stored on the left hand side of assignment (=) operator Variables: name areas of computer memory, declare before use, declare type of data, initialize Variable names: start with letter, include letters numbers and _, but no spaces Conventions: camelCasing, spell out names Semicolon at the end of statements

23 CS Core Principles: Algorithms: A step-by-step set of operations to be performed. Analogy: Recipe, Instructions Abstraction: a technique for managing complexity. Analogy: Automobile, CS200 Computer View

24 Methods A named section of code that can be "called" from other code.
Lots of existing methods that you can use rather than writing yourself. To use, "call the method". The method executes (runs) and may return a value.

25 Calling Class (static) Methods
double numInts = Math.pow( 2, 32); double root = Math.sqrt( 16); int num1 = 16; int num2 = 3; double result; result = num2 + Math.sqrt( num1);

26 mPrint - which is Call, Definition?
mPrint call then mPrint definition static void mPrint() { System.out.println("my print"); } public static void main(String []args) { mPrint(); B is the correct answer

27 Defining Methods public class M { //method definition
static void mPrint() { System.out.println("my print"); } public static void main(String []args) { mPrint(); // method call. B is the correct answer

28 Is count: Argument or Parameter?
public static void main(String []args) { int num = 10; printCount( 23); printCount( num+3); } static void printCount(int count) { System.out.println("count:" + count); argument parameter count is a parameter (zyBooks) or formal parameter the number 23, for example is an argument (also called an actual parameter).

29 Returning a Value from a Method
static int triple(int num) { return num * 3; } public static void main(String []args) { int value = 5; int result = triple( value);

30 What prints out? static void calc(int num) { num = 3; }
5 35 error static void calc(int num) { num = 3; } public static void main(String []args) { int n = 5; calc( n); System.out.println( n); try it.

31 Which is called first: calc or println?
error static int calc(int num) { num -= 33; return num; } public static void main(String []args) { int n = 55; System.out.println( calc( n)); put a print statement within the calc method to see if it is called before the println method.

32 Testing Methods Methods written to run test cases to help validate and debug your code.

33 Return to Converter double degreesCelsius; double degreesFahrenheit = 100.0; degreesCelsius = (degreesFahrenheit ) * 5.0 / 9.0;


Download ppt "CS 200 Primitives and Expressions"

Similar presentations


Ads by Google