/* Experiment.java -- let's take a look at a variety of mathematical * operators in Java. */ public class Experiment { public static void main(String [] args) { // Practice with arithmetical expressions System.out.printf("3 + 4 * 2 = %d\n", (3 + 4 * 2)); System.out.printf("3*2 > 2*5 returns %s\n", (3*2 > 2*5)); System.out.printf("true || false returns %s\n", (true || false)); // Practice the order of operations System.out.printf("ugly expression = %d\n\n", (6 % 7 - (4 - 9) / 2) + 1 / 2 * (3 - 4) * 5 ); ////////////////////////////////////////////////////////////// // Test the associativity of - and / System.out.printf("10 - 3 - 3 = %d\n", (10 - 3 - 3)); System.out.printf("48 / 6 / 3 = %d\n", (48 / 6 / 3)); // Test the associativity of = int a = 1; int b = 2; int c = 3; System.out.printf("a = b = c returns %d\n", (a = b = c)); System.out.printf("And now a = %d, b = %d, c = %d\n", a, b, c); // Practice Math functions double x = 4.6; double y = 7.2; System.out.printf("rounding x gives %d\n", Math.round(x)); System.out.printf("strange expression = %f\n", Math.min(Math.floor(x), Math.ceil(y))); // Practice Character functions char ch = 'g'; System.out.printf("uppercase is %c\n", Character.toUpperCase(ch)); System.out.printf("is letter? %s\n\n", Character.isLetter(ch)); ///////////////////////////////////////////////////////////////// // Practice with shortcuts for assignment a = 4; b = 3; c = 2; System.out.printf("b += c gives this result: %d\n", (b += c)); System.out.printf("a -= b gives this result: %d\n", (a -= b)); System.out.printf("c *= a + b gives this result: %d\n", (c *= a + b)); // Practice with incrementer / decrementer a = 4; b = 3; c = 2; System.out.printf("--c gives this result: %d\n", (--c)); System.out.printf("++a gives this result: %d\n", (++a)); System.out.printf("a * --b + c++ equals %d\n", (a * --b + c++)); System.out.printf("final values of a,b,c are: %d, %d, %d\n", a,b,c); } }