Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
所以,Java中的字符可以存储一个中文汉字
...............................
类型转换注意事项:
byte b = 10;
b++;//++为java语言规定的运算法,java编译器会对其进行特殊处理。所以能通过编译。
b = b + 1;
问哪句会报错,为什么?错误信息如下:
D:\My Documents\Test.java:57: 错误: 不兼容的类型: 从int转换到byte可能会有损失
b = b + 1;
1 个错误
解释:
java语言在涉及到byte/short/char类型的运算时,首先会把这些类型的变量值强制转换成int类型。
然后对int类型的值进行处理(计算),最后得到int类型的值。如果想要得到byte/short/char类型的
结果,就必须显示的把运算结果转换成byte/short/char中的一个。
所以第三句b=b+1;在运行时是先把b+1的b转换成int类型,所以得到的结果也是int类型的数值,因此编译器报错。
正确的写法:b=(short)(b+1);
需求:请输出一个4行5列的星星(*)图案。
//两个循环,外循环控制行数,内循环控制列数
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
System.out.print("*");
}//打出5个星星,然后用外层循环换行
System.out.println();//恩,直接换行。
}
数组元素反转(就是把元素对调):
public static void reverseArray(int[] arr) {
for (int i = 0;i < arr.length / 2 ; i++) {
//arr[0]和arr[arr.length-1-0]交换
//arr[1]和arr[arr.length-1-1]交换
//arr[2]和arr[arr.lentth-1-2]</span>
//...
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
}
需求:二维数组遍历
外循环控制的是二维数组的长度,其实就是一维数组的个数。
内循环控制的是一维数组的长度。
int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
for (int i = 0;i < arr.length ;i++ ) { //获取到每个二维数组中的一维数组
for (int j = 0;j < arr[i].length ;j++ ) { //获取每个一维数组中的元素
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
/**
* @(#)DemoMoLe.java
*
*
* @author yehaicao
* @version 1.00 2016/2/24
*/
public class DemoMoLe {
public static void main (String[] args) {
//如果c字符是数字的话,那么返回true,否则返回false。
<span style="color:#33CC00;">char c = '1';//是一个字符。是编码,不是int的1.注意区别.
System.out.println (c>='0'&&c<='9');</span>
String str = "xiamen,woaini!";
<span style="color:#FF6666;"> char data[] = str.toCharArray();//字符串变为字符数组</span>
for(int i=0; i<data.length; i++){
System.out.print(data[i]+".");
<span style="color:#FF0000;"> data[i]-=32;//小写变成大写 </span>
}
System.out.println ();
System.out.println ("全部字符变成字符串"+new String(data));
System.out.println ("部分字符变成字符串"+ new String(data,0,5));
}
}