Using bit wise operator it can be done.
public class AddWithoudPlus {
public static void main(String[] args) {
int x = 12;
int y = 41;
System.out.println(getSum(x,y));
System.out.println(getSumRec(x,y));
}
//iterative (while loop)
private static int getSum(int x, int y) {
while(y != 0){
int sum = x^y;
int carry = (x&y)<<1;
x = sum;
y = carry;
}
return x;
}
//recursive
private static int getSumRec(int x, int y) {
if(y == 0) return x;
int sum = x ^ y;
int carry = (x & y)<<1;
return getSumRec(sum, carry);
}
}