JAVA基础(数据类型)

1,为什么有数据类型

  • Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间

 

 

2,Java中数据类型的分类

  • 基本数据类型

  • 引用数据类型

 

3,基本数据类型分类(4类8种)

【1】整数型

  • byte 占一个字节  -128到127

  • short 占两个字  -2^15~2^15-1

  • int 占四个字节 -2^31~2^31-1

  • long 占八个字节 -2^63~2^63-1

 

【2】浮点型

  • float 占两个字节 -3.403E38~3.403E38

  • double 占四个字节-1.798E308~1.798E308

 

【3】字符型

  • char 占两个字节 0~65535

 

【4】布尔型

  • boolean   :boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小      

 

class Demo1_DataType {                            //DataType数据类型            

    public static void main(String[] args) {

        //整数类型

        byte b = 10;            //占一个字节,-128 到 127

        short s = 20;            //占两个字节

        int i = 30;                //占四个字节            整数默认的数据类型就是int类型

        long x = 8888888888L;    //占八个字节    如果long类型后面加L进行标识最好加大L,因为小l太像一了

        System.out.println(b);

        System.out.println(s);

        System.out.println(i);

        System.out.println(x);





        //System.out.println(12345 + 54321l);





        //浮点类型

        float f = 12.3F;        //占四个字节

        double d = 33.4;        //占八个字节            小数默认的数据类型是double,double类型后面也可以用D或d标识,但是一般不加

        System.out.println(f);

        System.out.println(d);





        //字符类型

        char c = 'a';            //占两个字节

        System.out.println(c);





        //布尔类型

        boolean b1 = true;

        boolean b2 = false;

        System.out.println(b1);

        System.out.println(b2);

    }

}

 

 

 

 

4,long与float的取值范围谁大谁小

【1】进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的

  • byte,short,char -- int -- long -- float -- double

    

    * long: 8个字节

    * float:4个字节

    * IEEE754

    * 4个字节是32个二进制位

    * 1位是符号位

    * 8位是指数位

    * 00000000   11111111

    * 0到255

    * 1到254

    * -126到127

    * 23位是尾数位

    * 每个指数位减去127

    

【2】结论:

  • 它们底层的存储结构不同。

  • float表示的数据范围比long的范围要大

  long:2^63-1

  float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

 

5,字符和字符串参与运算

【1】ASCII码表的概述

【2】//98,因为有ASCII码表,a字符对应的是int类型的97

    //System.out.println('a' + 1);            

    //System.out.println((char)('a' + 1));

通过看结果知道'a'的值是多少,由此引出ASCII码表

记住三个值:

        '0'  48

        'A'  65

        'a'  97

 

【3】 //任何数据类型用+与字符串相连接都会产生新的字符串

    System.out.println("hello"+'a'+1);       

    System.out.println('a'+1+"hello");

 

【4】+在有字符串参与中被称为字符串连接符

    System.out.println(" 5 + 5 = " + (5 + 5));

 

5,char数据类型

  • char c = 97;    0到65535

  • Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

   可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节 所以,Java中的字符可以存储一个中文汉字

class Demo5_Char {

    public static void main(String[] args) {

        char c = 'a';

        System.out.println(c);





        byte b = 100;

        char c1 = 97;        //0 - 65535

        System.out.println(c1);





        char c2 = 3;

        char c3 = 4;

        char c4 = 5;

        char c5 = 6;





        System.out.println(c2);

        System.out.println(c3);

        System.out.println(c4);

        System.out.println(c5);





        //char类型是否可以存储中文

        char c6 = '中';

        System.out.println(c6);

    }

}



 

Stkcd [股票代码] ShortName [股票简称] Accper [统计截止日期] Typrep [报表类型编码] Indcd [行业代码] Indnme [行业名称] Source [公告来源] F060101B [净利润现金净含量] F060101C [净利润现金净含量TTM] F060201B [营业收入现金含量] F060201C [营业收入现金含量TTM] F060301B [营业收入现金净含量] F060301C [营业收入现金净含量TTM] F060401B [营业利润现金净含量] F060401C [营业利润现金净含量TTM] F060901B [筹资活动债权人现金净流量] F060901C [筹资活动债权人现金净流量TTM] F061001B [筹资活动股东现金净流量] F061001C [筹资活动股东现金净流量TTM] F061201B [折旧摊销] F061201C [折旧摊销TTM] F061301B [公司现金流1] F061302B [公司现金流2] F061301C [公司现金流TTM1] F061302C [公司现金流TTM2] F061401B [股权现金流1] F061402B [股权现金流2] F061401C [股权现金流TTM1] F061402C [股权现金流TTM2] F061501B [公司自由现金流(原有)] F061601B [股权自由现金流(原有)] F061701B [全部现金回收率] F061801B [营运指数] F061901B [资本支出与折旧摊销比] F062001B [现金适合比率] F062101B [现金再投资比率] F062201B [现金满足投资比率] F062301B [股权自由现金流] F062401B [企业自由现金流] Indcd1 [行业代码1] Indnme1 [行业名称1] 季度数据,所有沪深北上市公司的 分别包含excel、dta数据文件格式及其说明,便于不同软件工具对数据的分析应用 数据来源:基于上市公司年报及公告数据整理,或相关证券交易所、各部委、省、市数据 数据范围:基于沪深北证上市公司 A股(主板、中小企业板、创业板、科创板等)数据整理计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值