将char转换为大写
String lower = Name.toLowerCase(); int a = Name.indexOf(" ",0); String first = lower.substring(0, a); String last = lower.substring(a+1); char f = first.charAt(0); char l = last.charAt(0); System.out.println(l); 我怎么会得到F和Lvariables转换为大写。
 你可以使用Character#toUpperCase()来做到这一点。 
 char fUpper = Character.toUpperCase(f); char lUpper = Character.toUpperCase(l); 
 但是,由于全世界都知道更多的字符比16bit char范围还要多,所以它有一些限制。 另请参阅javadoc的以下摘录: 
注意:此方法不能处理补充字符 。 要支持所有Unicode字符(包括补充字符),请使用
toUpperCase(int)方法。
 看看java.lang.Character类,它提供了很多有用的方法来转换或testing字符。 
 f = Character.toUpperCase(f); l = Character.toUpperCase(l); 
不要使用现有的工具,你可以尝试下面的转换使用布尔操作:
大写:
  char upperChar = (char) (c & 0x5f) 
小写:
  char lowerChar = (char) (c ^ 0x20) 
例如
 char fUpper = (char) (f & 0x5f); char lUpper = (char) (l & 0x5f); 
怎么运行的:
二进制,hex和十进制表:
 ------------------------------------------ | Binary | Hexadecimal | Decimal | ----------------------------------------- | 1011111 | 0x5f | 95 | ------------------------------------------ | 100000 | 0x20 | 32 | ------------------------------------------ 
  我们举一个从小到大的L转换的例子: 
 二进制AND操作: (l & 0x5f) 
  l字符有ASCII 01101100是二进制表示。 
  1101100 & 1011111 ----------- 1001100 = 76 in decimal which is **ASCII** code of L 
  类似的L到l转换: 
 二进制XOR操作: (c ^ 0x20) 
  1001100 ^ 0100000 ----------- 1101100 = 108 in decimal which is **ASCII** code of l 
您可以将.toUpperCase()直接应用于stringvariables或作为文本字段的属性。 例如: –
 String str; TextView txt; str.toUpperCase();// will change it to all upper case OR txt.append(str.toUpperCase()); txt.setText(str.toUpperCase()); 
 System.out.println(first.substring(0,1).toUpperCase()); System.out.println(last.substring(0,1).toUpperCase()); 
如果您的项目中包含apache commons lang jar,那么最简单的解决scheme就是:
 WordUtils.capitalize(Name) 
照顾你所有的肮脏的工作。 在这里看到javadoc
或者,你也有一个大写的string(String)方法,它也会降低其他字符的情况。
既然你知道字符是小写的,你可以减去相应的ASCII值来使它们成为大写:
 char a = 'a'; a -= 32; System.out.println("a is " + a); //a is A 
这是一个供参考的ASCII表格
最简单的解决scheme – 改变第一行,让它做相反的事情:
 String lower = Name.toUpperCase (); 
当然,也有必要改变它的名字。