zoukankan      html  css  js  c++  java
  • 数据类型(基本数据类型、引用数据类型)

    1、基本数据类型(4类8种)

    整型:byte       1(字节)
    
         short      2
    
         int        4
    
         long       8
    
     
    
    浮点型:float     4
    
           double    8
    
     
    
    字符型:char       2

    布尔型:boolean 1

    2、基本数据类型的转换

    (1)基本数据类型的转换规则

    • 范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int);   (自动类型转换)
    • 范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte)。(强制类型转换)
    •  范围从小到大依次排列为:byte -> short(char) -> int -> long -> float -> double
    • byte、short、char之间不会相互转换

     (2)练习:short s1 = 1; s1 = s1 + 1与short s1 = 1; s1 += 1;

    short s1 = 1; s1 = s1 + 1不能正常运行,因为s1是short类型,与1相加的结果是int型,因为它自动进行了类型转换变为int型,要想正常运行需要进行强制类型转换s1 =(short)(s1 + 1) 

    short s1 = 1; s1 += 1可以正常運行,因为+= 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。

    (3)Byte a=1,b=1,Byte c=a+b

    低于int的3种数字类型byte、short和char进行算术运算后,结果会自动提升成int类型,也就是说a+b的结果变成了int类型。byte c=(byte)(a+b)就可以了

    3、调用数据类型对应类的静态方法

    直接调用类里面的方法,来确定每种数据类型的位数(bit)、最大值、最小值。因为是静态方法,因此,可以直接用类名进行调用。

    在API文档中的java.lang.Short可以找到Short的以下静态方法:

    public class Data {
    //静态方法可以直接用类名调用
        public static void main(String[] args) {
            System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
            System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
            System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
            System.out.println();
    
            System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
            System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
            System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
            System.out.println();
    
            System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
            System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
            System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
            System.out.println();
    
            System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
            System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
            System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
            System.out.println();
    
            System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
            System.out.println("包装类:java.lang.Float");
            System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
            System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
            System.out.println();
    
            System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
            System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
            System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
            System.out.println();
    
            System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
            System.out.println("最小值:Character.MIN_VALUE="+ (int) Character.MIN_VALUE);
            System.out.println("最大值:Character.MAX_VALUE="+ (int) Character.MAX_VALUE);
    
        }
    
    }

    4、引用数据类型(类,如:String类、接口类型、数组类型、枚举类型、注解类型)

    (1)Scanner类:

    import java.util.Scanner;
    public class ScannerDemo {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        System.out.println(a);
    }
    }

    (2)Random类:

    import java.util.Random;
    public class RandomNum {
    
        public static void main(String[] args) {
            Random ran=new Random();
            int i=ran.nextInt(100);
            double j=ran.nextDouble();
            System.out.println(i +"  "+"   "+ j);
            }
    }

     (3)字符串类型(String类):

       String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。

    public class Test {
        public void str(){
            Integer num=123;
            String strNum=String.valueOf(num);
            System.out.println("转化后的字符串为:"+strNum);
        }
        public static void main(String [] args){
            Test test=new Test();
            test.str();
        }
    }

    如上的程序为直接类名调用方法String类中的静态方法,将int型的数据转化为字符串类型的数据。

  • 相关阅读:
    mybatis中>=和<=的实现方式
    沙盒
    华硕 X201E 拆机
    延迟满足
    文本输入框自适应高度
    Qt实战之酷狗音乐
    协议栈处理中的conntrack HASH查找/Bloom过滤/CACHE查找/大包与小包/分层处理风格
    【processing】小代码3
    【processing】小代码2
    【processing】小代码
  • 原文地址:https://www.cnblogs.com/zhai1997/p/11257730.html
Copyright © 2011-2022 走看看