+ All Categories
Home > Technology > M C6java2

M C6java2

Date post: 11-Jul-2015
Category:
Upload: mbruggen
View: 362 times
Download: 0 times
Share this document with a friend
28
1 Java voor BioInformatica 1
Transcript
Page 1: M C6java2

1

Java voor BioInformatica 1

Page 2: M C6java2

2

Overview

Agenda– The eight primitive types,

especially int and double– Declaring the types of variables– Operations on primitives– The assignment statement– How to print results

Page 3: M C6java2

3

Primitives

Primitives are the “basic” data values There are eight types of primitives:

– boolean -- used for true and false values– char -- used for single characters (letters, etc.)– byte, short, int, long -- four different kinds of integer

(whole number) values– float, double -- two different kinds of decimal

numbers (numbers with a decimal point)

Only 8 non-objects in Java

Page 4: M C6java2

4

byte short int long

float double

char

boolean

Page 5: M C6java2

5

(1) int The most important integer type is int

– An int is a “whole” number (no decimal point)

Numbers occupy memory in the computer– Larger numeric types require more memory

byte: 1 byte short: 2 bytes int: 4 bytes long: 8 bytes

– An int can be between about two billion (two thousand million) and negative two billion

If you just write a number, such as 25, Java assumes it is an int– Hence it is easier to work with int values than with the other integer

types (byte, short, and long)

Use int in preference to other integer types

Page 6: M C6java2

6

(2 and 3) byte and short A byte can be between -128 and 127 A short can be -32768 to 32767 Why these numbers?

– These are “round numbers” in binary; for example, 0111 1111 1111 1111 is binary for 32767 1000 0000 0000 0000 is binary for -32768 The first bit is the sign bit: a 1 means it’s a negative number

Use byte or short only when– You know the numbers are all small– There are millions of numbers to remember

Extra syntax is needed (will be discussed later)

Page 7: M C6java2

7

(4) long long integers are for when two billion isn’t large

enough for your needs– A long can be as long as about 19 digits– A long occupies twice as much space as an int– Arithmetic on long values is slower– Use long only when you need really big numbers– Extra syntax is needed (will be discussed later)

Even larger numbers are available in Java--but they are objects, not primitives

Page 8: M C6java2

8

(5) float float is the other kind of “real,” or “floating point” number float has about 8 digits of accuracy Arithmetic with float is not faster Use float only to save space when there are millions of

numbers involved Extra syntax is needed (will be discussed later)

Page 9: M C6java2

9

(6) double A double represents a “real” number

– Also sometimes called “floating point”– These are numbers with a decimal point

A double has about 15 digits of accuracy If you just write a real number, such as 1.37, Java

assumes it is a double– Hence it is easier to work with double values than with

float values

Use double in preference to float

Page 10: M C6java2

10

(7) char Exactly one and only one character

Page 11: M C6java2

11

(8) boolean true or false

Page 12: M C6java2

12

An aside: approximations Integers are precise, but real numbers are always

approximate (inaccurate)– Computers always use the binary system internally– Many numbers that can be expressed precisely in decimal cannot

be represented precisely in binary For example, the numbers 1.1, 1.2, 1.3, and 1.4 can only be

approximated in binary

Two numbers that look the same may actually be subtly different

Never test floating point numbers for equality!– Only test for larger or smaller, or for “not larger” or “not smaller”– This is not a Java rule—it’s a programming rule

Page 13: M C6java2

13

Giving names to numbers Sometimes you know what a number is

– You have 10 fingers– There are 24 hours in a day– π is 3.141592653589793238– Numbers written like this are called literals– You can use literals any place in Java that you can use a

number

Sometimes you need to use names instead:– classSize, myBankBalance, myAge, speedometerReading– Names like this are called variables– The value of a variable may change– Sometimes names are simply more convenient, for example,

Math.PI instead of 3.141592653589793238

Page 14: M C6java2

14

Variables Before you use a variable, you must declare it (tell Java what type

it is: int, double, char, ...) – There are two reasons for this:

