Java中的基本类型

在Java中,一共有8种类型,4种基本类型,2种浮点类型,1种字符类型char,1种用于表示真值的boolean类型。在c和c++中,int和long类型的大小与目标平台相关。

Java中的字符串

从概念上讲,Java字符串就是Unicode字符序列。String类的substring方法可以从一个较大的字符串提取出一个子串。当将一个字符串与一个非字符串的值进行拼接时,后者被转换为字符串。如果需要把多个字符串放在一起,用一个界定符分隔,可以使用静态join方法。

由于不能修改Java字符串中的字符,所以在Java文档中将String类对象称为不可变字符串。

Java字符串大致类似于char*指针。

可以使用equals方法检测两个字符串是否相等。要想检测两个字符串是否相等,而不区分大小,可以使用equalsIgnoreCase方法。

一定不要使用==运算符检测两个字符串是否相等,这个运算符只能确定两个字符串是否放置在同一个位置上。

构建字符串

有些时候,需要由较短的字符串构建字符串,例如,按键或来自文件中的单词。采用字符串连接的方式达到此目的效率比较低。每次连接字符串,都会构建一个新的String对象,既耗时,又浪费空间。使用StringBuilder类就可以避免这个问题的发生。

Java中的数组

创建数组:int[] a=new int[100];可以使用下面两种形式声明数组:int[] a;或int a[];创建一个数字数组时,所有元素都初始化为0。boolean数组的元素会初始化为false。对象数组的元素则初始化为一个特殊值null,这表示这些元素还未存放任何对象。

Java中的修饰符

为了实现一些其他的功能,Java 也提供了许多非访问修饰符。static 修饰符,用来修饰类方法和类变量。final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。abstract 修饰符,用来创建抽象类和抽象方法。synchronized 和 volatile 修饰符,主要用于线程的编程。




其他

  • 不能用人们熟悉的算术运算符(如:+和*)处理大数值。而需要大数值类中的add和multiply方法。Java语言的设计者确实为字符串的连接重载了+运算符,但没有重载其他的运算符,也没有给Java程序员在自己的类中重载运算符的机会。
  • for each循环
    for(variale:collection)statment可以用来依次处理数组中的每个元素(其他类型的元素集合亦可)而不必为指定下标值而分心。
  • 如果希望将一个数组的所有值拷贝到一个新的数值中去,就要使用Arrays类的copyOf方法。Java数组与C++数组在堆栈上有很大不同,但基本商与分配在堆上的数组指针一样。要想对数值型数组进行排序,可以使用Arrays的sort方法。
  • 如果在数值计算中不允许有任何舍入误差,就应该使用BigDecimal类。
  • char类型的字面量值要用单括号括起来。
  • 在Java中,利用关键字final指示常量。习惯上,常量名使用全大写。在Java中,经常希望某个常量可以在一个类的多个方法中使用,通常将这些常量称为类常量。可以使用关键字static final设置一个类常量。
  • Java支持三元操作符?:,这个操作符有时很有用。如果条件为true,下面的表达式condition?expression1:expressioon2就为第一个表达式的值,否则计算为第二个表达式的值。
  • 枚举类型
    枚举类型包括有限个命名的值。例如,
    enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE};