Java Basics: Data Types, Variables, and Loops



Similar documents
CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Chapter 2: Elements of Java

CSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals

Chapter 2 Elementary Programming

First Java Programs. V. Paúl Pauca. CSC 111D Fall, Department of Computer Science Wake Forest University. Introduction to Computer Science

CS 106 Introduction to Computer Science I

Introduction to Java. CS 3: Computer Programming in Java

VB.NET Programming Fundamentals

Variables, Constants, and Data Types

Chapter One Introduction to Programming

Topics. Parts of a Java Program. Topics (2) CS 146. Introduction To Computers And Java Chapter Objectives To understand:

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

J a v a Quiz (Unit 3, Test 0 Practice)

Object Oriented Software Design

Introduction to Java

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

Introduction to Java Applications Pearson Education, Inc. All rights reserved.

Chapter 2 Introduction to Java programming

Object Oriented Software Design

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

Visual Logic Instructions and Assignments

Introduction to Python

Sources: On the Web: Slides will be available on:

Moving from CS 61A Scheme to CS 61B Java

UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming

Sample CSE8A midterm Multiple Choice (circle one)

Building Java Programs

Basic Java Constructs and Data Types Nuts and Bolts. Looking into Specific Differences and Enhancements in Java compared to C

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

Informatica e Sistemi in Tempo Reale

Chapter 3. Input and output. 3.1 The System class

Example of a Java program

1.00/ Session 2 Fall Basic Java Data Types, Control Structures. Java Data Types. 8 primitive or built-in data types

Programming and Data Structures with Java and JUnit. Rick Mercer

CS1020 Data Structures and Algorithms I Lecture Note #1. Introduction to Java

Programming in Java Course Technology, a part of Cengage Learning.

Java CPD (I) Frans Coenen Department of Computer Science

Computer Programming I

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007

JAVA - QUICK GUIDE. Java SE is freely available from the link Download Java. So you download a version based on your operating system.

Classes and Objects in Java Constructors. In creating objects of the type Fraction, we have used statements similar to the following:

1) Which of the following is a constant, according to Java naming conventions? a. PI b. Test c. x d. radius

Keywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

Primitive data types in Java

Chapter 1 Java Program Design and Development

Java Crash Course Part I

Part I. Multiple Choice Questions (2 points each):

java.util.scanner Here are some of the many features of Scanner objects. Some Features of java.util.scanner

Iteration CHAPTER 6. Topic Summary

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4

Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013

Scanner sc = new Scanner(System.in); // scanner for the keyboard. Scanner sc = new Scanner(System.in); // scanner for the keyboard

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

C++ Language Tutorial

Handout 3 cs180 - Programming Fundamentals Spring 15 Page 1 of 6. Handout 3. Strings and String Class. Input/Output with JOptionPane.

Building Java Programs

AP Computer Science Java Mr. Clausen Program 9A, 9B

AP Computer Science Java Subset

Java Interview Questions and Answers

JavaScript: Introduction to Scripting Pearson Education, Inc. All rights reserved.

Semantic Analysis: Types and Type Checking

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

A Simple Introduction to Game Programming With C# and XNA 3.1

Numeral Systems. The number twenty-five can be represented in many ways: Decimal system (base 10): 25 Roman numerals:

CompSci 125 Lecture 08. Chapter 5: Conditional Statements Chapter 4: return Statement

Maths Workshop for Parents 2. Fractions and Algebra

COSC Introduction to Computer Science I Section A, Summer Question Out of Mark A Total 16. B-1 7 B-2 4 B-3 4 B-4 4 B Total 19

CS106A, Stanford Handout #38. Strings and Chars

Introduction to Python

AP Computer Science Static Methods, Strings, User Input

Binary Adders: Half Adders and Full Adders

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

Install Java Development Kit (JDK) 1.8

D06 PROGRAMMING with JAVA. Ch3 Implementing Classes

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Third AP Edition. Object-Oriented Programming and Data Structures. Maria Litvin. Gary Litvin. Phillips Academy, Andover, Massachusetts

LOOPS CHAPTER CHAPTER GOALS

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Arrays. Introduction. Chapter 7

Lecture 5: Java Fundamentals III

Simple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. Dev-C++ Dev-C++ Windows Friendly Exit. The C++ Programming Language

