280 likes | 438 Views
BIT115: Introduction to Programming. Instructor: Craig Duckett. Lecture 5a. Lecture 5 Annoucements. Solutions Posted Assignment 2 Assignment 2 Hints Mid-Term Mid-Term Study Guide Posted Output System.out "string" Println and print Java Escape Sequences ("Special Characters")
E N D
BIT115: Introduction to Programming Instructor: Craig Duckett Lecture 5a
Lecture 5 Annoucements • Solutions Posted • Assignment 2 • Assignment 2 Hints • Mid-Term • Mid-Term Study Guide Posted • Output • System.out • "string" • Println and print • Java Escape Sequences ("Special Characters") • The + Operator • Addition • String Concatenation
ICE Solutions Now 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 for the previous Lecture on the day of the current Lecture.
Assignments 1, 2, 3 • Assignment 1Graded! Returned! Woot! • Assignment 2Due Lecture 7 by midnight • Wednesday, July23rd • Assignment 1 Revisiondue Lecture 8 by midnight • Monday, July 28th • Assignment 2 RevisionDue Lecture 10 by midnight • Monday, August 4th • Assignment 3 Due Lecture 11 by midnight • Wednesday, August 6th
Assignment 2 Part 3 - Hints If 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: publicclass A2_Part_3 extends Robot{publicA2_Part_3(City theCity, intavenue, intstreet, Direction aDirection, intitem) {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 moveswhile the front is clear
Create a doEverything() method which will do the following: • Initialize a counter to 0 • Use the counter in a while loop four times • Call movetoWall() • Pick up a Thing • Turn around • Call moveToWall() • Turn left • Move • Turn left • Increment 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
[doEverythingcontinued] Finally, call the returnToStart() method to go back to where the robot start [end of doEverything] • The returnToStart() method will do the following: • turn around • Call moveToWall() • Turn right • Call moveToWall() • Turn right
MID-TERM Mid-Term is Lecture 8 (Monday, July 28) • It will cover everything learned through today’s lecture • Please be prompt, and bring a pencil … don’t worry, I’ll supply the paper
Mid-Term Mid-Term is scheduled for LECTURE 8, Monday, July 28th • It will cover everythinglearned up through today, Lecture 5 • 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 Guideis availableon Friday, July 18, on the • main page of BIT115 website (located in the right-hand column) • http://faculty.cascadia.edu/cduckett/bit115/index.html
Mid-Term, continued… Mid-Term is scheduled for LECTURE 9 • The Mid-Term Exam will focus on three learning outcomes: • • conceptualizethe logical steps needed to accomplish a task, • • applystructured programming techniques to accomplish a task, • • testanddebug a program • Exam 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).
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 cable • We 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 action • These 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 Java
The Console Window • The 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 Messages • Java 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.
The Console Window • Example: 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.
The Console Window • The 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 dotprintline • The 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.");
The Console Window • The printstatement works very similarly to the printlnstatement. • However, the printstatement does not put a newline character at the end of the output. • 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 beprintedonthesame line. Notice the odd spacing? Why do some words run together?
The Console Window • For 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 doesn’t show up on the same line."); • The \nin 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") • Even 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 - Asprin • With these escape sequences, complex text output can be achieved.
The + Operator • The + operator can be used in two ways. • (1) as a concatenationoperator • (2) as an additionoperator • 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: 5 System.out.println("The value is: " + value); The value is: <whatever value is> System.out.println("The value is" + ": \n" + 5); The value is: 5
String Concatenation • Java 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);
String Concatenation • The 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-Making intnewNum= 3;if( newNum>= 5 ) { System.out.println(newNum+ “ is larger than 4”); }else { System.out.println(newNum+ “ is smaller than 5.”); } Two Points: 1) ‘+’ for concatenation 2) spaces in “ ”double-quotes Demo: Basic Output Demo.java