Recupero sul linguaggio Java

Sia

int      a = 3,
         b = 7,
         c = 0;
double   x = 0.0;
double[] v = { 3.5, 0.0, -4.3, 3.0 };

Svolgi i calcoli e commenta

switch(a)
{
   case 1: a=0;
   case 2: a--; break;
   case 3: a++;                     // a <-- a+1 = 3+1 = 4
   case 4: a*=2; break;             // a <-- a*2 = 4*2 = 8
}
v=qq(v);

double[] qq(double[] q)             // q --> { 3.5, 0.0, -4.3, 3.0 };
{
   double[] p = new double[3];      // p --> { 0.0, 0.0, 0.0 }
   p[1]=q[0];                       // p --> { 0.0, 3.5, 0.0 }
   return p;                        // v <-- qq(v) <-- p, v --> { 0.0, 3.5, 0.0 }
}
x=Math.PI + a++;                    // x <-- Math.PI+a = 3.14159...+3 = 6.14159...
                                    // a <-- a+1 = 3+1 = 4
do
{
  b-=2;                             // b <-- b-2 = 7, 5, 3, 1
  a+=3;                             // a <-- a+3 = 3, 6, 9, 12
}
while(a < 10);
x=cc(a, x);

double cc(int a, double b)          // a=3, b=0.0
{
   b=a+b;                           // b <-- a+b = 3+0.0 = 3.0
   return b;                        // x <-- b = 3.0
}
c=b<<a;                             // c <-- b*2*2*2 = 7*8 = 56
c=(int)(a*b*(x+0.5));               // c <-- (int)(3*7*0.5) = (int)10.5 = 10
int q=0, w=0, e=0;
for(int i=0; i < v.length/2; i++)   // i = 0, 1, (2)
{
  if(v[i] > 0.0)       q++;         // q <-- q+1 se ... (1)
  else if(v[i] == 0.0) w++;         // w <-- w+1 se ... (1)
  else                 e++;         // e <-- e+1 se ... (0)
}
c=a|b;                              // c <-- a OR2 b = 0011 OR2 0111 = 0111 = 7
for(int i=0; i < v.length; i++)     // i = 0, 1, 2, 3, (4)
   x+=(v[i] != 0.0) ? 2*v[i] : 0;   // x <-- x + 2*v[i] se ... (4.4)
c=a/b+b%a;                          // c = (a DIV b) + (b MOD a) = 0+1 = 1

- ApPuNtIdIuNiNfOrMaTiCo