Expression ISYS 350
Performing Calculations Basic calculations such as arithmetic calculation can be performed by math operators OperatorName of the operatorDescription +AdditionAdds two numbers -SubtractionSubtracts one number from another *MultiplicationMultiplies one number by another /DivisionDivides one number by another and gives the quotient %ModulusDivides one number by another and gives the remainder Other calculations: Use Math class’s methods. Example: Math.Pow(x, y) double x = 3.0, y = 2.0, z; z=Math.Pow(x,y);
Order of Evaluation OperatorMultiples 1 ( )Inner to outer, left to right 2. Powerleft to right 3. *, /left to right 4. +, -left to right
Formula to Expression
Increment/Decrement Operators ++IncrementAdds 1 to the operand (x = x + 1). -- DecrementSubtracts 1 from the operand (x = x - 1). int x = 14; int y = 8; Int z = 10; int result7 = --y; // result7 = 7 int result8 = ++x; // result8 = 15, x = 15 ++z; // z= 11 double a = 8.5; double b = 3.4; double result15 = --a; // result15 = 7.5 double result16 = ++b; // result16 = 4.4
Compound (Shortcut) Operators Operator += Adding the operand to the starting value of the variable. -= Subtracting the operand from the starting value of the variable. *= Multiplying the operand by the starting value of the variable. /= Dividing the operand by the starting value of the variable. %= Remainder after dividing the right operand by the value in the variable.
Decrement/Increment by 1 private void button1_Click(object sender, EventArgs e) { int myInt; myInt = int.Parse(textBox1.Text); // myInt-=1; // myInt = --myInt; --myInt; textBox1.Text = myInt.ToString(); } private void button2_Click(object sender, EventArgs e) { int myInt; myInt = int.Parse(textBox1.Text); //myInt += 1; //myInt = ++myInt; ++myInt; textBox1.Text = myInt.ToString(); }
Decrement/Increment by any Step Value private void button1_Click(object sender, EventArgs e) { int stepValue; stepValue = int.Parse(textBox2.Text); int myInt; myInt = int.Parse(textBox1.Text); myInt -= stepValue; // myInt = myInt - stepValue; textBox1.Text = myInt.ToString(); } private void button2_Click(object sender, EventArgs e) { int stepValue; stepValue = int.Parse(textBox2.Text); int myInt; myInt = int.Parse(textBox1.Text); myInt += stepValue; // myInt = myInt + stepValue; textBox1.Text = myInt.ToString(); }
Prefix/Postfix Increment/Decrement Operators int a = 5; int b = 5; int y = ++a; // a = 6, y = 6 int z = b++; // b = 6, z = 5 When you use an increment or decrement operator as a prefix to a variable, the variable is incremented or decremented and then the result is assigned. When you use an increment or decrement operator as a postfix to a variable, the result is assigned and then the variable is incremented or decremented.
Counter Example: Keep track the number of times a user clicks a button Need to declare a variable: int Counter=0; Need to increase the counter by 1 when the button is clicked: Counter = Counter + 1; // Or Counter+=1; // Or ++Counter; Question: Where to declare this variable?
Example int Counter = 0; private void button1_Click(object sender, EventArgs e) { Counter = Counter + 1; textBox1.Text = Counter.ToString(); } private void button1_Click(object sender, EventArgs e) { int Counter = 0; Counter = Counter + 1; textBox1.Text = Counter.ToString(); } Incorrect: Correct:
Variable Scope The scope of a variable determines its visibility to the rest of a program. –Procedural-level scope: declared in a procedure and visible only in the procedure. –Class-level scope: declared in a class but outside any procedure; visible to all procedures in the class.