Java Basics

Post on 26-May-2017

212 views 0 download

Transcript of Java Basics

Java Names and Variables

GEEN163 Introduction to

Computer Programming

“What's in a name? That which we

call a rose by any other name

would smell as sweet.”

William Shakespeare

Clickers

Clickers will be required on

Friday, January 17

Textbook

“Java Illuminated”, 3rd edition,

Brief edition by Anderson and

Franceschi,

ISBN 9781284021301,

9781449632021 or 9781449604400 The full edition is compatible

ISBN 9781449632014

Available at the Bookstore

It is also available from online bookstores. See the

class website.

MyCodeLab

• Do 25 out of the 68 possible questions in sections 2.1 and 2.2 of MyCodeLab on the www.turingscraft.com website

• You will earn 4 points for each correct answer up to a maximum of 100 points

• You can retry incorrect answers

• Due by midnight on Wednesday, January 22

Java Source Code

• What you type is called the source code of your program

• The source code is not directly run by the computer

• The source code must be compiled into an executable form before the computer can execute it

Traditional Java Programs

Source Code

Compiler

Bytecodes

Java Virtual Machine

Bytecode Libraries

Modern Virtual Machines

Source Code

Compiler

Virtual Machine

Bytecodes Bytecode Libraries

JIT

machine language

Writing and Running a Program

Writing a program Running a program

Done first Run after it is written

Written by you Run by anyone

Left alone once complete

May be run many times

Data values are unknown

May use any data values

Programming Assignments

• Programming assignments will define a program you are to create

• The assignment will explicitly define what the program is supposed to do

• Sample data and the expected results for that data is often provided

• Your program should work with any data, not just the sample data

Example Assignment

• Write a program to input two numbers and display the average of the numbers

• Sample input

2 6

• Sample output

Average is 4.0

Errors

• When programming you will make mistakes.

• There are three types of programming errors

– Compile errors – When you compile your program, the compiler might detect an error (i.e. missing semicolon)

– Run time errors – An error can occur when you program is running (i.e. division by zero)

– Logic errors – Your program might not produce the correct results

Keep Your Cool

• You will have errors

• You will correct them

• Seek help if you don’t understand the error

Software Development Process

• Requirements – high level description of what the system is supposed to do

• Specifications – detailed description

• Design – how will the system do this

• Coding – writing the program

• Integration – putting the pieces together

• Testing – make sure it works correctly

• Maintenance – updates and corrections

Class Programs

• Requirements – faculty will define briefly

• Specifications – faculty will define

• Design – student responsibility

• Coding – student responsibility

• Testing – informal student responsibility

Structure of a Java Program

import package.class;

public class ProgramName {

public static void main(String[] rabbit) {

// your simple program here

}

}

import

• If you use existing objects in your program, you need to tell Java where to find them

• import tells Java to look in this package for classes you are using

• The import statement allows you to use the short name of a class

• import is not required. You can always use the full name of an object.

import example

import javax.swing.JOptionPane;

… other parts of the program ...

JOptionPane.showMessageDialog(…);

or without import

javax.swing.JOptionPane.showMessageDialog(…);

Class statement

• Java is an Object-Oriented language

• Objects are defined by classes

• All Java programs are an object

• Much more on objects to come later

main method

• Methods are functions or programs that can be executed

• The method with the name “main” is always executed first

• main has an array of String parameters that can be used to pass command line arguments

Names • Names or identifiers in Java (such as program

names, class names, variable names, etc.) can be as long as you like

• Names can contain letters, numbers underscores (_), and dollar signs ($)

• Spaces are not allowed in a name

• Names cannot start with a number

• Java is case sensitive, upper and lower case letters are different

Java Reserved Words 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 transient catch extends int short try char final interface static void class finally long strictfp volatile const float native super while

• Reserved words cannot be used for

program names

Meaningful Names

• Names should make sense to humans

• Variable names such as: i X v027 v028

• are not very meaningful

• The variable name should describe the data balance numWidgets xCoordinate

Why Animals?

Java Conventions

While the Java language allows you to use upper and lower case letters as you please, tradition dictates you follow some rules:

• Variables and method names start with a lower case letter

• Class names start with an Upper Case letter

• Constants are all UPPER CASE

• When you combine two English words, upper case the first letter of the second word (i.e. firstPlace, mySchool, whoCares)

Which of these are valid names?

a) dog e) DOG i) a_1

b) m/h f) 25or6to4 j) studentNumber

c) main g) 1stTime k) Main

d) double h) first name l) ______

Which of these are valid names?

