33
BIT115: Introduction to Programming Lecture 7 Instructor: Craig Duckett “OUTPUT”

Lecture 7 Instructor: Craig Duckett “OUTPUT”. Lecture 7 Annoucements this ASSIGNMENT 2 is due this Thursday, October 22 nd, uploaded to StudentTracker

Embed Size (px)

Citation preview

BIT115: Introduction to Programming

BIT115: Introduction to ProgrammingLecture 7Instructor: Craig Duckett

OUTPUT

Lecture 7 AnnoucementsASSIGNMENT 2 is due this Thursday, October 22nd , uploaded to StudentTracker by midnight

Assignment 2!!!

3Assignment 1 Graded! Returned! Woot! Assignment 2 (LECTURE 8) THIS Thursday, October 22Assignment 1 Revision (LECTURE 10) Tuesday, November 3Assignment 2 Revision (LECTURE 12) Tuesday, November 10Assignment 3 (LECTURE 13) Thursday, November 12Assignment 3 Revision (LECTURE 16) Tuesday, November 24Assignment 4 (LECTURE 20) Tuesday, December 8Assignment 4 Revision (LECTURE 21) Thursday, December 10

Assignment Dates (By Due Date)

Lecture 7 AnnoucementsOpen Labs

ICE Solutions PostedAssignment 2: Assignment 2 Part 3 HintsMid-Term: Mid-Term Study Guide PostedOutputSystem.out"string"println and printJava Escape Sequences ("Special Characters")The + OperatorAdditionString Concatenation

REMINDER: ICE Solutions Are Available"Possible" solutions to ICEs are now available for the previous lecture starting with Lecture 4 (located at the bottom of the Lecture "slider" areas). Solutions will be made available two days after the current olecture.

6How Much Outside Work/Time Per Week for a 5-Credit Class?

The Short Answer: It depends on the class (math vs humanities vs science vs development, etc.)

Rule of Thumb:Absolute Bare Minimum: 5 HoursAverage: 10 HoursTechnical/Developer Classes: 10-15 (occasionally)Upper-Level Classes: 15-20Looking Ahead: Graduate School: 20+ This is College. The amount of time you spend on schoolwork also goes up with every class level you advance. If you are pursuing a degree, and if you have a job, and if you want to do well, then don't expect to have any free time except for the occasional Saturday or Sunday, and the between-quarter breaks (then make the most of them!)

6Assignment 2 Part 3 - HintsIf heard that some of you are still struggling with Assignment 2 Part 3 even though it is imminently due, so I thought I'd give you some 'hints".

