The basic types are value types; that is, variables declared of these types are assigned memory locations of the size determined by the type without having to allocate memory explicitly using "new".
Assignment of value types makes a copy of the value and stores the copy in the target of the assignment.
short s1 = 512; short s2; s2 = s1; s2++; Now s2 is 513, but s1 is 512.