Ⅰ、如果你看懂了我写的文章,并实践成功,麻烦评论一个笑脸,如果实践未成功,麻烦评论其他表情,或者问题出处,以便我改正,谢谢各位大佬和朋友!
Ⅱ、您的评论是我继续写下去的动力!!!

Ⅲ、我所使用的工具为IDEA,程序都是在本工具上实践的,其他工具也可以(例:eclipse、myeclipse等);
Ⅳ、博客中所有的程序都已通过本人自己的实践,可以直接摘下来进行运行;

Ⅴ、类型转换的实例演示:

1、自动类型转换

(1)、通过编辑器输出展示的代码如下:

//自动类型转换的使用:
public class helo {
    public static void main(String[] args) {
        double d1=1F;
        double d2=1L;
        short s1=1;
        short s2=10000;
        System.out.println(d1);
        System.out.println(d2);
        System.out.println(s1);
        System.out.println(s2);
           }
}

(2)、展示的结果如下:

sql server强转排序集_sql server强转排序集


(3)、分析如下:

在Java语言中,Java编译器会自动将低精度的数字转化为高精度的;

数值精度顺序为:

double > float > long > int > short > byte;

①、在本例中short如果赋值过大就会报错;

short s2=10000000;

结果为:

sql server强转排序集_System_02


由于10000000已经超过了short的定义的范围,因此在自动类型转换的情况下,是不能发生的;

2、强制类型转化

(1)、通过编辑器输出展示的代码如下:

//强制类型转换的使用:
public class helo {
    public static void main(String[] args) {
        short s1=1;
        int n1=s1;
        //int到short,精度下降,不能直接转化,因此会报错;
        //short s2=n1;
        short s3=(short)n1;
        System.out.println(s1);
        System.out.println(n1);
        System.out.println(s3);

        int n2=100000;
        short s4=(short)n2;
        System.out.println(n2);
        //s4结果是 -31072,强制转换会造成精度丢失,结果不准确;
        System.out.println(s4);
           }
}

(2)、展示的结果如下:

sql server强转排序集_编程语言_03


(3)、分析如下:

强制类型转换也是运算符:小括号括起来的目标类型放在被转换的值前面;

①、虽然值:1都符合int型、short型的范围,但不经过强制类型转换,其结果也是错的;

short s1=1;
        int n1=s1;
        //int到short,精度下降,不能直接转化,因此会报错;
        short s2=n1;

结果为:

sql server强转排序集_java_04

强制类型转化下:

short s1=1;
        int n1=s1;
        short s3=(short)n1;

结果为:

sql server强转排序集_编程语言_05


②、在强制类型转换的过程中,会出现丢失精度的问题;

int n2=100000;
        short s4=(short)n2;
        System.out.println(n2);
        //s4结果是 -31072,强制转换会造成精度丢失,结果不准确;
        System.out.println(s4);

结果为:

sql server强转排序集_类型转换_06

从中可以看出:n2的值为100000,而s4的值为-31072,所以其精度不准确,为什么是负值的原因:应该是在转化为s4合适的范围时,补码的转换,使得其为负值;