К сожалению, в Java нет unsigned типов, но можно перед выводом или использованием значения наложить на него битовую маску:
public class bytes{
public static void main(String[] args){
byte b = (byte) 200;
System.out.println(b & 0xFF);
b+=100;
System.out.println(b & 0xFF);
}
}
Этот код выведет 200 и 44.
>>Пример: 200 + 100 = 44
К слову, это называется не "дополнительным кодом" (доп. код — это представление отрицательных чисел, см. ту же Википедию), а переполнением, т.е., попыткой записать в переменную число большее, чем допустимо типом переменной, в результате чего старшие биты попросту утрачиваются.