Different types require different amounts of space So Java can prevent you from doing something meaningless (adding 5 to

someone’s name, or multiplying two dates together)

Before you use a variable, you must also define it (tell Java what value it has)

– It makes no sense to print out your bankBalance, or to add 100.00 to your bankBalance, if you don’t have a meaningful, well-defined initial value for bankBalance to start with

– You might assign an initial value to your variable, or compute a value, or read a value in; but you have to get one somehow

Page 15: M C6java2

15

Declaring variables You declare variables like this:

int classSize; double myBankBalance;

When you declare a variable to be a primitive type, Java automatically finds space for it

– The amount of space Java needs to find depends on the type of the variable

– Think of a variable as a specially shaped “box,” designed to hold a value of a particular type

An int variable is four bytes long and there’s a special place for the sign bit

A float variable is also four bytes long, but the bits are used differently--some are used to tell where the decimal point goes

Page 16: M C6java2

16

Giving values to variables

A variable is just a name for some value– You have to supply the actual value somehow– Java tries to prevent you from using a variable that

you haven’t given a value

You can assign values like this: classSize = 57; myBankBalance = 123.01; // no "$"!

Page 17: M C6java2

17

Initializing variables

You can give a variable an initial value when you declare it: int classSize = 30; double myBankBalance = 0.0;

You can change the value of a variable many times: classSize = 57; myBankBalance = myBankBalance + 50.00;

Page 18: M C6java2

18

Arithmetic Primitives have operations defined for them int and double have many defined operations,

including+ for addition

- for subtraction

* for multiplication

(Old computers did not have thecharacter)

/ for division

Page 19: M C6java2

19

Order of precedence Operations with higher precedence are done

before operations with lower precedence Multiplication and division have higher precedence

than addition and subtraction: 2 + 3 * 4 is 14, not 20

Operations of equal precedence are done left to right: 10 - 5 - 1 is 4, not 6

Page 20: M C6java2

20

Parentheses Operations inside parentheses are done first

(2 + 3) * 4 is 20

Parentheses are done from the inside out 24 / (3 * (10 - 6)) is 24 / (3 * 4) is 24 / 12 is 2

Parentheses can be used where not needed 2 + (3 * 4) is the same as 2 + 3 * 4

[ ] and { } cannot be used as parentheses!

Page 21: M C6java2

21

Assignment statements An assignment statement has the form:

variable = expression ;

Examples: price = 0.69;

(The expression can be as simple as a single literal or variable)

area = pi * radius * radius; classSize = classSize + 1;

This means “add one to the value in classSize”

Page 22: M C6java2

22

Printing out results, part 1

In Java, “print” really means “display in a window on the screen”

– Printing on actual paper is much harder! There are two commands for printing:

– System.out.print(x); Displays x

– System.out.println(x); (Pronounced “printline”)

Displays x, then goes to the next line

Page 23: M C6java2

23

Printing out results, part 2

Examples: System.out.print("The sum of x and y is ");

System.out.println(x + y);

If x and y are both 5, the result will be The sum of x and y is 10

If you print from an application, an output window opens automatically

If you print from a browser applet, you have to open the “Java Console” window to see your output

Page 24: M C6java2

24

A python program Here is a program, written in the Python language,

to add two numbers and print out the result:

PRINT 2+2

Page 25: M C6java2

25

A Java program Here is the same program, written in Java:

public class TwoPlusTwo { public static void main(String args[]) { System.out.println(2 + 2); }}

Page 26: M C6java2

26

New vocabulary primitive: one of the 8 basic kinds of values literal: an actual specified value, such as 42 variable: the name of a “box” that can hold a value type: a kind of value that a literal has or that a

variable can hold declare: to specify the type of a variable

Page 27: M C6java2

27

More new vocabulary operation: a way of computing a new value from

other values precedence: which operations to perform first

(which operations precede which other operations) assignment statement: a statement that associates

a value with a name initialize: to assign a “starting” value

Page 28: M C6java2

28

The End

“I think there is a world market for maybe five computers.”

--Thomas Watson, chairman of IBM, 1943


Recommended