Why does Java allow byte arrays to contain negative values such as byte[] array = new byte[-90, -23, 118, 23, 3, 0, 0, 23, 39] but Python does not?