CMPE 150
Introduction to Computing
Fall 2012
Building Java Programs Chapter 1
Lecture 1-1: Introduction; Basic Java Programs
reading: 1.1 - 1.3
Copyright 2010 by Pearson Education
Course Information
Copyright 2010 by Pearson Education
1
Course Staff
Instructor: Arzucan Özgür
E-mail: arzucan.ozgur@boun.edu.tr
Office: ETA 18
Phone: 0212-359-7226
Office hours: M5 or by appointment
Teaching Assistant: Hande Alemdar
E-mail: ozgurh@boun.edu.tr
Office: ETA 46
Phone: 0212-359-7125
Teaching Assistant: Hakan Selvi
E-mail: hakan.selvi@boun.edu.tr
Office: ETA
Phone: 0212-359-
3
Copyright 2010 by Pearson Education
Course Material:
Textbook: Building Java Programs: A Back to Basics
Approach, Stuart Reges and Marty Stepp, Addison Wesley,
2011. (Available in the bookstore)
Textbook Web site: http://www.buildingjavaprograms.com/
Course Web Site: We will use the Moodle Course
Management System for lecture notes, announcements,
grades, and project submissions.
• http://moodle.cmpe.boun.edu.tr/
You should subscribe to the system using your “boun” e-
mail address and the key provided in the first lecture.
4
Copyright 2010 by Pearson Education
2
Grading
2 Midterms: 25%
Final: 25%
6 or 7 Assignments: 30%
Lab: 15%
Class participation: 5%
Assignments will be done individually and should be
submitted by the deadline. No late submissions will be
accepted unless a very important excuse.
Lab sessions are an integral part of this course. You MUST
attend the lab sessions.
5
Copyright 2010 by Pearson Education
Academic Integrity
Please read the university policy on cheating and what
counts as cheating. Do not copy your answers from other
sources (including friends, or books). If you think the
answer to a question exists in a book, then read the section
carefully and write down the answer in your own words.
The same policy holds for the projects and the exams.
Copying text from a source (including a Web page or a
friend's program) will count as cheating even if you list the
source in your references. NO EXCEPTIONS.
6
Copyright 2010 by Pearson Education
3
Topics
Basic procedural programming using Java
Introduction, Println, Methods
Expressions, Variables
For Loop
Constants , Parameters
Return, Scanner
Conditional Execution (if else)
Strings
Program logic and indefinite loops (While loop)
Arrays
File Processing
Recursion
7
Copyright 2010 by Pearson Education
Programming
program: A set of instructions
to be carried out by a computer.
program execution: The act of
carrying out the instructions
contained in a program.
programming language: A systematic set of rules used
to describe computations in a format that is editable by
humans.
8
Copyright 2010 by Pearson Education
4
Java
A modern programming language
Sun Microsystems in 1995
Rich libraries
Cross-platform (Mac, Windows, Linux)
Object-oriented
Taught in 150 and 160
Shows basic concepts while leaving out some tedious details
Good free, cross-platform tools
Industry-grade language
Widely used
9
Copyright 2010 by Pearson Education
Compiling/running a program
1.Write it.
code or source code: The set of instructions in a program.
2.Compile it.
• compile: Translate a program from one language to another.
byte code: The Java compiler converts your code into a
format named byte code that runs on many computer types.
3.Run (execute) it.
output: The messages printed to the user by a program.
source code byte code output
compile run
10
Copyright 2010 by Pearson Education
5
A Java program
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
System.out.println();
System.out.println("This program produces");
System.out.println("four lines of output");
}
}
Its output:
Hello, world!
This program produces
four lines of output
console: Text box into which
the program's output is printed.
11
Copyright 2010 by Pearson Education
Structure of a Java program
class: a program
public class name {
public static void main(String[] args) {
statement;
statement; method: a named group
... of statements
statement;
}
} statement: a command to be executed
Every executable Java program consists of a class,
that contains a method named main,
that contains the statements (commands) to be executed.
12
Copyright 2010 by Pearson Education
6
Names and identifiers
You must give your program a name.
public class Song {
Naming convention: capitalize each word (e.g. MyClassName)
Your program's file must match exactly (Song.java)
includes capitalization (Java is "case-sensitive")
identifier: A name given to an item in your program.
must start with a letter or _ or $
subsequent characters can be any of those or a number
legal: _myName TheCure ANSWER_IS_42 $bling$
illegal: me+u 49ers side-swipe Ph.D's
13
Copyright 2010 by Pearson Education
Keywords
keyword: An identifier that you cannot use because it
already has a reserved meaning in Java.
abstract default if private this
boolean do implements protected throw
break double import public throws
byte else instanceof return transient
case extends int short try
catch final interface static void
char finally long strictfp volatile
class float native super while
const for new switch
continue goto package synchronized
14
Copyright 2010 by Pearson Education
7
Syntax
syntax: The set of legal structures and commands that can
be used in a particular language.
Every basic Java statement ends with a semicolon ;
The contents of a class or method occur between { and }
syntax error (compiler error): A problem in the
structure of a program that causes the compiler to fail.
Missing semicolon
Too many or too few { } braces
Illegal identifier for class name
Class and file names do not match
...
15
Copyright 2010 by Pearson Education
Syntax error example
1 public class Hello {
2 pooblic static void main(String[] args) {
3 System.owt.println("Hello, world!")_
4 }
5 }
Compiler output:
Hello.java:2: <identifier> expected
pooblic static void main(String[] args) {
^
Hello.java:3: ';' expected
}
^
2 errors
The compiler shows the line number where it found the error.
The error messages can be tough to understand!
16
Copyright 2010 by Pearson Education
8
System.out.println
A statement that prints a line of output on the console.
pronounced "print-linn” (NOT ‘print-L-N’)
sometimes called a "println statement" for short
Two ways to use System.out.println :
• System.out.println("text");
Prints the given message as output.
• System.out.println();
Prints a blank line of output.
17
Copyright 2010 by Pearson Education
Strings and escape
sequences (section)
18
Copyright 2010 by Pearson Education
9
Strings
string: A sequence of characters to be printed.
Starts and ends with a " quote " character.
The quotes do not appear in the output.
Examples:
"hello"
"This is a string. It's very long!"
Restrictions:
May not span multiple lines.
"This is not
a legal String."
May not contain a " character.
"This is not a "legal" String either."
19
Copyright 2010 by Pearson Education
Escape sequences
escape sequence: A special sequence of characters used
to represent certain special characters in a string.
\t tab character
\n new line character
\" quotation mark character
\\ backslash character
Example:
System.out.println("\\hello\nhow\tare \"you\"?\\\\");
Output:
\hello
how are "you"?\\
20
Copyright 2010 by Pearson Education
10
Questions
What is the output of the following println statements?
System.out.println("\ta\tb\tc");
System.out.println("\\\\");
System.out.println("'");
System.out.println("\"\"\"");
System.out.println("C:\nin\the downward spiral");
Write a println statement to produce this output:
/ \ // \\ /// \\\
21
Copyright 2010 by Pearson Education
Answers
Output of each println statement:
a b c
\\
'
"""
C:
in he downward spiral
println statement to produce the line of output:
System.out.println("/ \\ // \\\\ /// \\\\\\");
22
Copyright 2010 by Pearson Education
11
Questions
What println statements will generate this output?
This quote is from
Irish poet Oscar Wilde:
"Music makes one feel so romantic
- at least it always gets on one's nerves –
which is the same thing nowadays."
What println statements will generate this output?
A "quoted" String is
'much' better if you learn
the rules of "escape sequences."
Also, "" represents an empty String.
Don't forget: use \" instead of " !
'' is not the same as "
23
Copyright 2010 by Pearson Education
Answers
println statements to generate the output:
System.out.println("This quote is from");
System.out.println("Irish poet Oscar Wilde:”);
System.out.println();
System.out.println("\"Music makes one feel so romantic");
System.out.println("- at least it always gets on one's nerves -");
System.out.println("which is the same thing nowadays.\"");
println statements to generate the output:
System.out.println("A \"quoted\" String is");
System.out.println("'much' better if you learn");
System.out.println("the rules of \"escape sequences.\"");
System.out.println();
System.out.println("Also, \"\" represents an empty String.");
System.out.println("Don't forget: use \\\" instead of \" !");
System.out.println("'' is not the same as \"");
24
Copyright 2010 by Pearson Education
12