Create a class that extends Robot and a constructor. Remember if you do it all in one class (the same class that contains main, then the file name, the class name, and the constructor name all have to be the same.

For example:

public class A2_Part_3 extends Robot { public A2_Part_3(City theCity, int avenue, int street, Direction aDirection, int item) { super(theCity, avenue, street, aDirection, item); }

When you create a new instance of the robot down in main, then it too has to have this same name ( and not Robot).

For example:

A2_Part_3 rob = new A2_Part_3(wallville, 1, 2, Direction.EAST, 0);

Create a turnRight() and turnAround() method, which you will use with three other methods (which I'll talk about one at a time).

Create a movetoWall() method which moves while the front is clear

Create a doEverything() method which will do the following:Initialize a counter to 0Use the counter in a while loop four timesCall movetoWall()Pick up a ThingTurn aroundCall moveToWall()Turn leftMoveTurn leftIncrement the counter by 1

//second part of doEverything continued on next slide

[doEverything continued] Next, use a while loop to count things in the backpack, and as long as the count is greater than zero, move and put a thing down.

// third part of doEverything continued on next slide

[doEverything continued] Finally, call the returnToStart() method to go back to where the robot start [end of doEverything]

The returnToStart() method will do the following:turn aroundCall moveToWall()Turn rightCall moveToWall()Turn right

Heads up! MID-TERMMID-TERM is LECTURE 9 Thursday, October 29th Please be prompt, and bring a pencil dont worry, Ill supply the paper

It will cover everything learned up through today, Lecture 7 It is scheduled for the entire session, so you will have enough more than enough time to work through each of the questions, however most students finish in about 90 minutes.

When you are finished, you can hand it in and you are done for the day, so feel free to go home or the nearest pub for a celebratory pint ;-)

It will be done entirely with pencil-and-paper (no .java files).

Mid-Term Study Guide is available now on the main page of BIT115 website (located in the right-hand column)

http://faculty.cascadia.edu/cduckett/bit115/index.html Mid-TermMid-Term is scheduled for LECTURE 9, Thursday, October 29th Mid-Term, continuedMid-Term is scheduled for LECTURE 9, Thursday, October 29th The Mid-Term Exam will focus on three learning outcomes: conceptualize the logical steps needed to accomplish a task, apply structured programming techniques to accomplish a task, test and debug a programExam Topics: Setting up a city with walls, things, robots Using the robots built-in services Extending a robot to include new services Tracing code and pinpointing where it goes wrong Explaining the compile/run process Selecting when to use different programming structures like loops, decisions, and services Writing syntax for loops, decisions, local variables, and parameters

Again, the exam will be similar to the quiz format (i.e., pencil-paper, from memory, individual work).And Now The Quiz

Chapter 6.6.1: Output (Printing Text Messages To The Screen)Info we get from the user is input

Either from the keyboard, mouse, or something else like a network connection or other type of cableWe will be looking at input in the next Lecture

Info we show to the user is output

This can be a message, additional information, even a request that the user perform some kinf of actionThese messages and information are typically hard-coded into the program itself, then pushed out to the screen, console, or monitor using specific print-to-the-screen mechanisms (services) that are a part of JavaThe Console WindowThe console window that starts a Java application is typically known as the standard output device.The standard input device is typically the keyboard.Java sends information to the standard output device by using a Java class stored in the standard Java library.In jGRASP, this output is displayed as part of Compile MessagesJava classes in the standard Java library are accessed using the Java Applications Programming Interface (API).The standard Java library is commonly referred to as the Java API.

Hello World!

println and printExample:System.out.println("Programming is great fun!");

This line uses the System class from the standard Java library.The System class contains methods and objects that perform system level tasks. The out object, a member of the System class, contains the methods print and println.

StringString is the programming term for all characters that are printed to the console or screen. In Java and other programming languages, string is represented by lines of text contained in between double quotation marks " "

System.out.print("This is string"); System.out.println(" and so this $#@*&!");

printlnThe print and println methods actually perform the task of sending characters to the output device.The line: System.out.println("Programming is great fun!"); is pronounced: System dot out dot printlineThe value inside the parenthesis will be sent to the output device (in this case, a string).The println method places a newline character at the end of whatever is being printed out.The following lines would be printed out on separate lines since the first statement sends a newline command to the screen:System.out.println("This is being printed out");System.out.println("on two separate lines.");

printThe print statement works very similarly to the println statement.However, the print statement does not put a newline character at the end of the output. Using print will continue going on the same line.

The lines:

System.out.print("These lines will be");System.out.print("printed on");System.out.println("the same line.");

Will output:

These lines will beprinted onthe same line.

Notice the odd spacing? Why do some words run together?RECAP: print vs. printlnprint

Using System.out.print(Some string.) Continues on the SAME LINE after its done printing

println

Using System.out.println(Some string.) Drops down to the NEXT LINE after its done printing

So: Think of the ln in println standing for line next or line new

Special Characters in StringFor all of the previous examples, we have been printing out strings of characters.Later, we will see that much more can be printed.There are some special characters that can be put into the output.

System.out.print("This line will have a newline at the end.\n");System.out.print("This doesnt show up on the same line.");

The \n in the string is an escape sequence that represents the newline character.

Escape sequences allow the programmer to print characters that otherwise would be unprintable.Java Escape Sequences ("Special Characters")\nnewlineAdvances the cursor to the next line for subsequent printing\ttabCauses the cursor to skip over to the next tab stop\bbackspaceCauses the cursor to back up, or move left, one position\rcarriage returnCauses the cursor to go to the beginning of the current line, not the next line\\backslashCauses a backslash to be printed\'single quoteCauses a single quotation mark to be printed\"double quoteCauses a double quotation mark to be printedEven though the escape sequences are comprised of two characters, they are treated by the compiler as a single character.

System.out.print("These are our top sellers:\n");System.out.print(==========================\n");System.out.print("\t- Computer games\n\t- Coffee\n ");System.out.println("\t- Aspirin");

Would result in the following output:

These are our top sellers: ==========================- Computer games- Coffee- Aspirin

With these escape sequences, complex text output can be achieved.Java Escape Sequences ("Special Characters")The + operator can be used in two ways.(1) as a concatenation operator(2) as an addition operator

If either side of the + operator is a string, the result will be a string.

System.out.println("Hello " + "World!"); Hello World!System.out.println("The value is: " + 5); The value is: 5System.out.println("The value is: " + value); The value is: System.out.println("The value is" + ": \n" + 5); The value is: 5

The + OperatorString ConcatenationJava commands that have string literals must be treated with care.A string literal value cannot span lines in a Java source code file.

System.out.println("This line is too long and now it has spanned more than one line, which will cause a syntax error to be generated by the compiler. ");The String concatenation operator can be used to fix this problem.

System.out.println("These lines are " + "now ok and will not " + "cause the error as before.");

String concatenation can join various data types.

System.out.println("We can join a string to " + "a number like this: " + 5);http://en.wikipedia.org/wiki/Concatenation String ConcatenationThe concatenation operator can be used to format complex String objects.

System.out.println("The following will be printed " + "in a tabbed format: " + "\n\tFirst = " + 5 * 6 + ", " + "\n\tSecond = " + (6 + 4) + "," + "\n\tThird = " + 16.7 + "."); Notice that if an addition operation is also needed, it must be put in parenthesis.

Printing as Part of Program Decision-Makingint newNum = 3;if( newNum >= 5 ){ System.out.println(newNum + is larger than 4);}else{ System.out.println(newNum + is smaller than 5.);}

Basic Output Demo.javaDemo:Two Points: 1) + for concatenation2) spaces in double-quotes Basic Output Demo.java32In-Class ExercisesLecture 7 > Output (Printing Text Messages To The Screen)

Basic Output Demo.java DEMO In-Class Exercises Directions Output Trace Table Basic Output Trace.java ( Example Note )