a) dog e) DOG i) a_1

b) m/h f) 25or6to4 j) studentNumber

c) main g) 1stTime k) Main

d) double h) first name l) ______

Variables

• Variables hold data. They represent a memory location.

• Variables have a:

– Name: so you can identify them in Java

– Type: the format of the data

– Value: assigned at run time and often changes

• You must set a variable's value before you can use it

Memory Locations

owner sum price

“Fred” 47 665.95

• When you create a variable in Java,

it reserves memory to hold the data

Simple Data Types

• int – integer whole numbers

• double – numbers with decimal points

• char – single characters

• boolean – true or false

Different sized data

• float – a decimal with 7 digit accuracy

• double – a decimal with 16 digit accuracy

• byte – a 1 byte int for numbers < 128

• short – a 2 byte int for number < 16384

• int – a 4 byte int for numbers < 2 billion

• long – a 8 byte int for numbers < 9 x1018

A Not-So-Simple Data Type

• String – A string of characters

• A String can contain any character on the keyboard (and more)

• String is a Java class. (Note the first letter is

capitalized.) We will talk more about classes and complex data types later.

Java is Strongly Typed

• In Java you must specify the type of the data to be stored in a variable

• In some other programming languages, you can put any kind of data in any variable

• Java carefully restricts the type of data that can be stored in a variable

• Strong typing helps prevent subtle errors

Constants

• int 1 2 3 -6 123456

• double -1.234 0.000123 1.23e-4

• String "inside double quotes"

• boolean true false

• character 'x' // a single character in single quotes

Declaring Variables

• All variables must be declared before they are used in the program

• A variable is declared by writing the data type followed by the variable name

• More than one variable may be declared on the same line as the same type by separating the variable names by commas

Example Declarations

double interestRate;

int numPenguins;

String myName;

boolean doit;

int first, second;

Assigning Values

• You can set a variable to a value during execution by putting the name of variable, an equals sign followed by a value and semicolon

numPenguins = 6;

first = 3;

interestRate = 4.75;

• The type of the variable and the value must match.

Compile Time vs Run Time

• You can set a variable to a value, such as

dog = 47 + 5; // set to an equation

or

dog = keyboard.nextInt(); // read from keyboard

• When you write a program, you do not know what values the user of the program will enter

Not All Are Equal

• The equals sign is used to set a variable to a value. It does not mean equal in the mathematical sense.

int cat, dog;

cat = 3;

dog = 5;

cat = dog; // cat has the value 5

• An old computer language used the arrow character to indicate assignment.

cat ← 3; dog ← 5; cat ← dog ; // not Java

Sequential Execution

• Java programs are executed sequentially one line at a time

int cat, dog;

dog = 5;

cat = dog; // cat has the value 5

dog = 7;

• cat still has the value 5 while dog now has the value 7

Moving Data

cat dog

? ?

• When you first create a variable, it

has an undefined value

Moving Data

cat dog

? 5

dog = 5;

5

Moving Data

cat dog

5 5

cat = dog;

Moving Data

cat dog

5 7

dog = 7;

7

Variable Initialization

• When you declare a variable, you can give it an initial value.

• If you don’t give a variable an initial value, it will have some unknown random value.

• In the declaration after the variable name, put an equals sign followed by the value.

• The type of the variable and the value must match.

Example Initializations

double interestRate = 0.075;

int numPenguins = 7;

String myName = "Ken";

boolean doit = false;

int first = 1, second = 2;

int bad = "This is wrong";

Which are valid statements?

double cow = 47.5;

int goat = 14.2;

String right = "wrong";

double bull = 2.94e14;

boolean bird = "owl";

char pony = 'x';

String horse = 'x';

Which are valid statements?

double cow = 47.5;

int goat = 14.2; no decimal point

String right = "wrong";

double bull = 2.94e14;

boolean bird = "owl"; only true or false

char pony = 'x';

String horse = 'x'; use double quotes

Clickers

Clickers will be required on

Friday, January 17

Textbook

“Java Illuminated”, 3rd edition,

Brief edition by Anderson and

Franceschi,

ISBN 9781284021301,

9781449632021 or 9781449604400 The full edition is compatible

ISBN 9781449632014

Available at the Bookstore

It is also available from online bookstores. See the

class website.

MyCodeLab

• Do 25 out of the 68 possible questions in sections 2.1 and 2.2 of MyCodeLab on the www.turingscraft.com website

• You will earn 4 points for each correct answer up to a maximum of 100 points

• You can retry incorrect answers

• Due by midnight on Wednesday, January 22