CoreJavaBook(I 1 2 3章)

书中的实例代码下载地址: 

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() 方法将接收一个字符串数组,也就是命令行参数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值