Send Integers From Ardunio to Java Program Using Serial Port

The Serial.print() function on the Arduino is converting the value to a string, and sending the string to the serial port.

int val = 199;
Serial.print(val, DEC);

results in the characters '1', '9', and '9' being sent to the serial port.

You need to collect the values on the other end, as a string, and convert the string to an int (atoi() works great for that).

The bit shifting stuff you are doing now is completely wrong.