Chapter 3 Operators and Control Flow

Lecture 1 Introduction to Java

The programming language C. sws1 1

Introduction to Object-Oriented Programming

ECE 122. Engineering Problem Solving with Java

Fundamentals of Programming

5.2 Q2 The control variable of a counter-controlled loop should be declared as: a.int. b.float. c.double. d.any of the above. ANS: a. int.

Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test

26 Integers: Multiplication, Division, and Order

3.GETTING STARTED WITH ORACLE8i

PL / SQL Basics. Chapter 3

arrays C Programming Language - Arrays

Scanner. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit.

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Week 1: Review of Java Programming Basics

Transcription:

Java Basics: Data Types, Variables, and Loops If debugging is the process of removing software bugs, then programming must be the process of putting them in. - Edsger Dijkstra Plan for the Day Variables - symbols or names that represent values Data Types - the kind of value does a variable represent int - integers, such as 1024, -77, 2, 0 double - real numbers, or actually (good) approximations of real numbers. For example, 3.14159, -0.023343 char - single characters, which are enclosed in single quotes in Java: $, a, *, R boolean - logical values: true or false Arithmetic operators (and another use of +) + represents addition in Java, but also the concatenation or appending of two strings Based on slides at buildingjavaprograms.com 1

Data types type: A category or set of data values. Constrains the operations that can be performed on data Many languages ask the programmer to specify types // Variable mynumber stores integer values, and currently // has the value 3 int mynumber = 3; Internally, computers store everything as 1s and 0s 104 01101000 "hi" 01101000110101 2

Java's primitive types primitive types: Java s built-in data types for numbers, text characters and logic values. 8 primitive types in Java Non-primitive types are object types We'll use these four primitive types in this class: Name Description Examples int integers (whole numbers) 42, -3, 0, 926394 double real numbers 3.14, -0.25, 9.0 char single text characters 'a', 'X', '?', '\n' boolean logical values true, false 3

Expressions expression: A value or operation that computes a value. Example: 3 + 9 * 2 The simplest expression is a literal value. 84-2.11 A complex expression can use operators and parentheses. (-4.5 + 2.11) * 8 // * represents multiplication 4

Arithmetic operators Operators we will use often in cs 305j: + - * / % addition subtraction (or negation) multiplication division modulus (a.k.a. remainder) As a program runs, its expressions are evaluated. 1 + 1 evaluates to 2 System.out.println(3 * 4); //prints 12 How would we print the text 3 * 4 on the screen? 5

Integer division with / When we divide integers, the quotient is also an integer. 14 / 4 is 3, not 3.5 3 4 4 ) 14 10 ) 45 12 40 2 5 More examples: 32 / 5 is 6 84 / 10 is 8 156 / 100 is 1 Dividing by 0 causes an error when your program runs. 6

Integer remainder with % The % operator computes the remainder from integer division. 14 % 4 is 2, since 14 divided by 4 is 3, with remainder 2 33 % 5 is 3, since 218 divided by 5 is 6, with remainder 3 What is the result of the following operations? 45 % 6 2 % 2 8 % 20 11 % 4 7

Applications of % Operator How do we Obtain last (ones) digit of a number. Ex: From 432115, get 5 Obtain last 4 digits of a SSN. Ex: For SSN 552689321, get 9321 Determine whether a number is odd. Exercise: Suppose some unknown integer (greater than 100) is stored in variable n. How do you obtain the tens digit? 8

Operator Precedence precedence: Order in which operators are evaluated. Operators of same precedence level evaluate leftto-right. 1-2 - 3 is (1-2) - 3 which is -4 */% have a higher precedence than +- 1 + 3 * 4 is 13 6 + 8 / 2 * 3 6 + 4 * 3 6 + 12 is 18 Parentheses can force a certain order of evaluation: (1 + 3) * 4 is 16 9

Precedence examples 1 * 2 + 3 * 5 % 4 \_/ 2 + 3 * 5 % 4 \_/ 2 + 15 % 4 \ / 2 + 3 \ / 5 1 + 8 % 3 * 2-9 \_/ 1 + 2 * 2-9 \ / 1 + 4-9 \ / 5-9 \ / -4 10

