1. Java整形
类型
|
存储需求
|
取值范围
|
int
|
4字节
|
-2 147 483 648 ~ 2 147 483 647
|
short
|
2字节
|
-32 768 ~ 32767
|
long
|
8字节
|
...
|
byte
|
1字节
|
-128~127
|
长整形有一个后缀L,十六进制有一个前缀0x,八进制有有一个前缀0。
浮点型有两种:float(4字节),double(8字节)。小数默认为double类型,可以在小数后加D表示,当小数后标注F时表示float类型。所以将一个小数赋值给一个浮点变量时,无法通过编译,需要强制转化或者在小数后加F。
命令System.out.println(2.0-1.0);打印出0.8999999999999999,而不是0.9,因为浮点数值是采用二进制系统表示的,而在二进制系统中无法精确表示1/10,就像十进制无法表示1/3一样。
char(16位),boolean只有两个值,区别于C++,当把非true和false的值赋值给boolean变量时,编译通不过。
2. 特殊字符的转义序列符
转义序列
|
名称
|
Unicode值
|
\b
|
退格
|
\u0008
|
\t
|
制表
|
\u0009
|
\n
|
换行
|
\u000a
|
\r
|
回车
|
\u000d
|
\”
|
双引号
|
\u0022
|
\’
|
单引号
|
\u0027
|
\\
|
反斜杠
|
\u005c
|
3. 判定Unicode字符是否属于字母的方法可以使用Character中的JavaIdentifierStart和 JavaIdentifierPart方法。
4. 常量用final修饰;类常量用static final设置,可以在一个类中的多个方法中使用;如果类常量被设置为public,则其他类的方法也可以使用这个常量。类常量定义于main方法的外部,使用方法如:
public class Constants2{
public static void main(String[] args){
double paperWidth=8.5;
double paperHeight=11;
System.out.println(“Paper size in centimeters:”+
paperWidth*CM_PER_INCH+”by”+paerHeight*CN_PER_INCH);
}
public static final double CM_PER_INCH=2.54;
}
5. 三元运算符的表示方法:x<y?x:y
6. 从JDK5.0开始,不必再数学方法名前添加前缀“Math.”,而只需在头文件的顶部添加下列代码就可以了:import static java.long.Math.(静态导入)
7. 数值之间的合法转换
byteàshortàintàlongàfloatàdouble
charàint
强制类型转化的语法格式是在圆括弧中给中想要转化的目的类型,随后紧跟待转化的变量名。如,
double x=9.997
int nx=(int)x;
8. 运算符优先级(从上到下递减,同行相同)
[].()(方法调用)
|
! ++ -- +/-(一元运算) ()强制类型转换 new
|
* / %
|
+ -
|
<< >> >>>
|
< <= > >= instanceof
|
== !=
|
&
|
^
|
|
|
&&
|
||
|
?:
|
= += -= *= /= %= |= ^= <<= >>= >>>=
|
9. String
(1) 构造方法
1) 构造空字符串String();
2) 利用字节数组构造String(byte[] bytes);
3) 利用字符数组构造 String(byte[] chars);
(2) 比较
compareTo(String anotherString):大于参数字符串则返回一个大于0的值,=则返回0,小于则返回一个小于0的值
compareToIgnoreCase(String str);不考虑大小比较两个字符串
equals(Object anObject):比较字符串与制定的对象
equalsIgnoreCase(String anotherString):不考虑大小比较
(3) 索引
indexOf(int ch):返回制定字符在此字符串第一次出现处的索引
indexOf(int ch, int fromIndex);
lastIndexOf返回最后一次出现的指定字符在此字符串中的索引
indexOf(String str):返回第一次出现的制定字符串中的索引
indexOf(String str, int fromIndex);
(4) 返回长度
length();
(5) 替换
String repalce(char oldChar, char newChar) 用newChar替换此字符串中出现的所有oldChar
Sting replaceAll(String regex, String replacement) 使用给定的replacement字符串替换此字符串与正则表达式匹配的每个子字符串
String replaceFirst(String regex,Stirng replacement)
String[] split(String regex) 根据正则表达式的匹配来拆分此字符串
String[] split(String regex, int limit) 其中,limit参数控制模式应用的次数,因此影响结果数组的长度。如果limit>0,则模式将被应用n-1次,数组的长度将不会大于n,数组的最后项将包含超出最后匹配的定界符的所有输入。如果limit为非正,模式将被应用尽可能多的次数,而且数组可以是任意长度。
(6) 匹配
endsWith(String suffic):测试此字符串是否以指定的后缀结束
startsWith(String prefix);测试此字符串是否以之地鞥的前缀开始
startsWith(String prefix, int toffset) 从指定索引开始,...
(7) 子串
subString(int beginIndex, int endIndex) 返回所以区间[beginIndex, endIndex)的子串
subString(int beginIndex) 返回beginIndex到末尾的子串
(8) 编辑
char[] toCharArray()将此字符串转化为一个新的字符数组。
String toUpperCase()
String toLowerCase()
trim() 返回字符串的副本,忽略前导空白和尾部空白
(9) 值传递
String valueOf(char c);
String valueOf(char[] data, int offset, int count);其中offset为子数组的第一个字符的索引,count参数为Stirng值的长度。
(10) 检测字符串是否相等
s.equal(t),其中s和t既可为常量也可为变量。不区分大写写比较可用函数
s.equalIgnoreCase(t).
==运算符用来检测的是否放在同一位置,
字符串常量是共享的,即所有的字符串常量放在同一个存储池中。
10. Swing 对话框的使用(java.swing.*)
String input=JOptionPane.showInputDialog(promptString);
返回值是用户输入的字符串,promptString为提示信息。如果需要返回的数值或Double,可以通过Integer.parseInt(input);或Double.parseDouble(input).
11. 在c++中,可以在嵌套的块中重定义一个变量,在内层定义的变量会覆盖在外层定义的变量。在Java中不允许这样的重定义。
在for循环的初始段定义的变量的作用范围是整个for循环。
switch的语法格式:
switch(choice){
case 1:
…
break;
default:
…
break;
}
特殊的break与continue的用法:
label:
{
if(condition) break label;
}
//jump here when the break statement executes
当label:的后面没有{}时,则跳转后它的后一个语句块,入if执行后面的语句一样。continue的用法同理。
12. 大数值
BigInteger和BigDecimal(java.math)可处理任意长度的数值,其中BigInteger实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
(1) 将普通的数值转化为大数值,如BigInteger a=BigInteger.valueOf(100);
(2) 不能使用普通的运算符号,替代为:
add,subtract,mutiply,divide,mod
(3) 比较:compareTo,相等返回0,小于返回负数,大于返回整数。
13. 数组
(1) 申明数组的两种形式:
int[] a=new int[100]; 或者 int a[]=new int[100];
获取数组中的元素个数:a.length
for each循环:
语法: for(int element:a){
}
其中,a是数组或者是实现了iterator的类如(ArrayList)
(2) java中的数组相当于C++中的数组指针,不过只能做[]运算,不能对数组变量作+运算来取地址。
(java.lang.)System.arrayCopy(from,fromIndex,to,toIndex,count);方法实现将一个数组from从索引fromIndex的count个元素拷贝到to的以索引toIndex为下表的后面。
(3) Arrays.sort(a);//实现数组的从小到大排序。
(java.util.)Arrays提供的其他常用静态方法:
1) static int binarySerch(type[]a,type v)
erayutil.();x.y();
使用二分查找自a中找v。
2) static void fill(type[] a, type v);
将数组的所有元素设置为v。
3) static boolean equals(type[] a, type[] b);
如果两个数组的长度相同,并且下表相同的元素都对应相等,则返回true。
(4) 数组初始化以及匿名数组
初始化:int smallPrimers={1,2,3};
申明匿名数组:new int[]{1,2,3}
可以将一个匿名数组赋值给一个数组变量:int smallPrimer=new int[]{1,2,3}
14. (1) 二维数组的申明:
double[][] balances;
balances=new double[NYEARS][NRATES];
(2) 二维数组的初始化:
int[][] magicSqure=
{
{16,3,2},
{4,15,4}
};
(3) 由于可以单独地存取数组的某一行,所以可以对两行进行交换或其他操作。
(4) 当需要创建不规则的数组时,可以单独分配各行的空间。如:
int[][] olds=new int[MMAX+1][];
for(int n=0;n<=MMAX;n++){
odds[n]=new int[n+1];
}
分享到:
相关推荐
《Java核心技术 卷 I+卷II 第11版 最新英文版》是Java开发者不可或缺的参考书籍,由Cay S. Horstmann和Gary Cornell两位资深Java专家撰写。这套书籍全面覆盖了Java语言的基础和高级特性,对于深入理解和掌握Java编程...
《Java核心技术(卷I)基础知识(原书第9版)》是一部深入讲解Java编程语言基础知识的权威参考书,由Cay S. Horstmann编写。本书自首版发行以来,一直受到广泛的认可和欢迎,是Java学习者必备的经典教材之一。在第九版中...
《Java核心技术卷I》是Java开发者的经典参考书籍,它深入浅出地讲解了Java语言的基础和核心概念。第七版的发布,不仅包含了最新的Java版本特性,还对原有的内容进行了更新和完善,使得这本书更适合现代软件开发的...
《Java核心技术 卷Ⅰ 基础知识 第11版 英文版》是关于Java编程语言的权威指南,由Cay S. Horstmann撰写。这本书是Java学习者和专业开发者的宝贵资源,提供了Java编程语言的基础知识,并涵盖了许多高级话题。 EPUB是...
《Java核心技术卷I和II(第八版)》是Java编程领域的权威指南,涵盖了从基础到高级的全方位知识。这两本书是Java开发者必备的学习资料,旨在帮助读者深入理解Java语言的本质和应用。 卷I主要侧重于Java的基础知识,...
《Java核心技术 卷1 基础知识》是Java编程领域的经典著作,原书第10版更是汇集了多年来Java语言发展的精华。本书主要涵盖了Java编程的基础知识,为读者提供了全面而深入的理解Java编程环境的必备知识。 首先,Java...
根据提供的文件信息,“Java核心技术 卷II 高级特性 原书第10版 中文版”,我们可以推测这本书主要涵盖了Java高级特性的相关内容。由于实际的书籍内容无法直接访问,我们将基于标题、描述和部分可见的内容来推断并...
《Java核心技术卷I & 卷II 原书中文第8版》是Java开发者不可或缺的经典教程,涵盖了Java语言的各个方面,旨在帮助读者深入理解和熟练掌握Java编程技术。本套书籍分为两卷,卷I主要讲解基础知识,卷II则探讨更高级的...
《Java核心技术卷一第10版》是Java编程学习者不可或缺的经典教材,它全面覆盖了Java语言的基础和核心概念。本书适用于初学者以及希望巩固基础知识的开发者,旨在帮助读者掌握扎实的Java编程技能。 首先,Java是一种...
Java核心技术是Java编程领域的经典著作,分为卷I和卷II,涵盖了Java语言和平台的核心概念。这两卷书籍深入探讨了Java编程的各个方面,是初学者和经验丰富的开发者的宝贵资源。源代码通常会帮助读者更好地理解和实践...
《Java核心技术 卷I 基础知识》(原书第8版)是一本非常经典的书籍,它系统地介绍了Java语言的基础知识,并将其分为“基础篇”与“高级篇”两个部分进行阐述。本书旨在帮助读者掌握Java的核心概念和技术,无论你是...
《Java核心技术 卷1 第十版》是一本深入讲解Java编程基础的经典著作,它涵盖了Java语言的核心概念和技术,是初学者和有经验的开发者提升技能的重要参考资料。此PDF版本并非扫描版,这意味着文本清晰可读,且具备目录...
《Java核心技术卷I基础知识第10版》是Java开发者必读的经典教材,全面覆盖了Java编程的基础知识。这本书深入浅出地介绍了Java语言的核心概念,为读者提供了扎实的理论基础和实践经验。第10版更是对之前的版本进行了...
《JAVA核心技术》是Java开发领域的经典著作,分为卷I和卷II,涵盖了Java语言的核心概念和技术。这本书深入探讨了Java编程的各种方面,是初学者和经验丰富的开发者的重要参考资料。源代码部分提供了书中示例和练习的...
《JAVA核心技术》是一本深入探讨Java编程语言的权威著作,高清扫描版则为读者提供了清晰易读的电子阅读体验。这本书全面覆盖了Java的核心概念和技术,对于初学者和经验丰富的开发者来说,都是不可或缺的参考资料。 ...
《Java核心技术卷1》是Java开发者必读的经典之作,它深入浅出地讲解了Java编程的基础概念和技术。这本书主要涵盖了Java语言的核心要素,为初学者和有经验的开发者提供了全面的知识框架。 首先,我们来看看“Core ...
《Java核心技术卷II:高级特性(原书第8版)》是Java开发人员深入学习Java平台标准版(Java SE)的权威指南。这本书是Java编程领域的经典之作,由知名Java专家Cay S. Horstmann和Gary Cornell撰写,旨在帮助读者掌握...
本资源为“java核心技术卷(chm)”版本,是Prentice Hall PTR出版的第七版《Core Java 2 Volume I》的电子版,包含丰富的编程知识和实践案例。 在Java编程中,核心知识点涵盖了以下几个方面: 1. **Java基础**:...
《Java核心技术 卷1 基础知识 原书第8版》是Java开发者必读的经典之作,全面深入地讲解了Java编程的基础概念和技术。这本书涵盖了从Java语言的语法到面向对象编程的核心原理,再到类库的使用,是学习Java开发的权威...