Two options.
*str |= 0x20; /*makes less sense to the casual observer*/
str[0] |= 0x20; /*quicker execution. Well, was until compilers started treating array[index] exactly like *(array + index);
This, of course, assumes that you're dealing with latin letters, and may produce interesting results if you're not (works for iso8859-1 accented characters, and appropriate unicode wide characters provided you do you conversion to the pair, which is tricky to retrieve. UTF-8 is in the wrong order...).
You could also use ucfirst. It's beyond me why Java doesn't have this function. |