a review of the basics. java is an object oriented programming language developed by sun...

55
A Review of the Basics Sophomore Scholars Java

Upload: bruce-walsh

Post on 26-Dec-2015

233 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

A Review of the Basics

Sophomore Scholars Java

Page 2: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Java is an object oriented programming language developed by Sun Microsystems.

An object programming language allows for massive versatility in code – objects can inherit characteristics of other objects and even redefine them.

Java is a cross-platform development programming language – Java programs can compile and run on Windows machines, Macs (ugh), and even Linux boxes.

What is Java?

Page 3: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

class Sample {

public static void main(String[] args) {System.out.println(“Hello world!”);

}

}

A Sample Program

Page 4: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

class Sample {

public static void main(String[] args) {System.out.println(“Hello world!”);

}

}Every object in Java is a class, even this simple

program.Classes must be named in the same fashion as the file

it is saved in (the above would be in a file named Sample.java).

Classes and Nomenclature

Page 5: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Classes can be named with any combination of letters, numbers, and special symbols ($ and _).

However, they must begin with a letter, an underscore, or a valid Unicode currency character (like the Euro symbol).

The first letter of a class name must be capitalized, and any subsequent word in the class name should be capitalized.

E.g. ThisIsAClassNameWithMoreThanOneWordJAVA IS CASE SENSITIVE!!!!! A class that is named

SnookieIsGross and SnookieIsGROSS are TWO TOTALLY DIFFERENT CLASSES!!!

YOU CANNOT USE A SPACE IN A CLASS NAME!

Classes and Nomenclature

Page 6: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

class Sample {

public static void main(String[] args) {System.out.println(“Hello world!”);

}

}Curly brackets are used in Java to surround code. Every

class definition must be surrounded by curly brackets, as well as method code (see later), and blocks of code (after if statements, in loops, etc.)

Most errors occur because people forget to close their brackets!!

Brackets

Page 7: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

class Sample {

public static void main(String[] args) {System.out.println(“Hello world!”);

}

}The main method (more on methods later in the year) is

the code that runs when a class is executed. A class does NOT need to have a main method; if it does not have a main method, you can compile it but NOT run it (you will receive a noSuchMethodError: main exception).

It must be defined exactly as it is above.

Methods?!

Page 8: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

class Sample {

public static void main(String[] args) {System.out.println(“Hello world!”);

}

} public = This method is accessible by everyone. It is possible to make a

method private – then it can only be seen by this class alone. static = takes all variables as parameters – cannot see non static

variables in the rest of the class void = does not return a value (This is weird in Java) main = the name of the method String[] = a data type (an array of Strings) args = the name of the array that holds the Strings (THIS IS NOT A

KEYWORD)

More Methods - Keywords

Page 9: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

class Sample {

public static void main(String[] args) {System.out.println(“Hello world!”);

}

}System.out.println(“…”) is a call to a method that prints

something out to the screen, where that something is … surrounded by quotation marks, if it is a String.

You can also print out the value of a variable without using quotes.

The dots are there because the println method is a method in the out class which is defined in the System class.

The Code

Page 10: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

class Sample {

public static void main(String[] args) {System.out.println(“Hello world!”);

}

}The end of every line in Java that executes some kind

of command MUST end with a semi-colon.This is the second most common error in this course.

Please be very wary of your semi-colons! It’s like adding punctuation at the end of a sentence.

SEMICOLONS

Page 11: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

In Java, one can output to the command prompt (usually), to a file, or even to special GUI designs.

System.out deals with standard output, which is the command prompt.

System.out.print(“…”) will print … to the command prompt and WILL NOT GO ON TO THE NEXT LINE! The cursor will remain on the same line awaiting to print to the screen.

System.out.println(“…”) will print … to the screen and move on to the next line. (Hence, the ln at the end of the method).

Output

Page 12: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

