Sunteți pe pagina 1din 5

Computer Studies 2013 Syllabus

Arithmetic Operators Part 2 (05)


Basic calculations, assignments, unary, type conversion and type casting.

Unary Operators Unary operators such as -- or ++ involve only one variable. For instance in order to increase n by 1 the statement n++ is enough. When two variables are used in a calculation its called a binary operation. Unary operators can be used in two ways which are postfix and prefix. Type Statement n++ Postfix n-++n Prefix --n n =n -1 n=n1 n=n +1 Equivalent n = n +1

Although there end result is the same, there is a difference when postfix and prefix are used in expressions. Lets look at the following example:
class PostPre { public static void main (String args[]){ int x; int n; //Example of postfix n = 9; x = n++; System.out.println("x is "+x+" and n is "+n); //Example of prefix n = 9; x = ++n; System.out.println("x is "+x+" and n is "+n); } }

Mr. A. Gatt

Page 1 of 5

Computer Studies 2013 Syllabus

In the previous example of postfix, what happens is first the value of n (9) is stored in x, then n is increased by 1 and the resulting value stored in n. On the other hand in the prefix case, first n is increased by one and then the result is stored in x. So if we run the program we end up with the following output.
x is 9 and n is 10 x is 10 and n is 10

Using Reals When numbers with a fraction must be stored, real type variables must be used; float or double. These can be used just like regular variable types. However, when using float the letter f must be added at the end of the number as shown below (otherwise the program wont build).
class FloatExample { public static void main (String args[]) { float num = 3.45f; } }

Conversions When variables are assigned to other variables for example num1 = num2, one must keep in mind the following: Both variables are of the same data type, or The two variables are compatible, or The destination variable type is larger than the source type.

Consider the following examples.


byte num2 =13; short num1 = num2; long num2; int num1 = num2;

This is correct since num1 is short and so its a bigger variable type than byte.

This is incorrect since were trying to fit long data into an int data type and it cannot be done since its smaller.

Mr. A. Gatt

Page 2 of 5

Computer Studies 2013 Syllabus

double float long

int
char short byte
This hierarchy shows how variables can be converted. For instance double is the biggest, so it cannot be converted to anything else; whilst byte (since its the smallest) can be converted to any type (except char). Note that boolean data types cannot be converted to anything since they are not considered to be numbers in Java.

Type Casting Types can also be changed by specifying to which type you want to convert them in brackets. For example:
int x = (int) 9.45;

This will change 9.45 to an integer (so it becomes a 9) and stores it in x.


double x = 9.45; int p = (int) x;

This has the same result as the previous statement.


boolean tall = true; int x = (int) tall;

This will not work since tall is not a number and hence it cannot be converted.

Mr. A. Gatt

Page 3 of 5

Computer Studies 2013 Syllabus

Scope Whenever the curly brackets are opened and closed, a scope is created. If a variable is declared in the main scope it can be used throughout the method, however if it is declared between the curly brackets further in the program it will be only available in that scope.

class Scope { public static void main (String args[]){ int x = 5; { int j = 2; System.out.println(" x is "+x+" and j is "+j); } System.out.println ("x is "+x+" and j cannot be shown!"); } }

As you can see in the previous example x can be used throughout the program however j can only be used in that scope (the blue shade).

Constants

A constant is very similar to a variable, however the difference is that its contents cannot be changed; so its read-only. A constant is declared the same as a variable however the keyword final must be used in order to show that its a constant. So for instance the mathematical value for PI never changes, so it can be declared as a constant as follows:
final double PI = 3.142;

In order to identify variables from constants, constants are created using capital letters.

Mr. A. Gatt

Page 4 of 5

Computer Studies 2013 Syllabus

Activities
1. Create a program to illustrate the difference between postfix and prefix using --. 2. Which letter must be added after a number assigned to a float variable? Give an example. 3. Can the following types be converted to the specified types? a. long double b. boolean float c. float double d. char int 4. Create a program to illustrate how scope works. 5. Create a program to calculate the circumference of a circle with radius 9.34. You must use variables and/or constants to store the values. 6. Create a program that calculates the following (always use variables and constants where necessary): a. Perimeter of a Box with length 4 and breadth 10 b. Area of a Sphere with radius 6.542 c. Convert 300 Fahrenheit into Celsius

***

Mr. A. Gatt

Page 5 of 5