赞
踩
注释不会出现在可执行程序中
整形
浮点型
char:表示unicode编码的字符单元的字符类型。部分字符需要两个char值。char类型的值可以表示十六进制,从\u0000到\Ufff。
\u005b+\u005D是[]
unicode和char类型:想要弄清楚char类型,就必须了解Unicode编码机制。unicode打破了传统的字符编码限制。在unicode之前,早已出现了许多不同的标准,美国的ascii,俄罗斯的KOI-8,西欧中的iso8859-8,中国的GB18030和BIG-5等。就产生了一下两个问题。一个任意给定的代码值,在两套标准中对应不同的字母。二是采用大字符集的语言其编码长度有可能不同。例如有些常见字符采用单字节编码,另外的采用两个或多个字节
码点是指一个编码表中某个字符对应的代码值。在unicode标准中,码点采用16进制书写,并加上前缀U+。例如U+0041就是字母A的码点。unicode的码点可以分成17个代码级别。第一个代码级别称为基本的多语言级别,码点从u+0000~u+ffff;其余的16个级别的码点从u+10000到u+10ffff包括一些辅助字符。
UTF-16编码采用不同长度的编码表示所有的unicode码点。在基本的多语言级别中,每个字符用16位表示通常被称为代码单元。
在java中char描述了一个UTF-16编码中的一个代码单元
我们强烈建议不要在程序中使用char类型,除非的确需要处理UTF-16代码单元。最好将字符串作为抽象数据类型处理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XrlhVcwU-1669378539987)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1635912665462.png)]
boolean:标识真假的布尔值
可以使用character的isJavaIdentifierStart来判断
可移植性是java语言的设计目标之一。无论在哪个虚拟机上运行,同一运算应该得到同样的结果。对于浮点数的算术运算,实现这样的可移植性是相当困难的。Double类型使用64位存储该一个数值,而有些处理器使用80位浮点寄存器。这些寄存器增加了中间过程的精度
有时候,变量的取值只在一个有限的集合内。例如披萨只有小中大和超大四种尺寸,可以将这些尺寸编码为1,2,3,4.但这样存在一定的隐患,变量中很有可能保存一个错误的值,比如0。针对这种情况,可以自定义枚举类型。
枚举类型的作用就是限制变量的范围
从概念上讲,java字符就是Unicode字符序列。例如“java\u2122”是由五个Unicode字符组成:j,a,v,a,TM。java没有内置的字符串类型,而是在标准java类库提供了一个预定义类,很自然的叫做String。
java设计者认为共享带来的效率远远高过提取拼接字符串带来的低效率。
如果基本的整数和浮点数精度不能满足需求,可以使用java.math包中的BigInteger个BigDecimal
一旦创建了数组,就不能改变他的大小。数组长度可为0。
//当复制数组时,两个变量会引用一个数组
String[] aa = new String[]{"1","2","3"};
String[] bb = aa;
bb[1] = "9";
//将数组内的值复制到一个新数组中去
String[] aa = new String[]{"1","2","3"};
String[] bb = Arrays.copyOf(aa,aa.length*2);
//这个方法使用了优化的快速排序算法
Array.sort();
static String toString(type[]a)5.0
返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔。
参数:a 类型为int、long、short、char、byte、boolean、float或double的数组。
static type copyOf(type[]a,int length)6
static type copyOfRange(type[]a,int start,int end)6
返回与a类型相同的一个数组,其长度为length或者end-start,数组元素为a的值。
参数:a 类型为int、long、short、char、byte、boolean、float或double的数组。
start 起始下标(包含这个值)。
end 终止下标(不包含这个值)。这个值可能大于a.length。在这种情况下,结果为0或false。
length 拷贝的数据元素长度。如果length值大于a.length,结果为0或false;否则,数组中只有前面length个数据元素的拷贝值。
static void sort(type[]a)
采用优化的快速排序算法对数组进行排序。
参数:a 类型为int、long、short、char、byte、boolean、float或double的数组。
static int binarySearch(type[]a,type v)
static int binarySearch(type[]a,int start,int end,type v)6
采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值;否则,返回一个负数值r。-r-1是为保持a有序v应插入的位置。
参数:a 类型为int、long、short、char、byte、boolean、float或double的有序数组。
start 起始下标(包含这个值)。
end 终止下标(不包含这个值)。
v 同a的数据元素类型相同的值。
static void fill(type[]a,type v)
将数组的所有数据元素值设置为v。
参数:a 类型为int、long、short、char、byte、boolean、float或double的数组。
v 与a数据元素类型相同的一个值。
static boolean equals(type[]a,type[]b)
如果两个数组大小相同,并且下标相同的元素都对应相等,返回true。
参数:a、b 类型为int、long、short、char、byte、boolean、float或double的两个数组。
更改器方法会修改对象,只访问对象不去修改被称为访问器方法
employee employee = new employee(new Date());
Date date = employee.getDate();
date.setTime(date.getTime()+(1000*60*60*24));
System.out.println(employee.getDate());
date和employee.getdate()引用同一个状态,对d更改器方法就可以自动修改这个对象的私有状态。如果需要返回一个可变对象的引用,应首先对它进行clone
public Date getDate() {
return (Date) date.clone();
}
java总是采用按值调用。也就是说,方法得到的所有参数值的一个拷贝,特别的是,方法不能修改传递给他的任何参数变量内容
public static void add(int num){
num = num*6;
}
public static void main(String[] args) {
int num = 10;
Employee.add(10);
System.out.println("num = " + num);
}
一个方法不能修改一个基本数据类型参数,而对象引用作为参数是可以修改的
public static void main(String[] args) {
Employee harry = new Employee();
add(harry);
}
public static void add(Employee harry){
harry.add(200);
System.out.println(harry.getSalary());
}
具体的执行过程为:
反射库提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵java代码的程序。这项功能被大量的应用于javabean中,它是Java体系中的组件结构。
能够分析类能力的程序成为反射,反射机制的功能极其强大,他可以用来:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。