public class PrintLineExample {public static void main(String[] args) {

System.out.print(“Here is one line.”);System.out.print(“And this will print on the

same line.”);}

}

The output will be:

Here is one line. And this will print on the same line.

More Output – Print() Example

Page 13: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

public class PrintLineExample {public static void main(String[] args) {

System.out.println(“Here is one line.”);System.out.println(“And this will print on the next line.”);

}}

The output will be:

Here is one line.And this will print on the next line.

Output – Println() Example

Page 14: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

System.out.println(“The sum is ” + sum);There’s a + sign there, but it does NOT mean addition!The data type that goes into System.out.print/ln

statements is String.The + there means string concatenation.You can “add” Strings together to get one bigger String.So, if I were to “add” the Strings “Mister” and “Weir” I

would get one String whose value is “Mister Weir”So, in a print/ln statement, you must surround your

Strings (the parts you want literally printed to the screen) in “ “, and variables must be ADDED to the string for their values to be printed.

Variables and Print

Page 15: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Let’s assume we have two variables, num1 and num2, whose values are 10 and 5, respectively.

System.out.println(“The values are “ + num1 + “and” + num2);Will print “The values are 10 and 5”

System.out.println(“The values are num1 and num2”);Will print “The values are num1 and num2”

Examples

Page 16: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

This depends on the context of the code.If you are writing a prompt to a user (asking

for an action and awaiting input), it might be cleaner to use print() instead of println().

However, there is no wrong answer – it’s all a matter of preference.

Which One Should I Use?!

Page 17: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Comments are like notations that a programmer makes in code, either to himself/herself or to another person looking at the code.

Comments have absolutely no effect on the compilation of the program.

There are two ways to put comments into your programs.

Comments

Page 18: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Single line comments are comments for…a single line.

They must be preceded by two forward slashes.

//This is a single line comment

Single Line Comments

Page 19: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Multiple line comments are used when you want you comments to span more than one line.

This is usually used in preconditions/postconditions of a method, where much more detailed explanation is required.

In this case, the comment must begin with /* and end with a */ (a comment sandwich).

/*This is a multiline comment because it can go on and on and on and on but it will eventually end. */

Multiple Line Comments

Page 20: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

You can do pretty much any math you want in Java (that is consistent with real world mathematics).

There is even a Math class in Java with special functions (such as sqrt() - square root, abs() – absolute value, etc.)

The math you will be doing in this course will be basic math - addition, subtraction, multiplication and division.

However, things are not as easy as they appear.

Math

Page 21: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Java is a typed (though not strongly) language.

This means that variables must be the same type in order for them to interact in any way.

Huh!?Well, a variable is must like it is in math –

something which represents a specific value in a formula.

Variables must be DECLARED before they can be ASSIGNED a value.

Naming variables must also follow some rules.

Variables (Identifiers) and Types

Page 22: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Variables must be named using similar rules as those for classes.

Valid variable (or identifier) names can consist of any combination of letters, capital and lowercase, numbers, and special characters ($, _, Unicode currency symbols).

They must also begin with a letter, underscore, or currency character, like classes.

However, unlike classes, the convention is to have the first letter be lowercase, and all subsequent words begin with a capital letter.

Variables – Naming Conventions

Page 23: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Identifiers also cannot have the same name as reserved words in Java.

Reserved words are those which mean something special to the compiler (TextPad makes them blue when you type them).

You have already seen some reserved words, such as String, public, static, etc.

Your program will not compile if you do his.

Reserved Words

Page 24: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

abstract continue for new switch assert***

default goto* package synchronized boolean do if

private this break double implements protected throw byte else import public throws case

enum****

instanceof return transientcatch extends int short try char final interface static

void Classfinally long strictfp** volatileconst* float native super while

List of Reserved Words

Page 25: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Valid identifier names:foobarmyScannermyCookiethis_is_a_good_name

Invalid identifier names!woo2ForMepublicThis is a bad name

Variable Names - Examples

