Light

package com.alanliu.Java8BasicCodeStuding.Java8BasciCode.Unit3.Point3;

//Compute distance light travels using long variables.
/*


Java定义了4种整数类型: byte、short、int和 long。所有这些类型都是有符号的.
正的或负的整数。Java不支持无符号的、只是正值的整数。许多其他计算机语言同时支持有符号和无符号的。




整数类型的宽度和范围:
名称    宽度   范围
long   64    -9223372 036 854 775 808~9 223 372 036 854 775 807
int    32    -2147 483648~2147 483647
short  16    -32768~32 767
byte   8     -128~127


3.3.1byte
	最小的整数类型是byte。它是有符号的8位类型,范围为-128~127。
	当操作来自网络或文件的数据流时,byte类型的变量特别有用。
	当操作与Java 的其他内置类型不直接兼容的原始二进制数据时,byte类型的变量也很有用。
	字节变量是通过关键字byte声明的。例如,下面声明了两个byte变量b和c:
	byte b, c;

3.3.2short
	short是有符号的16位类型。它的范围为-32768~32767。它可能是最不常用的Java类型。
	下面是声明short变量的一些例子:short s;H short t;

3.3.3 int
	最常用的整数类型是int。它是有符号的32位类型,范围为-2147483648~2147 483 647。
	除了其他用途外, int类型变量通常用于控制循环和索引数组。
	对于那些不需要更大范围的 int类型数值的情况,您可能会认为使用范围更小的 byte和 short类型效率更高,然而事实并非如此。
	原因是如果在表达式中使用byte和 short值,当对表达式求值时它们会被提升(promote)为int类型(类型提升将在本章后面描述)。
	所以,当需要使用整数时,int通常是最好的选择。
3.3.4 long
	long 是有符号的64位类型,对于那些int类型不足以容纳期望数值的情况,long类型是有用的。
	long类型的范围相当大,这使得当需要很大的整数时它非常有用。
	例如,下面的程序计算光在指定的天数中传播的距离(以英里为单位):



*/
class Light {
	public static void main(String args[]) {
		int lightspeed;
		long days;
		long seconds;
		long distance;

		// approximate speed of light in miles per second
		lightspeed = 186000;

		days = 1000; // specify number of days here

		seconds = days * 24 * 60 * 60; // convert to seconds

		distance = lightspeed * seconds; // compute distance

		System.out.print("In " + days);
		System.out.print(" days light will travel about ");
		System.out.println(distance + " miles.");
	}
	/**
	 *  这个程序产生的输出如下所示:
	 *  In 1000 days light will travel about 16070400000000 miles.
     *  显然,int 变量无法保存这么大的结果
	 *
	 *
	 */
}
上一篇:基本类型之4类8种 强制类型转换


下一篇:数据类型