• java数据类型;常量与变量;类型转化;


    java数据类型:基本数据类型、引用数据类型;

    基本数据类型(8个):

    整型(4):byte short int long(64bit)

    浮点型(2):float(32bit) double(64bit)

    字符型(1):char (键盘上能输出的都是字符,加'')16bit Unicode编码;

    布尔型(1):boolean 1bit true false

    引用数据类型:

    数组[]

    类class(抽象类abstract class)

    接口interface

    枚举 enum

    注解@interface

    =====================================================

    byte 字节型 1byte=8bit;00000000 256种组合;

      用第一个bit位置来记录符号;0正数 1负数

      数值的范围 -2的7次方 ——2的7次方-1

            -128 —— 127

    以上的其他整数类型,依次乘2

    short 2字节=16bit  2的16次方=65536 数值范围 -2的15次方——2的15次方,即-32768——32767

    int 4字节=32bit

    long 8字节=64bit 

    float 32bit 4字节

    为什么英文和符号和数字是一个字节;

    为什么中文是两个字节?

      ASCII 美国信息交换标准代码;

      a-----00000000-----97

      字母(26*2)+数字(10)+符号(约100) 一个字节256种组合,可以存储;

    =====================================================================

    常量

    常量代表是程序运行过程中,不能再次改变的值;

    常量的作用:

      1.固定的值 代表计算过程中经常用到的值;

        便于程序计算;

      2.用来代表一个含义

        1 2 3 4 分别代表上下左右四个方向;

    什么样的值算是常量?

      1.固定不变的值 算作常量;1 3.14 ‘a’ true

        可以认为所有基本类型的值 固定不变 是常量

      2.特殊的常量

        “abc”(String类型) 

        String是一个引用数据类型,它的值很特殊,可以简单地视为常量;

      3.自己创建的空间 存储一个值 让他固定起来 不能改变

        final int UP =1; 

    变量

    变量指的是 程序执行过程中可以改变的

    变量是一个内存空间(小容器)

    变量空间在创建(声明)的时候 必须指定数据类型 变量空间的名字

    变量空间 里面只能存储一个内容(值 引用)

    变量空间内的内容可以改变

    创建变量时需要注意命名的问题(见名知义);

      命名的规则:字母(区分大小写),数字(0-9,不允许开头),符号(英文符号_ $),中文(不推荐)

      命名的规约:类名字 首字母大写 TestOne;

            变量名(遵循驼峰式命名规约) 首字母小写 person superPerson

    变量如何创建/声明;

      数据类型 变量名字;

      int a;

      String b;

      注意:变量是一个空间 可以只创建空间 里面不存放内容

         变量空间创建后没有默认的内容 空的

         空的变量空间不能拿来使用 编译错误;

         byte x;//声明一个变量空间 空间的名字是x 空间内要求存储的类型是byte整数;

         x = 1;//将一个1赋值到x空间内进行存储;     

         byte x = 1;

         计算机底层做了什么事情;

         1.x是什么? 变量空间,存储在哪儿?栈内存内(后进先出)

         2.1是什么?1是常量 存在哪儿?常量缓冲区(只能查不能改)

         3.=是什么? =是赋值 做了什么?

    注释

      1.单行注释;//

      2.多行注释;/* */

      3.文档注释;/** */

    源码编译执行内存空间

     float e = 3.4;报错:从double转换到float会有损失;

    3.4 是 常量值;

    存储在常量缓冲区中;

    常量值得存储形式肯定不是十进制 是以二进制形式存储;

    1 32bit(int)

    3.4 64bit(double)

    float 32bit

    改为这样就可以;float e = 3.4F;

    byte a = 1; byte 8bit;1 ---> int 32bit;

    =赋值的时候做了一个自动的决定,自动类型转化;存储时,将其他无用的bit位,删除;

     long类型的值,超过int类型(32bit)的取值范围,需要加L;

      如果创建的常量值超过以上范围

      程序编译检测的时候会认为 数字太大

      如果我们真的需要那么大的数,需要加L;long d = 2L;(也是正确的)

    字符和字符串的区别;

    字符 char 基本 'a'

    字符串 String 引用 "a" "abc" "" null

    ===========================================================

    类型之间的转换问题

    1.同种数据类型之间是可以直接进行赋值操作;

    2.数据类型不同的空间之间的赋值-->转换问题;

      同种大数据类型之间才能发生转换; 

      基本类型 与 基本类型之间 可以直接转换(自动 强制)

      引用类型 与 引用类型之间 可以直接转换(自动 强制 上转型 下转型)

      基本类型 与 引用类型之间 不可以直接转换(间接 包装类/封装类)

    3.保证大数据类型一致的前提下

      基本类型--基本类型

      小数据类型相同:都是整型,浮点...(比较空间

    .自动直接转化就可以了

    需要强制类型转换

    大空间变量可以直接存储小空间的数据;(自动转换)

    小空间变量不可以直接存储大空间的数据(需要强制类型转换)

    转换过程写法都好用 如果转换的过程中数值范围超过边界,可能会有损失;

     

      小数据类型不同

      整型--浮点型 两个比较精确程度 浮点型精确程度更高,可以直接存储;

      任何一个浮点型都可以直接存放一个整型的值;

      浮点转整型需强制转换(只截取整数)

      整型--字符型

        每一个字符都对应着一个Unicode码 a--97 

      布尔类型很特殊

        不能和其它类型之间发生转化;  

     

     char---字符---'a'--0000000000000000(二进制)---数值97---int

     

     

     

      

      

        

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    品Spring:真没想到,三十步才能完成一个bean实例的创建
    品Spring:对@Autowired和@Value注解的处理方法
    品Spring:对@Resource注解的处理方法
    品Spring:对@PostConstruct和@PreDestroy注解的处理方法
    品Spring:详细解说bean后处理器
    品Spring:bean工厂后处理器的调用规则
    品Spring:注解之王@Configuration和它的一众“小弟们”
    品Spring:SpringBoot发起bean定义注册的“二次攻坚战”
    品Spring:SpringBoot轻松取胜bean定义注册的“第一阶段”
    .net的retrofit--WebApiClient底层篇
  • 原文地址:https://www.cnblogs.com/canglongdao/p/12772191.html
Copyright © 2020-2023  润新知