Page 26: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Here is a declaration for an identifier int num2;

All declarations must first begin with a data type, and then a valid identifier name, followed by semicolon.

You can also ASSIGN a value while declaring a variable. int num2 = 10;

You MUST declare a variable before you can use it in your program! This is how you are telling the compiler of this identifier’s existence! When you declare a variable, the compiler will set aside memory for later use.

But…let’s talk more about the specific data types…

Declaring and Assigning Values

Page 27: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Every variable must have a type associated with it.You will be working with mostly primitive data types, but

a data type can even be a class (since all classes are of type Object)!

The following is a list of primitive data types.charbyteshort int longfloatdoubleboolean void (useless)

Data Types

Page 28: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Char stands for character. It is one single symbol.

Any symbol from the keyboard is a valid character.

When you assign a char a value, you must surround the symble apostrophes (single quotes).char c = ‘a’;

You will be working with characters in this course, although the Scanner input we will be using cannot deal with characters.

Char

Page 29: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Byte is a number which ranges from -128 to 127.

We will rarely use this.This is used primarily to save memory in

programs (due to its restrictive range).byte b = 100;

Byte

Page 30: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Shorts are numbers that range from -32, 768 to 32,767.

Also used to save memory space.short shortNumber = 4565;

The following will NOT work:short outOfRange = 60,000;

This number is TOO LARGE for a short, and will produce an error.

Short

Page 31: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

int stands for integer. These are signed numbers in the range of -2,147,483,648 through 2,147,483,647.

These are the most common ones you will be using in class.int num1 = 0;int num2 = 100;

Int

Page 32: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

long is for a…long number. The range of numbers is -9,223,372,036,854,775,808 though

9,223,372,036,854,775,807.Use these if you need to use a number that is

greater than the range of int.You will never be using these.

Long

Page 33: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

All of the previous data types do not have decimal values. If you try to assign a value with a decimal to any of those, you will get a compilation error.int num1 = 10.2 //THIS IS BAD

float is a data type which can have a decimal value.

However, the values have a short range (much like short compared to int).

You won’t be using this.float myFloat = 10.2;

Float

Page 34: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

doubles also deal with decimal numbers.They have a wider range than floats.You will be using these.

double grade1 = 98.2;

Double

Page 35: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

boolean variables have only two values: true or false.

These are used in conditional statements (will be discussed later).

You will be using these all of the time in future programs.

The following are example of setting the values:boolean doesPatHaveDetention = true;boolean willTheMetsWin = false;

Boolean

Page 36: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Please notice that all of the primitive data types have only lowercase letters. You cannot declare a primitive data type using a capital letter as the first letter.

For example:Integer int1 = 0;

There IS an Integer class in Java, with methods for converting between int and other primitive data types.

So when you type Integer int1 = 0, the compiler will be expecting something of type Integer to the right of the =, not a number.

SO – please use only lowercase letters!

Primitive Data Type Declarations

Page 37: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

So now that you know all of the data types, let’s talk about math.

We’ll do addition, subtraction, multiplication and division (which is special).

Back to Math

Page 38: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Addition is done using the + operator.Here’s an example:

int num1 = 5;int num2 = 9;int sum;sum = num1 + num2;System.out.println(“The sum is ” + sum);

This snippet of code will print out 14 to the screen.

Addition

Page 39: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Subtraction is done using the – operator.int num1 = 100;int num2 = 45;int difference;difference = num1 - num2;System.out.println(“The difference is ” +

difference);Will print: “The difference is 55”

Subtraction

Page 40: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Multiplication is done using the * operator.int num1 = 5;int num2 = 9;int product;product = num1 * num2;System.out.println(“The product is ” + product);

Will print “The product is 45”

Multiplication

Page 41: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Here is where things get complicated.There are many types of division in Java (and

generally all of computer science) – integer division , “regular” division and modular division.

Based on your data types, and situation, you will want to use different ones.

I will highlight all three.

