CSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals
- Myrtle Harvey
- 5 years ago
- Views:
Transcription
1 CSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals 1
2 Recall From Last Time: Java Program import java.util.scanner; public class EggBasket { public static void main(string[] args) { int numberofbaskets, eggsperbasket, totaleggs; Scanner keyboard = new Scanner(System.in); System.out.print( "Enter the number of eggs in each basket: "); eggsperbasket = keyboard.nextint(); System.out.print("Enter the number of baskets: "); numberofbaskets = keyboard.nextint(); totaleggs = numberofbaskets * eggsperbasket; } } System.out.println(eggsPerBasket + " eggs per basket."); System.out.println(numberOfBaskets + " baskets."); System.out.println("Total number of eggs is " + totaleggs); 2
3 What Does EggBasketEnhanced Do? Take a look at the program and see if you can figure out what it does. There are some things in here we haven t talked about yet. Can you guess what they re doing based on their names and how we re using them? 3
4 What Is a Program Variable? int numberofbaskets, eggsperbasket, totaleggs; This is a declaration of three integer variables A variable is a named location to store data, i.e., a container for data 4
5 type What Is a Program Variable? int numberofbaskets, eggsperbasket, totaleggs; This is a declaration of three integer variables variable names A variable is a named location to store data, i.e., a container for data Each variable can hold only one type of data; for example only integers, only floating point (real) numbers, or only characters All program variables must be declared before being used 5
6 What Is a Program Type? A variable s type determines the kind of values that a variable can hold and what operations can be applied to it. Java has two different types primitive types and reference types We ll discuss reference types later Some Java primitive types: int (integer, whole values, e.g., 0, 1, -13, 231) double (real values, e.g., 0.0, , -2.72) char (single character values, e.g., a, 3, $ ) boolean (only one of two values: true, false) 6
7 How Do We Assign/Change the Value of a Variable? eggsperbasket = keyboard.nextint(); totaleggs = numberofbaskets * eggsperbasket; Assignment statement: variable = expression; Assigns the value of the expression on the right side of = to the variable on the left side It does not mean equal like in math! These expressions look different, but they re both doing the same thing! 7
8 What Is an Expression? numberofbaskets * eggsperbasket Program expressions are very much like arithmetic expressions you are familiar with (usual operators, parenthesis, precedence rules, etc.) Expressions can be evaluated to produce a value and they have a type (the type of the value of the expression) 8
9 What Is an Expression? keyboard.nextint() Expressions can also be the result of evaluating something known as a function The above is an example of this Program functions are very similar to mathematical functions Take inputs, produce outputs from those inputs Such as y = f(x) f(x) is a function where x is the input, f(x) is the output More on this later! 9
10 Numeric Operators Some common integer operators: + (obvious) - (obvious) * (obvious) / (integer division, e.g., 6/2=3, 5/2=2, 19/5=?) % (mod operator, i.e., remainder of integer division, e.g., 6%2=0, 5%2=1, 19%5=?) Some common real operators: +, -, *, / (real division) Note that real division is approximate Sometimes the results you get will be surprising! 10
11 Integer arithmetic For integers, it is important to understand the / and % operators / is integer division. It is not exactly the same as division for real numbers 4 / 2 = 2 But 5 / 2 = 2 also Rule is divide, then round closer to zero Not round down round toward zero So -5/2 = -2 11
12 Integer arithmetic For integers, it is important to understand the / and % operators % is integer remainder Works much like you might remember long division working when you were in grade school 5 % 2 = 1 Because 5/2=2 with 1 remaining 4 % 2 = 0 Because 4/2=2 with 0 remaining 19 % 5 = 4 Because 19/5 = 3 with 4 remaining etc. 12
13 Integer arithmetic For integers, it is important to understand the / and % operators / and % work together (x / y) * y + (x % y) = x 19 / 5 = 3 19 % 5 = 4 5 * 3 = = 19 Use % to check whether a number is even or not 10 % 2 = 0 11 % 2 = 1 13
14 Some Expressions: What Are Their Values? int i = 12, j = 5, k = -3; double x = 2.1, y = -1.5, z = 3.0; (i + j + k) / 3 (i / j) * j + (i % j) x * x + y * y (x + y + z) / (x y z) 2.0 * z (x + y) 14
15 Output Statements System.out.println(output1 + output outputn); System.out.print(output1 + output outputn); Concatenates the various outputs (quoted strings, variables, constants/numbers) and prints them to the screen (println adds a newline). What do the following statements output? int day = 19; System.out.print("January " + day + ", " " is Martin Luther King s Day! "); 15
16 Input Statements Given the import: import java.util.scanner; and the declaration: Scanner in = new Scanner(System.in); Declare and input an integer value: int i = in.nextint(); Declare and input a real value: double x = in.nextdouble(); Declare and input a whole line (a string of characters): String s = in.nextline(); Input of a single character with the Scanner class is trickier; we ll see it later. 16
17 To Sum Up... So far, we have seen how to input values from the keyboard how to output messages/values to the screen how to create variables to store values how to store values in variables and compute new values with expressions 17
18 It s Your Turn! Now let s put it all together: Write a Java program called ComputeArea, which asks the user for the width and height of a rectangle and computes and prints the area of the rectangle. 18
19 The char Type A variable of the char data type stores a single printable character A char constant or literal is a character in single quotes, e.g., y For example: char answer = y ; System.out.println(answer); prints (displays) the letter y 19
20 The String Type A string is a sequence of characters The String type is used to declare variables that store strings The String type is not a primitive type: it is known as a class or reference type A String constant is one or more characters in double quotes, e.g., string constant Examples: char charvariable = a ;//single quotes String stringvariable = "a";//double quotes String sentence = "Hello, world"; 20
21 String Variables Declare a String variable: String greeting; Assign a value to the variable: greeting = "Hello!"; Use the variable as a String argument in a method call: System.out.println(greeting); causes the string Hello! to be displayed on the screen 21
22 Indexing Characters Within a String The index of a character within a string is an integer starting at 0 for the first character and gives the position of the character For example: String str = This is a string"; T h i s i s a s t r i n g
23 Methods A method is an operation with a name and a list of arguments (possibly empty) A method can simply perform an action or it can return a value A call to a method that does not return a value is a statement, e.g, System.out.println( Hi there! ); A call to a method that returns a value is called a function and can be used as an expression, e.g., int i = keyboard.nextint(); 23
24 Some String Methods The String type has many methods that allow us to manipulate String values/variables For now, this is the main distinction between primitive types and reference types Variables of reference types have methods that can be invoked with the syntax below. Variables of primitive types do not! String methods are called/invoked with the following syntax: stringvar.methodname(arguments) 24
25 Some String Methods int length() returns the number of characters in the given string, e.g., String str = This is a string ; System.out.println(str.length()); What s the output? 16 25
26 String Methods cont. char charat(int pos) returns the character at position pos in the given string, e.g., String str = This is a string ; System.out.println(str.charAt(0)); System.out.println(str.charAt(1)); System.out.println(str.charAt(15)); What s the output? T h g 26
27 Some String Methods cont. String substring(int start, int end) returns the string starting at position start and ending at position (end-1) in the given string, e.g., String str = This is a string ; System.out.println(str.substring(0,4)); System.out.println(str.substring(5,7)); System.out.println(str.substring(0,16)); What s the output? This is This is a string 27
28 Some String Methods cont. int indexof(string astring) returns the position of the first occurrence of string astring in the given string (or -1 if not found), e.g., String str = This is a string ; System.out.println(str.indexOf( This )); System.out.println(str.indexOf( is )); System.out.println(str.indexOf( yoh )); What s the output?
29 Some String Methods cont. boolean equals(string astring) returns true if the string astring is the same as the given string, false otherwise, e.g., String str = test ; System.out.println(str.equals( test )); System.out.println(str.equals( fish )); System.out.println(str.equals( TEST )); What s the output? true false false 29
30 Concatenating (Appending) Strings As we have seen before the + operator can be used to concatenate string values, e.g., String name = Cindy ; String greeting = Hi, + name +! ; System.out.println(greeting); What is the output? Hi, Cindy! 30
31 Single Character Input Given the import: import java.util.scanner; and the declaration: Scanner in = new Scanner(System.in); Declare and input a single character: String s = in.nextline(); char c = s.charat(0); Note that input here is actually the whole line, we re just ignoring the rest of the line Scanner does NOT provide a way to get a single character of input. 31
32 Escape Characters How do you print the following string? The word "hard" Would this do it? System.out.println("The word "hard""); No, it would give a compiler error - it sees the string The word between the first set of double quotes and is confused by what comes after Use the backslash character, \, to escape the special meaning of the internal double quotes: System.out.println("The word \"hard\""); 32
33 String Program public class StringTest { public static void main(string[] args) { String greeting = "Hello!"; int len = greeting.length(); char ch = greeting.charat(3); String sub = greeting.substring(1, 3); int index1 = greeting.indexof("lo"); int index2 = greeting.indexof("low"); System.out.println( Length is: +len); System.out.println( Char at 3 is: +ch); System.out.println( Substring is: +sub); System.out.println( Index of \ lo\ is: +index1); System.out.println( Index of \ low\ is: +index2); } } 33
34 What Is The Output Of StringTest? Trace through the statements of StringTest and determine the output produced by the program. 34
35 Program Line String greeting = "Hello"; Program state greeting = Hello int len = greeting.length(); greeting = Hello len = 5 char ch = greeting.charat(3); greeting = Hello len = 5 ch = l String sub = greeting.substring(1, 3); greeting = Hello len = 5 ch = l sub = el 35
36 Program Line int index1 = greeting.indexof("lo"); int index2 = greeting.indexof("low"); Program state greeting = Hello len = 5 ch = l sub = el greeting = Hello len = 5 ch = l sub = el index1 = 3 greeting = Hello len = 5 ch = l sub = el index1 = 3 Index2 = -1 36
37 Program State Note how program variables are represented in the program state Program variables carry through until they fall out of scope scope describes where in the program the variable has a value More on this later For now, it s enough to realize that variables keep their values from one line to the next 37
38 Your Turn, Again! Write a Java program called BreakName, which asks the user for his/her name in the form First M. Last, and outputs First, M., and Last on three different lines. In other words, after the name is read from input, the program needs to break it up in the three pieces (First, M., and Last) and output those one line at a time. 38
39 BreakName import java.util.scanner; public class BreakName { public static void main(string[] args) { } } 39
40 Documentation and Style Program source code is primarily for human beings Remember the compiler is needed to turn source code (readable by humans) into object code (understandable to the machine) It is important to write program source in ways that make it readable for other programmers Code re-use is an important part of modern software development 40
41 Documentation and Style It is important to write program source in ways that make it readable for other programmers Programmers should use good style when writing their programs to make their code easier to read by other programmers Using a standard style for naming variables, formatting indentation and line breaks ( white space ) and other formatting issues improves the readability of code. Programmers should provide comments in their code to indicate what the code is supposed to be doing Always remember you can read source code to see what a program does, but that doesn t tell you what the programmer intended for the code to do. If the code is broken, the actual operation may differ dramatically from the intent! 41
42 Documentation and Style Use meaningful names for variables, programs, etc. Use indentation and line spacing as shown in the examples in the text Always include a comment that describes what the program is supposed to do at the top of the program file This comment should also include the name of the programmer who wrote the program Use all lower case for variables, except capitalize internal words (eggsperbasket) 42
43 Comments Comment text in a program that the compiler ignores Does not change what the program does, only explains the program Write meaningful and useful comments Comment the non-obvious Assume a reasonably knowledgeable reader // for single-line comments /* */ for multi-line comments 43
44 Documentation and Style Pay attention to your programming style and commenting practices! Full credit on assignments can only be earned by programs that practice good style and are well documented! 44
AP Computer Science Static Methods, Strings, User Input
AP Computer Science Static Methods, Strings, User Input Static Methods The Math class contains a special type of methods, called static methods. A static method DOES NOT operate on an object. This is because
Introduction to Java Applications. 2005 Pearson Education, Inc. All rights reserved.
1 2 Introduction to Java Applications 2.2 First Program in Java: Printing a Line of Text 2 Application Executes when you use the java command to launch the Java Virtual Machine (JVM) Sample program Displays
Sample CSE8A midterm Multiple Choice (circle one)
Sample midterm Multiple Choice (circle one) (2 pts) Evaluate the following Boolean expressions and indicate whether short-circuiting happened during evaluation: Assume variables with the following names 3. Input and output. 3.1 The System class
Chapter 3 Input and output The programs we ve looked at so far just display messages, which doesn t involve a lot of real computation. This chapter will show you how to read input from the keyboard, Programming
Introduction to Programming Lecturer: Steve Maybank Department of Computer Science and Information Systems sjmaybank@dcs.bbk.ac.uk Spring 2015 Week 2b: Review of Week 1, Variables 16 January 2015 Birkbeck
Install Java Development Kit (JDK) 1.8
CS 259: Data Structures with Java Hello World with the IntelliJ IDE Instructor: Joel Castellanos e-mail: joel.unm.edu Web: Office: Farris Engineering Center 319 8/19/2015 Install
J a v a Quiz (Unit 3, Test 0 Practice)
Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2
Chapter 2: Elements of Java
Chapter 2: Elements of Java Basic components of a Java program Primitive data types Arithmetic expressions Type casting. The String type (introduction) Basic I/O statements Importing packages. 1 Introduction.
Some Scanner Class Methods
Keyboard Input Scanner, Documentation, Style Java 5.0 has reasonable facilities for handling keyboard input. These facilities are provided by the Scanner class in the java.util package. A package is a
Java Basics: Data Types, Variables, and Loops
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
Variables, Constants, and Data Types
Variables, Constants, and Data Types Primitive Data Types Variables, Initialization, and Assignment Constants Characters Strings Reading for this class: L&L, 2.1-2.3, App C 1 Primitive Data There are eight
CS106A, Stanford Handout #38. Strings and Chars
CS106A, Stanford Handout #38 Fall, 2004-05 Nick Parlante Strings and Chars The char type (pronounced "car") represents a single character. A char literal value can be written in the code using single quotes
Object-Oriented Programming in Java
CSCI/CMPE 3326 Object-Oriented Programming in Java Class, object, member field and method, final constant, format specifier, file I/O Dongchul Kim Department of Computer Science University of Texas Rio
Using Files as Input/Output in Java 5.0 Applications
Using Files as Input/Output in Java 5.0 Applications The goal of this module is to present enough information about files to allow you to write applications in Java that fetch their input from a file instead
Chapter 1 Java Program Design and Development
presentation slides for JAVA, JAVA, JAVA Object-Oriented Problem Solving Third Edition Ralph Morelli Ralph Walde Trinity College Hartford, CT published by Prentice Hall Java, Java, Java Object Oriented
Lecture 5: Java Fundamentals III
Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd
6.1. Example: A Tip Calculator 6-1
Chapter 6. Transition to Java Not all programming languages are created equal. Each is designed by its creator to achieve a particular purpose, which can range from highly focused languages designed for
ECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Introduction to Electrical and Computer Engineering II Lecture 1 Course Overview Welcome! What is this class about? Java programming somewhat software somewhat
LOOPS CHAPTER CHAPTER GOALS
jfe_ch04_7.fm Page 139 Friday, May 8, 2009 2:45 PM LOOPS CHAPTER 4 CHAPTER GOALS To learn about while, for, and do loops To become familiar with common loop algorithms To understand nested loops To implement
Comp 248 Introduction to Programming
Comp 248 Introduction to Programming Chapter 2 - Console Input & Output Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia University, Montreal, Canada These slides has been
Part I. Multiple Choice Questions (2 points each):
Part I. Multiple Choice Questions (2 points each): 1. Which of the following is NOT a key component of object oriented programming? (a) Inheritance (b) Encapsulation (c) Polymorphism (d) Parallelism ******
Building Java Programs
Building Java Programs Chapter 3 Lecture 3-3: Interactive Programs w/ Scanner reading: 3.3-3.4 self-check: #16-19 exercises: #11 videos: Ch. 3 #4 Interactive programs We have written programs that print
Chapter 2 Elementary Programming
Chapter 2 Elementary Programming 2.1 Introduction You will learn elementary programming using Java primitive data types and related subjects, such as variables, constants, operators, expressions, and input
LAB4 Making Classes and Objects
LAB4 Making Classes and Objects Objective The main objective of this lab is class creation, how its constructer creation, object creation and instantiation of objects. We will use the definition pane to
Computer Programming I
Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4
JAVA - QUICK GUIDE. Java SE is freely available from the link Download Java. So you download a version based on your operating system. JAVA - QUICK GUIDE Copyright tutorialspoint.com What is Java? Java is: Object Oriented Platform independent: Simple Secure Architectural- neutral
Pemrograman Dasar. Basic Elements Of Java
Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle),
AP Computer Science Java Subset
APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall,
Outline Basic concepts of Python language
Data structures: lists, tuples, sets, dictionaries Basic data types Examples: int: 12, 0, -2 float: 1.02, -2.4e2, 1.5e-3 complex: 3+4j bool: True, False string: "Test string" Conversion between types int(-2.8)
Week 1: Review of Java Programming Basics
Week 1: Review of Java Programming Basics Sources: Chapter 2 in Supplementary Book (Murach s Java Programming) Appendix A in Textbook (Carrano) Slide 1 Outline Objectives A simple Java Program Data-types
1 Introduction. 2 An Interpreter. 2.1 Handling Source Code
1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons
Exercise 1: Python Language Basics
Exercise 1: Python Language Basics In this exercise we will cover the basic principles of the Python language. All languages have a standard set of functionality including the ability to comment code,
Python Lists and Loops
WEEK THREE Python Lists and Loops You ve made it to Week 3, well done! Most programs need to keep track of a list (or collection) of things (e.g. names) at one time or another, and this week we ll show
Topic 11 Scanner object, conditional execution
Topic 11 Scanner object, conditional execution "There are only two kinds of programming languages: those people always [complain] about and those nobody uses." Bjarne Stroustroup, creator of C++ Copyright
Chapter One Introduction to Programming
Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of,
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
Unit 6. Loop statements
Unit 6 Loop statements Summary Repetition of statements The while statement Input loop Loop schemes The for statement The do statement Nested loops Flow control statements 6.1 Statements in Java Till now
Programming Languages CIS 443
Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
Programming in Java. What is in This Chapter? Chapter 1
Chapter 1 Programming in Java What is in This Chapter? This first chapter introduces you to programming JAVA applications. It assumes that you are already familiar with programming and that you have taken
Introduction to Java Lecture Notes. Ryan Dougherty redoughe@asu.edu
1 Introduction to Java Lecture Notes Ryan Dougherty redoughe@asu.edu Table of Contents 1 Versions....................................................................... 2 2 Introduction................................................................... ARRAY EXAMPLE PDF
JAVA ARRAY EXAMPLE PDF Created By: Umar Farooque Khan 1 Java array example for interview pdf Program No: 01 Print Java Array Example using for loop package ptutorial; public class PrintArray { public static
Chapter 2 Basics of Scanning and Conventional Programming in Java
Chapter 2 Basics of Scanning and Conventional Programming in Java In this chapter, we will introduce you to an initial set of Java features, the equivalent of which you should have seen in your CS-1 class;
Chapter 8. Living with Java. 8.1 Standard Output
82 Chapter 8 Living with Java This chapter deals with some miscellaneous issues: program output, formatting, errors, constants, and encapsulation. 8.1 Standard Output The Java runtime environment (JRE)
Understanding class definitions
OFWJ_C02.QXD 2/3/06 2:28 pm Page 17 CHAPTER 2 Understanding class definitions Main concepts discussed in this chapter: fields methods (accessor, mutator) constructors assignment and conditional statement
Arrays. Introduction. Chapter 7
CH07 p375-436 1/30/07 1:02 PM Page 375 Chapter 7 Arrays Introduction The sequential nature of files severely limits the number of interesting things you can easily do with them.the algorithms we have examined