java学习之类型转换与越界

编写代码如下:

package 第1章.java概要;

public class _3_类型转换与越界 {
	//类型转换
	public static void testConversion(){
		int i = Integer.MAX_VALUE;
		System.out.println("max int =" + i);
		short j = (short)i;
		System.out.println("max int to short =" + j);
		long k = i;
		System.out.println("max int to long =" + k);
		float x = i;
		System.out.println("max int to float =" + x);
		double y = i;
		System.out.println("max int to double =" + y);
	}
	//越界
	public static void testOutRange(){
		int i = Integer.MAX_VALUE;
		System.out.println("max int =" + i);
		i = i + 1;
		System.out.println("max int + 1 =" + i);

		int j = Integer.MIN_VALUE;
		System.out.println("min int =" + j);
		j = j - 1;
		System.out.println("max int - 1 =" + j);
		
		double x = Double.MAX_VALUE;
		System.out.println("max double =" + x);
		x = x + Double.MAX_VALUE;
		System.out.println("max double + max double =" + x);

		double y = -Double.MAX_VALUE;
		System.out.println("max double =" + y);
		y = y - Double.MAX_VALUE;
		System.out.println("- max double - max double =" + y);
		
		double z = Double.MIN_VALUE;
		System.out.println("min double =" + z);
		z = z + Double.MIN_VALUE;
		System.out.println("min double + min double =" + z);
	}
	//运算中的转换与赋值
	public static void testOperation(){
		int i = 6,j = 5;
		int k = i/j;
		System.out.println("int i/j =" + k);
		double x = i/j;
		System.out.println("double i/j =" + x);
		double y = (double)i/j;
		System.out.println("double (double)i/j =" + y);	
		double z = i*1.0/j;
		System.out.println("double i*1.0/j =" + z);
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("类型转换...");	
		testConversion();
		System.out.println("越界...");	
		testOutRange();
		System.out.println("运算中的转换与赋值...");	
		testOperation();
	}

}

运行结果如下:

类型转换...
max int =2147483647
max int to short =-1
max int to long =2147483647
max int to float =2.14748365E9
max int to double =2.147483647E9
越界...
max int =2147483647
max int + 1 =-2147483648
min int =-2147483648
max int - 1 =2147483647
max double =1.7976931348623157E308
max double + max double =Infinity
max double =-1.7976931348623157E308
- max double - max double =-Infinity
min double =4.9E-324
min double + min double =1.0E-323
运算中的转换与赋值...
int i/j =1
double i/j =1.0
double (double)i/j =1.2
double i*1.0/j =1.2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值