Lanson

V1

2022/07/21阅读:13主题:兰青

大数据必学Java基础(十三):基本数据类型的转换

​基本数据类型的转换

一、什么是类型转换

在赋值运算或者算数运算的时候,要求数据类型一致,就要进行类型的转换。

二、类型转换的种类

自动转换,强制转换

三、内存演示

四、代码

public class TestVar10{
        public static void main(String[] args){
                //类型转换的两种形式:
                double d = 6;//int-->double  自动类型转换
                System.out.println(d);
                int i = (int)6.5;//double--->int  强制类型转换 (强转)
                System.out.println(i);
                
                //在同一个表达式中,有多个数据类型的时候,应该如何处理:
                //多种数据类型参与运算的时候,整数类型,浮点类型,字符类型都可以参与运算,唯独布尔类型不可以参与运算。
                //double d2 = 12+1294L+8.5F+3.81+'a'+true;
                double d2 = 12+1294L+8.5F+3.81+'a';
                System.out.println(d2);
                /*
                类型级别:(从低到高的)
                byte,short,char-->int--->long--->float--->double
                级别用来做什么?当一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后
                其余的类型都转换为当前表达式中级别最高的类型进行计算。
                double d2 = 12+1294L+8.5F+3.81+'a';
                          = 12.0+1294.0+8.5+3.81+97.0
                */

               int i2 = (int)(12+1294L+8.5F+3.81+'a');
                System.out.println(i2);
                /*
                在进行运算的时候:
                左=右  : 直接赋值
                左<右  :强转
                左>右  :直接自动转换
                */

                
                //以下情况属于特殊情形:对于byte,short,char类型来说,只要在他们的表数范围中,赋值的时候就不需要进行
                //强转了直接赋值即可。
                byte b = 12;
                System.out.println(b);
                byte b2 = (byte)270;
                System.out.println(b2);
                     
                
        }
}

五、练习:final,字符常量,Scanner的使用

import java.util.Scanner;//形象理解:在java.util下将Scanner拿过来用
public class TestVar11{
        public static void main(String[] args){
                //实现功能:求圆的周长和面积
                //【1】提取变量:提取变量,就是为了一劳永逸,以后只要改变变量的值,下面只要用到这个变量的地方,取值也都发生变化了
                //【2】一个变量被final修饰,这个变量就变成了一个常量,这个常量的值就不可变了
                //     这个常量就是我们所说的 字符常量  ---》pi
                //     约定俗成的规定:字符常量的名字全部大写
                //【3】使用扫描器:Scanner的使用--》注意通过形象的理解去使用
                final double PI = 3.14;
                //拿来一个扫描器:
                Scanner sc = new Scanner(System.in);
                //给一个友好性的提示:
                System.out.print("请录入一个半径:");
                //让扫描器扫描键盘录入的int类型的数据:
                int r = sc.nextInt();
                
                //求周长:
                double c = 2*PI*r;
                System.out.println("周长为:"+c);
                
                //求面积:
                //PI = 9.29;报错:TestVar11.java:12: 错误: 无法为最终变量pi分配值
                double s = PI*r*r;
                System.out.println("面积为:"+s);
                
                
        }
}

六、练习:加深对Scanner的使用

import java.util.Scanner;
public class TestVar12{
        public static void main(String[] args){
                //键盘录入学生的信息:年龄,身高,姓名,性别:
                //键盘录入年龄:(接收int类型数据)
                Scanner sc = new Scanner(System.in);
                System.out.print("请录入年龄:");
                int age = sc.nextInt();
                //键盘录入身高:(接收double类型数据)
                System.out.print("请录入身高:");
                double height = sc.nextDouble();
                //键盘录入姓名:(接收String类型数据--》字符串)
                System.out.print("请录入姓名:");
                String name = sc.next();
                //键盘录入性别:(接受char类型)
                System.out.print("请录入性别:");
                String sexStr = sc.next();
                char sex = sexStr.charAt(0);
                //上面两句可以合为一句表示:char sex = sc.next().charAt(0);
                System.out.println("该学生的信息为:姓名是:"+name+",年龄是:"+age+",身高为:"+height+",性别是:"+sex);
        }
}

分类:

后端

标签:

Java

作者介绍

Lanson
V1

CSDN大数据领域博客专家