Java教程

数据类型及数据类型扩展

本文主要是介绍数据类型及数据类型扩展,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数据类型

强类型语言

  1. 要求变量的使用要严格符合规定。所有变量都必须先定义后才能使用。

弱类型语言

java的数据类型分为两大类

  1. 基本类型(primitive type)

八大基本数据类型

整数:

int
byte
short
long   //long类型要在数字后家一个L

浮点数:

float   //float类型要在数字后加F以区分类型
double

字符:

char   //char只能定义一个字符切要用单引号
//字符串 String不是关键词,是个类

布尔值:只占一位其值只有true和false两个

boolean flag =true
  //boolean flag=fales;  
  1. 引用类型(reference type)

数据类型扩展

public class Demo03 {
    public static void main(String[] args) {
        //整数扩展   进制 二进制0b 八进制0  十进制  十六进制0x

        int i = 10;
        int i2 = 010;  //八进制0
        int i3 = 0b10;  //二进制0b
        int i4 = 0x10;  //十六进制0x    0~9 A~F(F就相当于是15)

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);
        System.out.println("=================================================================================");

        //=================================================================================
        //浮点数扩展  银行问题怎么表示? 钱
        //float
        /*可以表现的字长是有限的,是离散的,
        浮点数都会存在一个叫做舍入误差,结果不能准确表示只能是一个大约数(接近但不等于)
         */
        //double
        //最好完全避免使用浮点数进行比较
        float f = 0.1f;  //0.1
        double b = 1.0 / 10;  //0.1
        System.out.println(f);
        System.out.println(b);
        System.out.println(f == b);  //false


        float d1 = 231313131313131f;
        float d2 = d1 + 1;
        System.out.println(d1 == d2);  //true
        System.out.println(d1);
        System.out.println(d2);

        //BigDecimal (大数类型) 数学工具类
        System.out.println("=================================================================================");

        //=================================================================================
        //字符拓展
        char c1 = 'a';
        char c2 = '中';

        System.out.println(c1);

        System.out.println((int) c1);//强制转换

        System.out.println(c2);

        System.out.println((int) c2);//强制转换

        //强制转换可以把字符转换为数字
        //所有的字符本质还是数字
        /*编码问题:
        Unicode编码可以处理各种语言文字的问题,它占两个字节,最多可以表示65536个字符
        0-65536
       Unicode 表(97=a 65=A) 区间范围U0000~UFFFF
         */
        char c3 = '\u0061';
        System.out.println(c3);

        //转译字符
        // \t 制表符(table)
        // \n 换行

        System.out.println("Hello\tworld");
        System.out.println("Hello\nworld");

        System.out.println("=================================================================================");
        String sa = new String("HelloWorld");
        String sb = new String("HelloWorld");
        System.out.println(sa == sb);
        String sc = "HelloWorld";
        String sd = "HelloWorld";
        System.out.println(sc == sd);
        //对象  从内存分析

        //布尔值扩展
        boolean flag = true;
        if (flag == true) {}  //新手
        if (flag) {}        //老油条
        //上面的两行代码是一样的,if默认的就是()里的是否等于真(true)

        //less is more! 代码要精简易读
    }
}

这篇关于数据类型及数据类型扩展的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!