int intVal = 32555;
byte byteVal = 25;
long longVal = intVal; // implicit type conversion
System.out.println(longVal); // 32555
intVal = (int) longVal; // explicit type conversion
System.out.println(intVal); // 32555
longVal = byteVal; // implicit type conversion
System.out.println(longVal); // 25
byteVal = (byte) longVal; // explicit type conversion
System.out.println(byteVal); // 25
Numeric Data Type Conversion
byte bVal = 127;
int iVal = 100;
System.out.println(bVal+iVal); // 127 + 100 = 227
System.out.println(10/4); // int/ int 2.5 => 2
System.out.println(10.0/4); // double / int => double divided by double => 2.5
System.out.println((char)0x12340041);
System.out.println((byte)(bVal+iVal)); // 127 + 100 => (byte)227 => 1110 0011 => 1 + 2 + 32 + 64 – 128 => -29
System.out.println((int)2.9 + 1.8); // 2 + 1.8 => 2.0 + 1.8 => 3.8
System.out.println((int)(2.9 + 1.8)); // (int)4.1 => 4
System.out.println((int)2.9 + (int)1.8); // 2 + 1 => 3
Java’s byte (-128 to 127)
Java’s byte
is a signed 8-bit numeric type whose range is -128
to 127
(JLS 4.2.1). 233
is outside of this range; the same bit pattern represents -23
instead.
11101001 = 1 + 8 + 32 + 64 + 128 = 233 (int)
1 + 8 + 32 + 64 - 128 = -23 (byte)
A byte plus a byte is an int in Java.
byte a = 1;
byte b = 2;
byte c = a + b; // compile error (byte + byte = int)
byte c = (byte)(a + b); // corrected
DataType Examples
1.DataType
•Boolean
•Char
•String
•Numeric Type: byte, short, int, long, float, double
•Type Conversion
•Enum
Primitive Types vs Reference Types
https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html
Primitive Types
A primitive type is predefined by the Java programming language and named by its reserved keyword (§3.9): boolean, integer, long, float, double, byte, short, char.
Reference Types
There are four kinds of reference types: class types (§8), interface types (§9), type variables (§4.4), and array types (§10).
Data Type
8 Primitive Data Type
https://en.wikibooks.org/wiki/Java_Programming/Primitive_Types
boolean | A binary value of either true or false |
byte | 8 bit signed value, values from -128 to 127 |
short | 16 bit signed value, values from -32.768 to 32.767 |
char | 16 bit Unicode character |
int | 32 bit signed value, values from -2.147.483.648 to 2.147.483.647 |
long | 64 bit signed value, values from -9.223.372.036.854.775.808 to 9.223.372.036.854.775.808 |
float | 32 bit floating point value |
double | 64 bit floating point value |
Object Types
Data type | Description |
Boolean | A binary value of either true or false |
Byte | 8 bit signed value, values from -128 to 127 |
Short | 16 bit signed value, values from -32.768 to 32.767 |
Character | 16 bit Unicode character |
Integer | 32 bit signed value, values from -2.147.483.648 to 2.147.483.647 |
Long | 64 bit signed value, values from -9.223.372.036.854.775.808 to 9.223.372.036.854.775.808 |
Float | 32 bit floating point value |
Double | 64 bit floating point value |
String | N byte Unicode string of textual data. Immutable |
Reference Types
class | A class is also a data type – a non primitive reference data type |
interface | An interface is a reference type in Java, it is similar to class, it is a collection of abstract methods. |
array | An array’s type is written as type[] , where type is the data type of the contained elements; arrays are objects, are dynamically created, and may be assigned to variables of type Object |
enum | An enum type is a special data type that enables for a variable to be a set of predefined constants. |
Variables
public class Hello {
private String name; // instance variable
private static int value = 10; // static variable
public int sum(int n, int m) {
int result = n + m; // result : local variable
return result;
}
public static void main(String args[]) {
Hello h = new Hello();
h.name = “Hello”;
System.out.println(h.name);
System.out.println(Hello.value);
}
}
Naming Conventions
http://www.oracle.com/technetwork/java/codeconventions-135099.html
Working with Images
The Java Tutorials Lesson: Working with Images
https://docs.oracle.com/javase/tutorial/2d/images/index.html
Lecture2
lecture2