Java Basics

51

Click here to load reader

Transcript of Java Basics

Page 1: Java Basics

Java Names and Variables

GEEN163 Introduction to

Computer Programming

Page 2: Java Basics

“What's in a name? That which we

call a rose by any other name

would smell as sweet.”

William Shakespeare

Page 3: Java Basics

Clickers

Clickers will be required on

Friday, January 17

Page 4: Java Basics

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.

Page 5: Java Basics

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

Page 6: Java Basics

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

Page 7: Java Basics

Traditional Java Programs

Source Code

Compiler

Bytecodes

Java Virtual Machine

Bytecode Libraries

Page 8: Java Basics

Modern Virtual Machines

Source Code

Compiler

Virtual Machine

Bytecodes Bytecode Libraries

JIT

machine language

Page 9: Java Basics

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

Page 10: Java Basics

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

Page 11: Java Basics

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

Page 12: Java Basics

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

Page 13: Java Basics

Keep Your Cool

• You will have errors

• You will correct them

• Seek help if you don’t understand the error

Page 14: Java Basics

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

Page 15: Java Basics

Class Programs

• Requirements – faculty will define briefly

• Specifications – faculty will define

• Design – student responsibility

• Coding – student responsibility

• Testing – informal student responsibility

Page 16: Java Basics

Structure of a Java Program

import package.class;

public class ProgramName {

public static void main(String[] rabbit) {

// your simple program here

}

}

Page 17: Java Basics

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.

Page 18: Java Basics

import example

import javax.swing.JOptionPane;

… other parts of the program ...

JOptionPane.showMessageDialog(…);

or without import

javax.swing.JOptionPane.showMessageDialog(…);

Page 19: Java Basics

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

Page 20: Java Basics

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

Page 21: Java Basics

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

Page 22: Java Basics

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

Page 23: Java Basics

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

Page 24: Java Basics

Why Animals?

Page 25: Java Basics

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)

Page 26: Java Basics

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) ______

Page 27: Java Basics

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) ______

Page 28: Java Basics

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

Page 29: Java Basics

Memory Locations

owner sum price

“Fred” 47 665.95

• When you create a variable in Java,

it reserves memory to hold the data

Page 30: Java Basics

Simple Data Types

• int – integer whole numbers

• double – numbers with decimal points

• char – single characters

• boolean – true or false

Page 31: Java Basics

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

Page 32: Java Basics

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.

Page 33: Java Basics

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

Page 34: Java Basics

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

Page 35: Java Basics

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

Page 36: Java Basics

Example Declarations

double interestRate;

int numPenguins;

String myName;

boolean doit;

int first, second;

Page 37: Java Basics

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.

Page 38: Java Basics

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

Page 39: Java Basics

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

Page 40: Java Basics

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

Page 41: Java Basics

Moving Data

cat dog

? ?

• When you first create a variable, it

has an undefined value

Page 42: Java Basics

Moving Data

cat dog

? 5

dog = 5;

5

Page 43: Java Basics

Moving Data

cat dog

5 5

cat = dog;

Page 44: Java Basics

Moving Data

cat dog

5 7

dog = 7;

7

Page 45: Java Basics

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.

Page 46: Java Basics

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";

Page 47: Java Basics

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';

Page 48: Java Basics

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

Page 49: Java Basics

Clickers

Clickers will be required on

Friday, January 17

Page 50: Java Basics

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.

Page 51: Java Basics

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