JAVA自虐之路(三)-数据类型的转换及递归

一、数据类型的转换

整型、字符型、浮点型的数据在混合运算中能够互相转换,转换需要遵守以下原则:
1、容量小的类型自动转换为容量大的数据类型;
byte、short、char < int < long < float < double
byte、short、char之间不会相互转换,他们计算时会转换为int型
2、容量大的类型转换为容量小的类型时,要加上强制转换符,但会造成精度降低或溢出,需格外注意。
3、多种类型运算时,系统会自动将所有数据转换成容量大的数据
4、实数常量默认为double、整数常量默认为int
boolean型不可以转换为其他类型!

public class Testvar{
    public static void main(String xxx[]) {
        int i1 = 123;
        int i2 = 456;
        double d1 = (i1+i2)*0.1;    //系统将转换为double型
        float f1 = (float)d1;   //由double型转为float,需要加强制转换符
        byte b1 = 1 ;
        byte b2 = 2 ;
        byte b3 = (byte)(b1 + b2) ; //系统将转换为int型运算,需要加强制转换符
        double d2 = 1e200;
        float f2 = (float)d2;   //float容量小,会产生溢出!
        float f3 = 1.23f;   //必须加f,不然就会判断为double型
        long l1 = 123;
        long l2 = 80000000000000000L;   //必须加L,否则会默认为int型
        float f = l1 + l2 + f3 ;    //系统将转换为float型计算
        long l = (long)f;   //强制转换会舍去小数部分,因为long是整型。
        }
}

练习:
这里写图片描述
答案:
这里写图片描述

二、递归

接触的第一个算法就让我很难理解!!
http://www.rexuexia.com/article-21416-1.html
这个让我茅塞顿开!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值