// Two types of data: primitive and abstract
// 
// Bit: 0 or 1
// Byte: 8 bits
// Primitives (4 kinds: integers, floating point,
//             			boolean, char)
// * Integers: sign, integer component
// byte (1 byte)
// short (2 bytes)
// int (4 bytes)  DEFAULT
// long (8 bytes)
//				
// * Floating point: float, double
//   A double has three components:
//     sign bit (1 bit)
//     significand (aka mantissa; 52 bits)
//     exponent (11 bits)
// ** sign * (1.significand) * 2^exponent
// float (4 bytes)
// double (8 bytes)  DEFAULT
//
// * Character: char (2 bytes = 2^16 = 65536)
// 
// * Boolean: boolean (SHOULD BE 1 BIT, BUT ISN'T IN JAVA!)
// Actually is 4 bytes
//
// Abstract Data Types (ADTs) are not primitives
// * HAVE METHODS (PRIMITIVES DON'T)
// * String, Cow, Rectangle, JFrame, BankAccount
//   Graphics: ANYTHING THAT IS NOT PRIMITIVE
// * MUST USE new KEYWORD WITH PARENTHESES TO MAKE AN OBJECT
//   * ONLY EXCEPTION IS String CLASS

public class Main {
	public static void main(String[] args) {
		String c = "cows";
		System.out.println(c);
	}
}