Division

Page 42: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Regular division ONLY works with floats or doubles.

“Regular” division is division which gives you a whole number answer (with decimal values).

double num1 = 101;double num2 = 25.25;double quotient;quotient = num1 / num2;System.out.println(“The quotient is “ + quotient);

Will print “The quotient is 4.0”

Regular Division

Page 43: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

This only works with ints.Since ints do not have any decimal values,

this type of division will just return the result of the division WITHOUT a decimal value.

It does not even round. It ignores the decimal value totally.

This does have its uses, which we will discuss later.

Integer Division

Page 44: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

int num1 = 100;int num2 = 6;int quotient;quotient = num1 / num2;System.out.println(“The quotient is ” +

quotient);Will print “The quotient is 16”The actual answer is 16.6667, but integer

division ignores the decimal values!

Integer Division Example

Page 45: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

What if you wanted to use the remainder of a number for some purpose?

You would use modular division.Modular division returns the remainder of an

integer division.You achieve this by using the % operator.

Modular Division

Page 46: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

int num1 = 100;int num2 = 6;int remainder;remainder = num1 % num2;System.out.println(“The remainder is ” +

remainder);Will print “The remainder is 4”

Modular Division Example

Page 47: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Order of operations works the same in Java as it does in real math.

PEMDAS!You can use parenthesis in java math

operations.So…KNOW YOUR ORDER OF OPERATIONS!

Order of Operations

Page 48: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Conditional statements are “checks,” which are very much like boolean variables.

You should have done some simple conditional logic in your geometry class.

In real world terms, the key words for logic are AND, OR, NOT, IF, IF AND ONLY IF

The blue ones are what you will be using in Java.

Conditional Statements

Page 49: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

AND = &&OR = ||NOT = !IF = if

Symbols for Logic Keywords

Page 50: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Assume we have three boolean variables, defined as follows:statementOne = truestatementTwo = falsestatementThree = true

statementOne && statementTwo = falseAND statements are true only if each condition is true

statementTwo || statementThree = trueOR statements are true if any of the conditions are true

You can also have compound statements! Separate each check with parentheses! (statementOne && !(statementTwo)) &&

statementThree = true!

Some Logic Examples

Page 51: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

If statements are the most prevalent conditional checks in all of computer science. Mostly any program will have if statements somewhere in the code.

They have the following syntax:if (any number of conditional checks) {

…some code

}The code inside of if statements is not guaranteed

to run!The most common mistakes in these types of

checks is forgetting parenthesis!

If Statements

Page 52: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

int num1 = 10;int num2 = 15;if ( (num1 > 5) && (num2 < 100) ) {

System.out.println(“This will print!”);}

In the above code, the condition is met, so the text is printed.

What if you wanted something else to happen if the condition is not met?

If Statement Examples

Page 53: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

You would use an else statement after the if.It has the following syntax:

if (condition) {…some code

}else {

…some more code}

In this case, ONE block of code is guaranteed to run, based on the condition.

If…Else

Page 54: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

boolean condition1 = (11>10); //can do condition here!if (condition1) {

System.out.println("It worked!");}else {

System.out.println("Something is wrong!");}The above will print “It worked!” to the screen.Note that you can set a boolean value to a check, and

the true/false value will be saved into the variable.If you change the condition above to 10>11, the second

println statement will be printed!

If…Else Example

Page 55: A Review of the Basics. Java is an object oriented programming language developed by Sun Microsystems. An object programming language allows for massive

Other than the standard logic symbols, there are other symbols that can be used for comparisons.

They are: > < >= <= ==

The strange one is the == symbol. Please remember that a SINGLE = means “assign the following value to the preceding identifier” in Java. If you try this: if (num1 = 10) {

Java will try to assign a 10 to num1, but it also knows that it CANNOT do that! You will receive a compile error!

For this reason, you MUST use a double equal sign to do an equal check!

Valid Comparison Symbols