Javase--数据类型

package s1;/*
 *@描述:
 *@author:Wugq
 *@date:2023/2/1 19:29
 */

//====================数据类型=================

import java.util.Random;
import java.util.Scanner;

/**
 * 1.基本数据类型(8个):
 * (1)整型:
 * byte 1,short 2,int 4(字面量默认),long 8
 * (2)浮点型:
 * float 4,double 8(字面量默认)
 * (3)特殊:
 * char 2,boolean
 *
 * 2,引用数据类型:
 *String Scanner Random 数组 集合
 * 特点:需要实例化
 * Random r=new Random();
 */

public class DataType {
    //1,基本数据类型
    /**
     * 转化:
     * (1)同类型转化(主要时整型和浮点):
     * 小转大---自动转化;
     * 大转小---强制转化,并且可能会损失数据。
     * (2)不同类转化:
     * 整数转浮点,自动转化;
     * 浮点转整数,强制转化,并且会损失精度。
     */
    public static void main1(String[] args) {
        //(1)同类转化
        int i=1000;
        long l=i;
        long k=1000000000l;
        short s= 1000;//理论上需要添加强转,但是1000未超过short的取值范围,所以可以省略。
        s= (short) 1000000000l;
        float f= (float) 9.99;//同类型大转小

        //(2)不同类转化
        double d=9.999;
        d=k;//整数转浮点
        l= (long) d;//浮点转整数
    }

    //2,引用数据类型
    public static void main(String[] args) {
        Random r=new Random();
        Scanner sc=new Scanner(System.in);
        String s=new String("hahahaha"); //可以简化成 String s= "hahahaha";
        String s1="h";
        String s2=s1+"p";
        /**
         * 出现了三个字符串,即“h”,“p","hp",字符串的定义是不可改变的序列
         */
        System.out.println(s1);
        /**
         * String类型被final修饰,意味着String不能被继承,类中的方法不能改写,同时定义的值是常量。
         * 如果String可以被继承,那么就可以人为的修改类中的方法,而String是java最基本的引用数据类型,
         * 一旦方法被重写,那么就可以控制JDK的核心代码,JDK的安全性无法保证,相当于在JDK中植入了一个病毒。
         * 牺牲了性能,解决了安全性问题。
         */

    }
}

猜你喜欢

转载自blog.csdn.net/qq_46693336/article/details/128840737