|
일일 결과물 | ||
3조 |
파울로 |
10-11-02 |
C#: VARIABLES, TYPES AND OPERATORS |
VARIABLES AND TYPES
Variables are simply storage locations for data. You can place data into them and retrieve their contents as part of a C# expression.
The interpretation of the data in a variable is controlled through “ Types”.
C# is a “Strongly Typed” language. Thus all operations on variables are performed with consideration of what the variable’s “type” is. There are rules that define what operations are legal in order to maintain the integrity of the data you put in a variable.
C# TYPES
The C# simple types consist of Boolean type, String type and three numeric types: Integrals, Floating Point and Decimal.
THE BOOLEAN TYPE
Boolean types are declared using the keyword, bool. They have two values: True or False. The only values that satisfy a Boolean condition is true or false, which are official keyboards.
INTEGRAL TYPES
Integral is a category of types, which is defined in the C# Programming Language Specification, refers to the Classification of types that include: sbyte, byte, ushort, int, uint, long, ulong and char.
The size and Range of Integral types
Type |
Size( bits ) |
Range |
sbyte |
8 |
-128 to 127 |
byte |
8 |
0 to 255 |
short |
16 |
-32768 to 32767 |
ushort |
16 |
0 to 65535 |
int |
32 |
-2147483648 to 2147483647 |
uint |
32 |
0 to 42949467295 |
long |
64 |
-9223372036854775808 to 9223372036854775807 |
ulong |
64 |
0 to 18446744073709551615 |
char |
16 |
0 to 65535 |
Integral types are well suited for those operations involving whole number calculations. The char type is the exception, representing a single Unicode character.
THE FLOATING POINT AND DECIMAL TYPES
Floating point type is either a float or double. They are used any time you need to represent a real number.
Type |
Size (bits) |
Precision |
Range |
float |
32 |
7 digits |
1.5 x 10-45 to 3.4 x 1038 |
double |
64 |
15-16 digits |
5.0 x 10-324 to 1.7 x 10308 |
Decimal |
128 |
28-29 decimal places |
1.0 x 10-28 to 7.9 x 1028 |
Floating point types are used when you need to perform operations requirement fractional representations.
THE STRING TYPE
A string is a sequence of text characters.
string s = "Hello"; |
OPERATORS
Operator is computed by building expressions. These expressions are built by combining variables and operations together into statements.
The full set of C# operators
Category (Precedence) |
Operator(s) |
Associativity |
Unary |
+ - ! ~ ++x x++ --x x-- |
Left |
Multiplicative |
* / % |
Left |
Additive |
+ - |
Left |
Shit |
<< >> |
Left |
Relational |
< > <= >= is as |
Left |
Equality |
== != |
Right |
Logical AND |
& |
Left |
Logical XOR |
^ |
Left |
Logical OR |
| |
Left |
Conditional AND |
&& |
Left |
Conditional OR |
|| |
Left |
Assignment |
= ;*=; /=; %=; +=; -=; <<=; >>=; &=; ^=; |=; => |
Right |
Left associativity means that operations are evaluated from left to right. Right associativity mean all operations occur from right to left, such as assignment operations where everything to the right is evaluated before the result is placed into the variable on the left.
Example of unary operators: Unary.cs
class Unary { static void Main(string[] args) { int unary = 0; int preIncrement; int preDecrement; int postIncrement; int postDecrement; int positive; int negative;
preIncrement = ++unary; Console.WriteLine("Pre-Increment:{0}\n", preIncrement);
preDecrement = --unary; Console.WriteLine("Pre-Decrement:{0}\n", preDecrement);
postDecrement = unary--; Console.WriteLine("Post-Decrement:{0}\n", postDecrement);
postIncrement = unary++; Console.WriteLine("Post-Increment:{0}\n", postIncrement);
positive = -postIncrement; Console.WriteLine("Positive:{0}\n", positive);
negative = +postIncrement; Console.WriteLine("Negative:{0}\n", negative);
} } |
Result of the Unary operators precedence