Precedence questions What values result from the following expressions? 9 / 5 695 % 20 7 + 6 * 5 7 * 6 + 5 248 % 100 / 5 6 * 3-9 / 4 (5-7) * 4 6 + (18 % (17-12)) 11

Real numbers (type double) Java can manipulate real numbers (numbers with a decimal point): 6.022, -42.0, 2.143e17 The operators +-*/%() all still work with double. / produces a more precise answer: 15.0 / 2.0 is 7.5 % is not typically used on real numbers Precedence is the same: () before */% before +- 12

Real number example 2.0 * 2.4 + 2.25 * 4.0 / 2.0 \ / 4.8 + 2.25 * 4.0 / 2.0 \ / 4.8 + 9.0 / 2.0 \ / 4.8 + 4.5 \ / 9.3 13

Precision Issues with Reals Computations with real numbers are not always as precise as we expect (though the answer we get is close): System.out.println ( 11.0-10.91); We expect: 0.09 What s printed: 0.08999999999999999 Computers represent some real numbers in an imprecise way internally, so some calculations with them are off by a very slight amount. We can usually tolerate the precision errors, but later we will learn some ways to produce a better output for examples like above. 14

Mixing types When int and double are mixed, the result is a double. 4.2 * 3 is 12.6 The conversion is per-operator, affecting only its operands. 7 / 3 * 1.2 + 3 / 2 \_/ 2 * 1.2 + 3 / 2 \ / 2.4 + 3 / 2 \_/ 2.4 + 1 \ / 3.4 3 / 2 is 1 above, not 1.5. 2.0 + 10 / 3 * 2.5-6 / 4 \ / 2.0 + 3 * 2.5-6 / 4 \ / 2.0 + 7.5-6 / 4 \_/ 2.0 + 7.5-1 \ / 9.5-1 \ / 8.5 15

String concatenation string concatenation: Using + between a string and another value to make a longer string. "hello" + 42 is "hello42" 1 + "abc" + 2 is "1abc2" "abc" + 1 + 2 is "abc12" 1 + 2 + "abc" is "3abc" "abc" + 9 * 3 is "abc27" "1" + 1 is "11" 4-1 + "abc" is "3abc" Use + to print a string and an expression's value together. System.out.println("Grade: " + (95.1 + 71.9) / 2); Output: Grade: 83.5 16

Receipt example What's bad about the following code? public class Receipt { public static void main(string[] args) { // Calculate total owed, assuming 8% tax / 15% tip System.out.println("Subtotal:"); System.out.println(38 + 40 + 30); } } System.out.println("Tax:"); System.out.println((38 + 40 + 30) *.08); System.out.println("Tip:"); System.out.println((38 + 40 + 30) *.15); System.out.println("Total:"); System.out.println(38 + 40 + 30 + (38 + 40 + 30) *.08 + (38 + 40 + 30) *.15); The subtotal expression (38 + 40 + 30) is repeated So many println statements 17

Variables variable: A piece of the computer's memory that is given a name and type, and can store a value. Like preset stations on a car stereo, or cell phone speed dial: We use variables to store the result of a calculation, so we can use it later 18

Variable Declaration variable declaration: Sets aside memory for storing a value of some specified type. Variables must be declared before they can be used. A declaration specifies the variable s name and type. The name is an identifier. Declaration Syntax: <type> <name>; -- Example: int x; -- Example: double mygpa; x mygpa Multiple variable declarations on same line: double sidea, sideb, sidec; 19

Assignment Declaring a variable: sets aside a chunk of memory for storing values assignment: Stores a value in a variable. The value can be an expression; the variable stores its result. Syntax: <name> = <expression>; int x; x = 3; x 3 double mygpa; mygpa = 1.0 + 2.25; mygpa 3.25 20

Using variables Once given a value, a variable can be used in expressions: int x; x = 3; System.out.println("x is " + x); // x is 3 System.out.println(5 * x - 1); // 5 * 3-1 You can assign a value more than once: int x; x = 3; System.out.println(x + " here"); x 11 3 // 3 here x = 4 + 7; System.out.println("now x is " + x); // now x is 11 21

Declaration/initialization A variable can be declared/initialized in one statement. Syntax: <type> <name> = <value>; double mygpa = 3.95; x 14 int x = (11 % 3) + 12; mygpa 3.95 22

