`
strong_fee
  • 浏览: 178822 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

读《Java核心技术卷I 》Java数据类型

    博客分类:
  • Java
阅读更多

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

浮点型有两种:float4字节),double8字节)。小数默认为double类型,可以在小数后加D表示,当小数后标注F时表示float类型。所以将一个小数赋值给一个浮点变量时,无法通过编译,需要强制转化或者在小数后加F

命令System.out.println(2.0-1.0);打印出0.8999999999999999,而不是0.9,因为浮点数值是采用二进制系统表示的,而在二进制系统中无法精确表示1/10,就像十进制无法表示1/3一样。

char(16)boolean只有两个值,区别于C++,当把非truefalse的值赋值给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),其中st既可为常量也可为变量。不区分大写写比较可用函数

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;

}

特殊的breakcontinue的用法:

label:

{

     if(condition) break label;

}

//jump here when the break statement executes

label:的后面没有{}时,则跳转后它的后一个语句块,入if执行后面的语句一样。continue的用法同理。

12.  大数值

     BigIntegerBigDecimal(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从索引fromIndexcount个元素拷贝到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版 最新英文版 pdf

    《Java核心技术 卷 I+卷II 第11版 最新英文版》是Java开发者不可或缺的参考书籍,由Cay S. Horstmann和Gary Cornell两位资深Java专家撰写。这套书籍全面覆盖了Java语言的基础和高级特性,对于深入理解和掌握Java编程...

    Java核心技术(卷I)基础知识(原书第9版)

    《Java核心技术(卷I)基础知识(原书第9版)》是一部深入讲解Java编程语言基础知识的权威参考书,由Cay S. Horstmann编写。本书自首版发行以来,一直受到广泛的认可和欢迎,是Java学习者必备的经典教材之一。在第九版中...

    java核心技术卷I 源代码 (第七版)

    《Java核心技术卷I》是Java开发者的经典参考书籍,它深入浅出地讲解了Java语言的基础和核心概念。第七版的发布,不仅包含了最新的Java版本特性,还对原有的内容进行了更新和完善,使得这本书更适合现代软件开发的...

    Java 核心技术 卷Ⅰ 基础知识 第11版 英文版

    《Java核心技术 卷Ⅰ 基础知识 第11版 英文版》是关于Java编程语言的权威指南,由Cay S. Horstmann撰写。这本书是Java学习者和专业开发者的宝贵资源,提供了Java编程语言的基础知识,并涵盖了许多高级话题。 EPUB是...

    Java核心技术卷I和II(第八版)

    《Java核心技术卷I和II(第八版)》是Java编程领域的权威指南,涵盖了从基础到高级的全方位知识。这两本书是Java开发者必备的学习资料,旨在帮助读者深入理解Java语言的本质和应用。 卷I主要侧重于Java的基础知识,...

    Java核心技术 卷1 基础知识 原书第10版

    《Java核心技术 卷1 基础知识》是Java编程领域的经典著作,原书第10版更是汇集了多年来Java语言发展的精华。本书主要涵盖了Java编程的基础知识,为读者提供了全面而深入的理解Java编程环境的必备知识。 首先,Java...

    Java核心技术卷I 卷II 原书中文第8版 非扫描

    《Java核心技术卷I & 卷II 原书中文第8版》是Java开发者不可或缺的经典教程,涵盖了Java语言的各个方面,旨在帮助读者深入理解和熟练掌握Java编程技术。本套书籍分为两卷,卷I主要讲解基础知识,卷II则探讨更高级的...

    java核心技术 卷1,2源代码

    Java核心技术是Java编程领域的经典著作,分为卷I和卷II,涵盖了Java语言和平台的核心概念。这两卷书籍深入探讨了Java编程的各个方面,是初学者和经验丰富的开发者的宝贵资源。源代码通常会帮助读者更好地理解和实践...

    Java核心技术 卷I 基础知识(原书第8版)1

    《Java核心技术 卷I 基础知识》(原书第8版)是一本非常经典的书籍,它系统地介绍了Java语言的基础知识,并将其分为“基础篇”与“高级篇”两个部分进行阐述。本书旨在帮助读者掌握Java的核心概念和技术,无论你是...

    java核心技术 卷1 第十版

    《Java核心技术 卷1 第十版》是一本深入讲解Java编程基础的经典著作,它涵盖了Java语言的核心概念和技术,是初学者和有经验的开发者提升技能的重要参考资料。此PDF版本并非扫描版,这意味着文本清晰可读,且具备目录...

    Java核心技术卷I基础知识第10版高清完整版

    《Java核心技术卷I基础知识第10版》是Java开发者必读的经典教材,全面覆盖了Java编程的基础知识。这本书深入浅出地介绍了Java语言的核心概念,为读者提供了扎实的理论基础和实践经验。第10版更是对之前的版本进行了...

    JAVA核心技术-卷I 卷II-源代码

    《JAVA核心技术》是Java开发领域的经典著作,分为卷I和卷II,涵盖了Java语言的核心概念和技术。这本书深入探讨了Java编程的各种方面,是初学者和经验丰富的开发者的重要参考资料。源代码部分提供了书中示例和练习的...

    Java核心技术卷一第10版PDF

    《Java核心技术卷一第10版》是Java编程学习者不可或缺的经典教材,它全面覆盖了Java语言的基础和核心概念。本书适用于初学者以及希望巩固基础知识的开发者,旨在帮助读者掌握扎实的Java编程技能。 首先,Java是一种...

    java核心技术卷1 mobi

    《Java核心技术卷1》是Java开发者必读的经典之作,它深入浅出地讲解了Java编程的基础概念和技术。这本书主要涵盖了Java语言的核心要素,为初学者和有经验的开发者提供了全面的知识框架。 首先,我们来看看“Core ...

    Java核心技术 卷II 高级特性 原书第10版 中文版

    根据提供的文件信息,“Java核心技术 卷II 高级特性 原书第10版 中文版”,我们可以推测这本书主要涵盖了Java高级特性的相关内容。由于实际的书籍内容无法直接访问,我们将基于标题、描述和部分可见的内容来推断并...

    JAVA核心技术 高清扫描版

    《JAVA核心技术》是一本深入探讨Java编程语言的权威著作,高清扫描版则为读者提供了清晰易读的电子阅读体验。这本书全面覆盖了Java的核心概念和技术,对于初学者和经验丰富的开发者来说,都是不可或缺的参考资料。 ...

    Java核心技术卷+2+高级特性+原书第8版

    《Java核心技术卷II:高级特性(原书第8版)》是Java开发人员深入学习Java平台标准版(Java SE)的权威指南。这本书是Java编程领域的经典之作,由知名Java专家Cay S. Horstmann和Gary Cornell撰写,旨在帮助读者掌握...

    java核心技术卷

    本资源为“java核心技术卷(chm)”版本,是Prentice Hall PTR出版的第七版《Core Java 2 Volume I》的电子版,包含丰富的编程知识和实践案例。 在Java编程中,核心知识点涵盖了以下几个方面: 1. **Java基础**:...

    《Java核心技术 卷1 基础知识 原书第8版》 PDF+高清+影印+全书签.rar

    《Java核心技术 卷1 基础知识 原书第8版》是Java开发者必读的经典之作,全面深入地讲解了Java编程的基础概念和技术。这本书涵盖了从Java语言的语法到面向对象编程的核心原理,再到类库的使用,是学习Java开发的权威...

Global site tag (gtag.js) - Google Analytics