字符串转数组问题.................................

public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "hellojava";
char data[] = str.toCharArray();
for (int i = 0; i < data.length; i++) {
System.out.println(data[i] + ".");
data[i] -= 32;
}

    System.out.println("将全部字符组变为字符串:" + new String(data));
    System.out.println("将部分字符数组变为字符串:" + new String(data, 5, 4));
}

data[i] -= 32;这个具体是啥意思?

data[i]=data[i]-32;

ASCII!小写变大写而已!

32,这个是大小写在ASCII中的差值

data[i]=data[i]-32,两个数据之间差了32

用char类型的data[i] 对应ASII 的值 减去 32 得到int型的结果,然后将该结果在ASCII表对应的char 值 重新赋值给data[i]。