书中的实例代码下载地址:
http://horstmann.com/corejava.html
第三章 Java基本的程序设计结构
3.4.2常量
Java中利用关键字final声明常量,final关键字表示这个变量只能被赋值一次。一旦被赋值后就不能再更改了。习惯上,常量名使用大写。
类常量,可以使用关键字static final 设置,注意,类常量的定义位于main方法的外部。在同一个类的其他方法也可以使用它。
如果一个常量被声明为public,那么其他类的方法也可以使用这个常量。
const是Java保留的关键字,但是目前没有使用。在Java中,必须使用final定义常量。
public class Constants {
public static void main(String[] args){
final double CM_PER_INCH = 2.54;
double paperWidth =8.5;
double paperHigh =11;
System.out.println("Paper size in centimeters:" + paperHigh * CM_PER_INCH + "by" + paperWidth*CM_PER_INCH );
}
}
public class Constant2 {
public static void main(String[] args){
double paperWidth =8.5;
double paperHigh =11;
System.out.println("Paper size in centimeters:" + paperHigh * CM_PER_INCH + "by" + paperWidth*CM_PER_INCH );
}
public static final double CM_PER_INCH = 2.54;
}
3.5.2 3.5.3 关系运算符和位运算符
关系运算符 &&:逻辑与;||:逻辑或;!:逻辑非。
位运算符:&与 |或 ^异或 ~非
&&和|| 按照“短路”方式求值,如果第一个操作数能够确定表达式的值,那么第二个操作数就不必计算了。
&和| 和 &&和|| 非常相似,只是不按“短路”方式计算,即在计算机结果之前,一定要计算两个操作数的值。
3.5.6 强制类型转换
public class Cast {
public static void main(String[] args){
double x=9.997;
int nx = (int)x;
int rx = (int)Math.round(x);
System.out.println(nx);
System.out.println(rx);
}
}
变量nx的值为9,强制类型转换通过截断小数部分将浮点值转换为整型。
如果想对浮点数进行舍入运算,以便得到最接近的整数,那就需要用Math.round方法。现在变量rx的值为10.
当调用round的时候,任然要用强制类型转换,因为,round方法返回的结果是long型,由于存在信息丢失的可能性,所以只有使用显示的强制类型转换才能够将long类型转型成为int。
3.5.7 运算符级别
运算符 | 结合性 |
[ ] . () (方法调用) | |
! ~ ++ - - + (一元运算) - (一元运算) () (强制类型转换) new | 从右向左 |
* / % | |
+ - | |
<< >> >>> | |
< <= > >= instanceof | |
== != | |
& | |
^ | |
| | |
&& | |
|| | |
?: | 从右向左 |
= += -= *= /= %= &= |= ^= <<= >>= >>>= | 从右向左 |
3.6 字符串
3.6.3 不可变字符串
由于不能提供修改Java字符串的字符,所以在Java文档中将String类对象称为不可变字符串。
3.6.4 检查字符串是否相等
可以使用equals方法检测两个字符串是否相等:
s.equals(t);
s和t可以是字符串常量也可以是字符串变量 如:"Hello".equals(greeting)
要检测两个字符串是否相等,并且不区分大小写,可以使用equalsIgnoreCase方法: "Hello".equalsIgnoreCase(greeting)
一定不能用==,这个运算符只能够确定这两个字符串是否放置在同一个位置上。当然,如果字符串放置在同一个位置上,它们必然相等。但是,完全有可能将内容相同的多个字符串的拷贝放置在不同的位置上。
3.10.4 命令行参数
每一个Java应用程序都有一个带String args[] 参数的方法,这个参数表明main() 方法将接收一个字符串数组,也就是命令行参数。