Assignment and algebra Assignment uses =, but it is not an algebraic equation. X = ; means store the value of the expression on the right in the memory set aside for x x = 3; means store 3 in the memory allocated for x What happens here? int x = 3; x = x + 2; //??? x 35 23

Assignment and types A variable can only store a value of its own type. int x = 2.5; // ERROR: incompatible types An int value can be stored in a double variable. The value is converted into the equivalent real number. double mygpa = 4; mygpa 4.0 double avg = 11 / 2; Why does avg store 5.0 and not 5.5? avg 5.0 24

Compiler errors A variable can't be used until it is assigned a value. int x; System.out.println(x); // ERROR: x has no value You may not declare the same variable twice. int x; int x; // ERROR: x already exists int x = 3; int x = 5; How can this code be fixed? // ERROR: x already exists 25

Printing a variable's value Use + to print a string and a variable's value on one line. double grade = (95.1 + 71.9 + 82.6) / 3.0; System.out.println("Your grade was " + grade); int students = 11 + 17 + 4 + 19 + 14; System.out.println("There are " + students + " students in the course."); Output: Your grade was 83.2 There are 65 students in the course. 26

Receipt question Improve the receipt program using variables. public class Receipt { public static void main(string[] args) { // Calculate total owed, assuming 8% tax / 15% tip System.out.println("Subtotal:"); System.out.println(38 + 40 + 30); } } System.out.println("Tax:"); System.out.println((38 + 40 + 30) *.08); System.out.println("Tip:"); System.out.println((38 + 40 + 30) *.15); System.out.println("Total:"); System.out.println(38 + 40 + 30 + (38 + 40 + 30) *.15 + (38 + 40 + 30) *.08); 27

Receipt answer public class Receipt { public static void main(string[] args) { // Calculate total owed, assuming 8% tax / 15% tip int subtotal = 38 + 40 + 30; double tax = subtotal *.08; double tip = subtotal *.15; double total = subtotal + tax + tip; } } System.out.println("Subtotal: " + subtotal); System.out.println("Tax: " + tax); System.out.println("Tip: " + tip); System.out.println("Total: " + total); 28

Exercises What is the result? 1. int x = 4; x = x + 3; 2. 5 = 1 + 4; 3. Double y = 6; y = 2 * y; 29

What is the Output? 1. int average = (9 + 8)/2; System.out.println(average); average = (average * 2 + 10 + 4)/4; System.out.println(average); 2. System.out.println(3 + 2 + friends are coming over ); 3. System.out.println( Call + 9 + 1 + 1); 30

Real or Integer? Categorize each of the following quantities by whether an int or double variable would best to store it: Integer (int) Real Number (double) 1. Temperature in degrees 5. Number of rainy days this month 2. Population of lemmings 6. Number of miles traveled today 3. Your grade point average 7. A person s weight in pounds 4. The average of a collection of exam scores credit: Kate Deibel, http://www.cs.washington.edu/homes/deibel/cats/ 31

Exercise Write a program that assigns the length and width of a rectangle to two variables, and then prints the area of the rectangle. Sample Output: Length = 4 Width = 3 The triangle s area is 12. 32

Exercise using Variables For student Jane Doe: Exam 1 score: 95 Exam 2 score: 89 Exam 3 score: 93 Write a program that displays Jane Doe s exam average. Output: On exam 2, Jane Doe made 89. Her exam average is 92.333333. 33

Increment and Decrement Operators The increment operator ++ adds 1 to a number result ++; // The value stored in result is increased by 1 The decrement operator -- subtracts 1 from a number result --; // value stored in result is decreased by 1 These operators can come before or after the variable/value: ++count; --count; 34

Output? Example - Increment/Decrement int count = 1; int n = 2 + count++; System.out.println( count = + count); System.out.println( n = + n); What about now: int count = 1; int n = 2 + ++count; 35

Assignment Operators Combine assignment with an operation Use whenever you want to apply some operation to the value of a variable, and store the result in that variable Example: count += 5; is equivalent to count = count + 5; Example: int result = 2; result *= 4; // result =? 36

Assignment Operators Example: int count1 = 3; int count2 = 6; int product *= count1 + count2; // what is product? equivalent to int product = product * (count1 + count2); Example: String s = hello ; S += world ; // what is s? equivalent to S = s + world ; 37