java中字符串字符和数组
1 在Java中,是用双引号来界定字符串。定义及初始化如: String myVar= new String("Data");
2 字符串长度是调用length()方法。当字符串为null时,在执行length()方法时会抛出一个空指针异常。
3 字符串操作调用相关的方法,而不是像数组一样通过下标。字符串String的对象,不能作为一个字符数组使用。即不能String a = "1234"; char c = a[3];使用。
4 字符串中的初始化是null,而null和'''',null和'' ''是不同的。
5 字符串数组初始化如下:
String str [] = new String[]{"string1","string2","string3"};
String str [] = {"string1","string2","string3"};
6 注意一下toString()方法,它的操作都是字符串操作。
7 字符串运算中,对于+=,其左边必须为字符串。
字符的使用
1 在java中,char常量是用单引号进行表示的。
2 char类型用来表示Unicode编码表中的字符。
3 Unicode的若干注意
具有0~~65535之间的编码,他们通常用十六进制表示。如'\u0000'前缀\u表示是Unicode的值。java采用的是Unicode字符集,高9位为0的字符映射ASCII字符集中对应字符。
特殊字符转义符
\b 退格
\t 制表
\n 换行
\r 换行
\" 双引号
\' 单引号
\\ 反斜杠
\f 进纸
如:
String s; char c;
s=”\\”; //legal,输出\
s=”\”; //legal,输出\
c=’\\’; //legal,输出\
c=’\’; //illegal, 编译错误
数据类型的记忆
int 4字节 32位 -2e31~~~(2e31)-1 ?
short 2字节 16位 -2e15~~~(2e15)-1 ?
long 8字节 64位 -2e63~~~(2e63)-1 ?l 或 ?L
byte 1字节 8位 -2e7~~~(2e7)-1 ?
double 8字节 64位 ... ? 或 ?d 或 ?D
float 4字节 32位 ... ?f 或 ?F
char 2字节 16位 0~~~65535 ?
boolean 1位 true false ture 或 false
各进制数的用法
十六进制 0x? 或 0X? 十六进制中可任意大小写
十进制 ?
八进制 0?
数组问题
1 初始化时候的几种方法:
方法一
int[] small = {2,3,5,7,11,13};
方法二
small = new int[] { 2, 3, 5, 7, 11, 13}; //注意[]中不能有数值
注意: 数组中int [] a = new int[size]; size的类型只能是字节型,短整型或整型。不能是长整型。
2 长度为0的数组是合法的。数组长度是:数组名.length,是属性。当定义了数组长度,越界访问,可以编译,但是运行时出错。
3 多维数组定义时候的情况
int [][] a = new int[a][b];其中a必须有,b可以没有
4 多维数组初始化时候的情况
int [][] a = {
{1,2,3},
{4,5,6}
};
5 多维数组不规则情况
for( n = 0; n < odds.length; n++)
for( k = 0; k < odds[n].length; k++)
{//do something}
6 数组元素的类型,一般可分为3种:基本类型,对象引用型(和数组对象)。
7 数组不能赋值给length
,如
iArray.length = 15; 会引起编译错误
8 注意一下isArray()方法,它可判定某个对象是否一个数组。