Question: here is my code

```
ArrayList <String> arr = new ArrayList<String>();
        arr.add("123 456");
        String []arr2 = arr.get(0).split(" ");

        char[]x=arr2[0].toCharArray();
        char[]y=arr2[1].toCharArray();

        System.out.println(x[0]);
        System.out.println(y[0]);

        int z = x[0]+y[0];
        System.out.println(z);

```

i get a result of 1 6 but the z is 103 how is that possible when

```
    char xx=1;
        char yy=6;

        int zz = xx+yy;
        System.out.println(zz);

```

results to 7

Answer: 
I guess you mess up a bit between array, string and integers...

The main problem is `int z = x[0]+y[0];` you getting X and Y as Char, so they concate the String, so `"1" + "1" = "11"`, and than converting the string to int... so "1" + "6" = "16" converting to int, they tried to get number representation to it, that looks like be 103

What you could do if you trying to reach 7, is convert the Char to Int right here `int z = x[0]+y[0];` will be this way `int z = Integer.parseInt(x[0])+Integer.parseInt(y[0]);` so now will be `1 + 6 = 7`
As others in the comments have pointed out, in your second example you are adding

`int xx = 1`
and `int yy = 6` thus `xx + yy` returns `7`.

However, in your first example, you are adding `cx = '1'`
and `cy = '6'` so `int value = cx + cy` evaluates to `48 + 54`