精华内容
下载资源
问答
  • JS数据类型基本数据类型

    万次阅读 多人点赞 2019-06-28 16:46:43
    1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型); 2.js常用的基本数据类型包括undefined、null、number、boolean、string; 3.js的引用数据类型也就是...

    一、数据类型简介:

    1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型);

    2.js常用的基本数据类型包括undefined、null、number、boolean、string;

    3.js的引用数据类型也就是对象类型Object,比如:Object、array、function、data等;

    二、基本数据类型特点:

    1.基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值;

    2.基本数据类型的值是不可变的,任何方法都无法改变一个基本数据类型的值,比如一个字符串:

      let name = 'zhangsan'
      name.substr()
      console.log(name) // 输出:zhangsan
      let age = 'firstblood'
      age.toUpperCase()
      console.log(age) // 输出:firstblood

    通过上面的例子,我们可以发现原来定义的变量name的值始终没有发生改变,而调用substr()和toUpperCase()方法后返回的是一个新的字符串,跟原来定义的变量name并没有什么关系。

    再看下面的代码:

      let name = 'zhangsan'
      name = 'lisi'
      console.log(name) // 输出:lisi

    上面的例子看来name的值好像“改变了”,这里的基础数据类型是string,也就是“zhagnsan”,这里的“zhangsan”是不可以改变的,name只是指向“zhagnsan”的一个指针,指针的指向不可以改变,所以下面的name = 'lisi',将name指向了“lisi”,这里的“lisi”也是不可以改变的。也就是说这里的改变只是“指针指向的改变”。

    3.基本数据类型不可以添加属性和方法:

      let user = 'zhangsan'
      user.age = 18
      user.method = function () {
        console.log('12345')
      }
      console.log(user.age) // 输出:undefined
      console.log(user.method) // 输出:undefined

    上面的代码可以看出,基本数据类型是不能添加属性和方法的,再次说明基本数据类型是不可变的。

    4.基本数据类型的赋值是简单的赋值(如果从一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把该值赋值到位新变量分配的位置上):

      let a = 18
      let b = a
      a++
      console.log(a) // 输出:19
      console.log(b) // 输出:18

    上面的代码,a中保存的值是18,当使用a的值来初始化b时,b中也保存了值18,但是b中的18和a中的18完全是独立的,b中的值只是a中值的一个副本,所以这两个变量可以参与任何操作而不会相互影响。

    5.基本数据类型的比较是值的比较:

      var a = '{}'
      var b = '{}'
      console.log(a === b) // 输出:true

    6.基本类型的值在内存中占据固定大小的空间,被保存在栈内存中。(从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本);

    假如有以下几个基本类型的变量:

      let name = 'zhangsan'
      let age = 18
      let weight = '60kg'

    他的存储结构如下图(栈区包括了变量的标识符和变量的值):

    三、基本数据类型详解:

    1.number类型

    ①number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后至少有一位数字)。

    浮点数会自动转换为整数,如下:

      let num = 1.00
      console.log(num) // 输出:1,自动转换为了整数

    ②浮点数的最高精度是17位,看下面的例子:

      let a = 0.1
      let b = 0.2
      console.log(a + b) // 输出:0.30000000000000004

    上面的例子,结果竟然不是0.3,至于其他变成语言,也会遇到这种情况(关于浮点数计算会产生误差问题,其他有些变成语言也会出现类似情况。)

    ③NaN:非数字类型,特点:涉及到任何关于NaN的操作,都会返回NaN,而且NaN不等于自身。如下:

      let name = 'lisi'
      console.log(name / 10) // 输出:NaN
      console.log(NaN === NaN) // 输出:false

    ④isNaN()函数用于判断是否是一个非数字类型,如果传入的参数是一个非数字类型,那么返回true,否则返回false;

    ⑤isNaN()函数传入一个参数,函数会先将参数转换为数值,如果参数类型为对象类型,会先调用对象的valueOf()方法,再确定该方法返回的值是否可以转换为数值类型,如果不能,再调用对象的toString()方法,再确定返回值;

    ⑦数值转化:

    Number(),转型函数,可以用于任何数据类型

    parseInt(),将值转换为整型,用的较多

    parseFloat(),将值转换为浮点型

    2.string类型

    ①字符串类型中的单双引号作用一样;

    ②字符串有length属性,可以取得字符串的长度:

      let str = 'Hello world'
      console.log(str.length) // 输出:11

    ③字符串的值是不可变的,要改变一个字符串的值,首先要销毁原来的字符串,再用另一个包含新值得字符串区填充该字符串;

    ④字符串转换:

    String(),转型函数,适用于任何数据类型(null,undefined转换后为null和undefined)

    toString()方法可以把一个逻辑值转换为字符串,并返回结果(null、undefined没有toString()方法)

      let ab = 'zhangsan'
      let bc = null
      let cd = undefined
      console.log(ab.toString())  // 输出:zhangsan
      // console.log(bc.toString())  // error 报错
      // console.log(cd.toString())  // error 报错
      console.log(String(ab))  // 输出:zhangsan
      console.log(String(bc))  // 输出:null
      console.log(String(cd))  // 输出:undefined

    3.boolean类型

    ①这个类型只有两个值,true和false;

    ②Boolean(),转型函数,将某个值转换为Boolean类型

    4.null类型

    ①null类型被看做空对象指针,只有一个值,即null值,所以在用typeof操作符去检测null类型的值得时候,结果是object类型;

    ②如果你定义了一个变量,但是想在以后把这个对象当做一个对象来使用,最好将该对象初始化为null值

    5.undefined类型

    ①只有一个值,即undefined,如果声明了一个变量,但是未给变量初始化值,那么这个变量的值就是undefined:

      let name = 'zhangsan'
      let age
      console.log(name) // 输出:zhangsan
      console.log(age) // undefined,因为声明了age,但是没有给初始化值

    ②调用函数时,应该提供的参数没有提供,该参数等于undefined;

    ③对象没有赋值的属性,该属性的值为undefined;

    ④函数没有返回值,默认返回undefined。

     

     

     

    参考文章:

    https://mp.weixin.qq.com/s/YMpKnUUKPPIG6FD6CGzfTg  

    http://www.jb51.net/article/101341.htm

    展开全文
  • Java基本数据类型与类型转换

    千次阅读 多人点赞 2019-12-10 23:39:00
    本文关键字:8种、基本数据类型、整数类型、浮点类型、字符类型、布尔类型。

    写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

    • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
    • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
    • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    Java基本数据类型与类型转换

    本文关键字:8种、基本数据类型、整数类型、浮点类型、字符类型、布尔类型

    一、基本数据类型

    1. 概述

    在Java中,所使用到的类型可以分为两大类,一类是基本数据类型,一共有8种,包含:整数,小数,字符,布尔。另外一类是引用类型,包含:字符串,数组以及各种Java类。

    2. 整数类型

    整数类型是一个很常用,也比较简单的类型,在计算机中以二进制的方式存储,其中有一位是符号位。

    • byte:-2^7 ~ 2^7 - 1
      • 1字节
      • 8bit
    • short:-2^15 ~ 2^15 - 1
      • 2字节
      • 16bit
    • int:-2^31 ~ 2^31 - 1
      • 4字节
      • 32bit
    • long:-2^63 ~ 2^63 - 1
      • 8字节
      • 64bit

    3. 浮点类型

    对于浮点(小数)类型,存储的方式与整数有所不同,其中符号位固定为1位,另外两部分为指数部分和小数部分。我们都学过科学计数法的表示方式,对于十进制,小数点前的部分的取值范围为1-9,在存储前也会整理成二进制的形式,会变成(+/-)1.b × 2^a。那么指数部分对应的就是a,尾数部分对应的就是b。
    对于float,指数部分为8位,尾数部分为23位。对于double,指数部分为11位,尾数部分为52位。

    • float:约1.4 × 10^-45~3.4 × 10^38,精度为6~7位
      • 4字节
      • 32bit
    • double:约4.9 × 10^-432~1.7 × 10^308,精度为15~16位
      • 8字节
      • 64bit

    4. 字符类型

    对于字符类型,在进行存储时,也同样是一个整数,只不过在使用时会进行编码。说的直白一些就是,建立起了一个数字和字符之间的对应关系,只要明确字符对应的数字,或者直接将字符给出,都能够正确表示出一个字符。

    • char
      • 2字节
      • 16bit

    5. 布尔类型

    布尔类型是一个范围最小的数据类型,只用一个二进制位就可以来记录,0表示false-假,1表示true-真。

    • boolean:true/false
      • 1字节
      • 1bit

    6. 字面值

    当我们在使用一个数据类型时,总会进行一些直接赋值的操作,完整的格式如下:

    • 数据类型 变量名称 = 变量值

    如:int i = 5;char c = ‘中’;double = 3.14;那么出现在等号右侧的值就被称为字面值。

    • 整数类型字面值
      • 默认十进制(int类型):136,当非常大的数需要用long存储时结尾需要添加字母L/l
      • 二进制(0b开头):0b101
      • 八进制(0开头):073
      • 十六进制(0x开头):0xAC23
    • 浮点类型字面值
      • 单精度(以F/f结尾):236.935f
      • 双精度(默认小数类型):68263.2811

    二、数据类型转换

    在这里插入图片描述

    1. 自动类型转换

    图中黑色的部分,可以自动进行转换,并且不会出现任何使用上的问题,只不过存储数据空间需要变大些,这也就是由低精度向高精度的转换。
    其中红色箭头的部分,也可以自动进行转换,即:代码上不需要添加转换的操作,且编译不会出现问题。但是在使用时会出现精度丢失的问题,因为对于整数类型,在其所支持的存储范围内精度都是可以保证的,而对于float和double类型,精度只有相应的67和1516位,所以在使用时一定要注意!

    2. 强制类型转换

    那什么时候需要手动来进行类型转换呢?就是与箭头方向相反时,以及由高精度到低精度来进行赋值操作时,必须要手动进行强制转换。这意味着,你知道这其中的风险,并一定要这样做,那么无法被记录的字节将被直接截断和丢弃,最高位被识别为符号位。所以,只有当数据本身不会超出目标数据类型时,我们才会进行转换,否则有可能会得到各种奇怪的结果。

    3. 表达式中的类型提升

    当我们在使用表达式进行计算时,如最基本的四则运算,加减乘除。

    short s1 = 40;
    short s2 = 40;
    short s3 = s1 + s2;// 该行编译错误,why?
    short s4 = (short)(s1 + s2);// 编译通过
    

    对于以上的情况,是因为出现了类型提升,当符号两侧出现整数时,运算结果的类型将被提升为默认的整数类型:int,而将int类型赋值给short是需要类型转换的。同样,运算符号两侧出现小数类型时,运算结果的类型将被提升为默认的浮点数类型:double,在赋值给其他变量时同样要进行类型转换。

    扫描下方二维码,加入官方粉丝微信群,可以与我直接交流,还有更多福利哦~

    在这里插入图片描述

    展开全文
  • 基本数据类型与高精度数字

    千次阅读 2018-10-11 09:31:38
    基本数据类型

    基本数据类型与高精度数字

    基本数据类型

    基本类型 大小 最小值 最大值 默认值 封装类型
    char 16-bit Unicode 0 Unicode2161Unicode2^{16}-1 ‘\u0000’(null) Character
    byte 8 bits -128 +127 (byte)0 Byte
    short 16 bits 215-2^{15} Unicode2151Unicode2^{15}-1 (short)0 Short
    int 32 bits 231-2^{31} Unicode2311Unicode2^{31}-1 0 Integer
    long 64 bits 263-2^{63} Unicode2161Unicode2^{16}-1 0L Long
    float 32 bits IEEE754 IEEE754 0.0f Float
    double 64 bits IEEE754 IEEE754 0.0d Double
    boolean false Boolean
    void Void

    如图:
    在这里插入图片描述
    在这里插入图片描述

    高精度数字

    Java提供了两个用于高精度计算的类: BigIntegerBigDecimal。虽然它们大体上属于“包装器类”的范畴,但二者都没有对应的基本类型。
    不过,这两个类包含的方法、提供的操作与对基本类型所能执行的操作相似。也就是说,能作用于int或float的操作,也同样能作用于BigIntegerBigDecimal。只不过必须以方法调用方式取代运算符方式来实现。由于这样做复杂了许多,所以运算速度会比较慢。在这里,我们以速度换取了精度。

    BigInteger支持任意精度的整数。也就是说,在运算中,可以准确的表示任何大小的整数值,而不会丢失任何信息
    BigDecimal支持任何精度的定点数,例如,可以用它进行精确的货币计算。


    1.本文来源《Java编程思想(第四版)》
    展开全文
  • C51基本数据类型

    千次阅读 2019-12-19 13:42:36
    C51基本数据类型 C51中基本数据类型主要是指变量类型。变量是指其值可以改变的量。一个变量实质上是代表了内存中的某个存储单元。程序中的变量a,就是指用a命名的某个存储单元,用户对变量a进行的操作就是对该存储...

    C51基本数据类型

    C51中基本数据类型主要是指变量类型。变量是指其值可以改变的量。一个变量实质上是代表了内存中的某个存储单元。程序中的变量a,就是指用a命名的某个存储单元,用户对变量a进行的操作就是对该存储单元进行的操作;给变量a赋值,实质上就是把数据存人该变量所代表的内存单元中。

    变量有类型的区分,如整形变量、实型变量、字符型变量等。C语言在定义变量的同时说明该变量的类型,系统就能根据定义及其类型为它分配相应数量的存储空间。C51中变量类型与通用C语言基本相同,C51基本变量类型如表1.5.1所示。

    表1.5.1 C51基本变量类型

    数据类型

    长度

    值域

    unsigned char

    单字节

    0-255

    char

    单字节

    -128-127

    unsigned int

    双字节

    0-65535

    int

    双字节

    -32768-32767

    unsigned long

    四字节

    0-232-1

    long

    四字节

    -231-231-1

    float

    四字节

    3.4e-38-3.4e38

    *

    1-3字节

    对象的地址

    注:C51中int与short相同,float与double相同,在表中就不列出了。另外unsigned前缀表示无符号类型,无前缀表示有符号类型,即signed类型。

    每种基本变量类型介绍如下:

    (1)char类型

    即字符型变量,长度是一个字节,通常用于定义处理字符数据的变量或常量。分无符号字符类型unsigned char和有符号字符类型char,默认值为char类型。unsigned char类型用字节中所有的位来表示数值,所可以表达的数值范围是0~255。char类型用字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数,负数用补码表示。所能表示的数值范围是-128~+127。注意:这种数据类型在C51中最常见,因为51单片机是8位单片机,其内部寄存器绝大部分都是8位,故而8位字符变量与8位的字符型变量可以直接进行数据交换。

    (2)int类型

    即整型变量,长度为两个字节,用于存放一个双字节数据。分有符号整型数int和无符号整型数unsigned int,默认值为int类型。int表示的数值范围是-32768~+32767,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数。unsigned int表示的数值范围是0~65535。

    (3)long类型

    即长整型变量,长度为四个字节,用于存放一个四字节数据。分有符号长整型long 和无符号长整型unsigned long,默认值为long类型。long表示的数值范围是-2147483648~+2147483647,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数。unsigned long表示的数值范围是0~4294967295。

    (4)float类型

    即浮点型变量,在十进制中具有7位有效数字,是符合IEEE-754标准的单精度浮点型数据,占用四个字节。因浮点数的结构较复杂在此不做详细的讨论。另外由于double类型与float类型一样也是占用四个字节,故在此也不讨论。

    (5)*类型

    即指针类型,其本身就是一个变量,在这个变量中存放的指向另一个数据的地址。这个指针变量要占据一定的内存单元,对不同的处理器长度也不尽相同,在C51中它的长度一般为1~3个字节。

     

     

    展开全文
  • python基本数据类型操作总结

    万次阅读 2019-08-29 15:48:19
    一:list append count insert reverse clear extend pop sort copy index remove 二:dict clear get pop update copy items popitem values fromkeys keys ...
  • 根据这篇文章可以理解一下java中的基本数据类型与引用数据类型的区别,写的很好!javascript中基本数据类型和引用数据类型的区别1、基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和...
  • JavaScript基本数据类型

    万次阅读 2018-07-13 19:49:32
    JavaScript是弱类型脚本语言...JavaScript基本数据类型有如下五个(1)数值类型(2)布尔类型(3)字符串类型(4)Undefined类型(5)Null类型1. 数值类型强类型语言如C、Java不同,JavaScript的数值类型不仅包括...
  • Java数据类型分为基本数据类型与引用数据类型。 1、 基本数据类型 byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字节(16 bit),取值范围-...
  • Java基本数据类型

    千次阅读 2019-02-01 19:39:26
    这节博客将向大家讲解java的数据类型,在讲解数据类型前,先来看一下变量。 (一)变量 java语言是强类型语言,强类型包含两方面的含义。 1:所有的变量必须先声明,后使用。 2:指定类型的变量只能接受类型之...
  • Java的基本数据类型与转换

    千次阅读 2015-06-17 06:59:48
    基本数据类型对大多数业务相关或网络应用程序没有太大的用处,这些应用一般是采用客户端/服务器模式,后端有数据库。但是,基本数据类型对以数值计算为主的应用程序来说是必不可少的。 自从1996年Java发布以来,...
  • Redis的哈希数据类型存储的是一个string类型的field和value的映射表,hash适合存放对象;Redis 中每个 hash 可以存储 232 - 1 键值对(4294967295,40多亿)。1、HGET key field value 用于给哈希表中的字段赋值; ...
  • Java中基本数据类型与流的操作方法

    千次阅读 2005-02-04 11:10:00
    Java中除了二进制文件和使用文本文件外还有基于Data的数据操作,这里的Data指的是Java的基本数据类型和String。基本数据类型包括byte、int、char、long、float、double、boolean和short。 说到Java的基本数据类型...
  • js的基本数据类型与普通类型

    千次阅读 2018-03-31 12:42:58
    一 基本数据类型基本数据类型简单的说就是简单的数据段。引用类型是由多个值构成的对象。当我们进行赋值操作的时候,解析器会先分析数据是值类型还是引用类型。基本数据类型有6种:String,number,null,undefined,...
  • 基本数据类型和引用数据类型的区别: 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上; 引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在...
  • Chisel 语言学习 1 基本数据类型操作 系列文章主要用来记录学习Chisel和scala过程中遇到的难点或知识点: 目录用 [TOC]来生成目录:Chisel 语言学习 1 基本数据类型操作 目录 变量的声明赋值 数据位操作 截取...
  • js数据类型基本数据类型和引用数据类型(文章最下面会介绍各类型的基础以及注意事项) 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象 当我们把变量赋值给一个变量时,解析器首先要确认...
  • Hive支持关系型数据库中的大多数基本数据类型,同时支持关系型数据库中很少出现的3种集合数据类型,下面我们将简短地介绍一下这样做的原因。    其中一个需要考虑的因素就是这些数据类型是如何在文本文件中进行...
  • 【Qt】数据类型和有用的数据操作

    千次阅读 2018-11-22 14:38:29
    除了C++提供的基本数据类型之外,Qt还提供了了对开发者而言非常有用的多种数据类型。Qt提供的数据类型分为基本数据类型和类形态的数据类型。   基本数据类型 Qt支持多个平台,创建的应用程序需要在多种平台上都...
  • Java 基本数据类型存储位置

    万次阅读 2018-11-05 10:48:13
    Java 基本数据类型 及 == equals 方法的区别 转载地址:https://www.cnblogs.com/Latiny/p/8099581.html  Java数据类型分为基本数据类型与引用数据类型。    1 基本数据类型 byte:Java中最小的数据类型...
  • 数据挖掘中基本概念--数据类型的属性度量 讨论一些数据相关的问题,它们对于数据挖掘的成败至关重要。
  • Kotlin 基本数据类型

    千次阅读 2020-08-10 16:46:09
    Kotlin 基本数据类型基本数据类型字面常量 基本数据类型 Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于 Java 的是,字符不属于数值类型,是一个独立的数据类型。 类型 位宽度 ...
  • 一个变量可以存放两种类型的值,基本类型的值...它是 JavaScript 语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。 基本类型 ...
  • JS有六大数据类型: Number、String、Boolean、Null、Undefined、Object ​ 这些数据类型可以通过 typeof关键字 进行检测 typeof 123 //number typeof 'abc' //string typeof true //boolean typeof ...
  • Redis的基本数据类型与适用场景

    千次阅读 2017-01-02 19:02:15
    本文主要介绍redis的几种数据类型和适用场景。会列出简单例子,具体的redis函数不会一一介绍。不过这些简单的例子基本上满足80%以上的项目。
  • C++ 基本数据类型和表达式

    万次阅读 多人点赞 2017-04-10 10:34:19
    1. C++是一种静态类型语言(运行前指定每个数据类型),也是一种强类型语言(对数据操作进行严格的类型检查)。 2. bool类型数据在算术运算时true对应1,false对应0。 3. typedef给已有类型取别名 typedef ; ...
  • C语言——基本数据类型与表达式

    万次阅读 2018-07-29 11:06:53
    基本数据类型 测试数据类型大小: printf("%d\n",sizeof(类型名)); char c = 255; printf("%d\n",c) 输出有符号整数为-1 输出无符号整数为255   三.常量和变量 ...
  • C++基本数据类型及类型转换

    万次阅读 2014-05-09 00:15:34
    c++基本数据类型 什么样的数据算是byte类型,int类型,float类型,double类型,long类型? byte类型,就是字符类型.这类数据是字符组成的 INT 类型,为整型数字,不同语言定义的范围不同 FLOAT,为数字浮点型,其小数点后面...
  • python基本数据类型的特点

    千次阅读 2019-04-30 17:57:57
    Python基本数据类型的特点 Python整型和浮点型 一,python整数类型所表示的数据。 1,一般用以表示一类数值:所有正整数,0和负整数; 2,整型作为最常用的,频繁参与计算的数据类型,在pyt...
  • 从Java到C++——基本数据类型

    千次阅读 2014-04-07 20:29:34
    基本数据类型是C++最基本的内容,虽然各种计算机语言的基本数据类型的含意和用法大体相同,但各种语言下基本数据类型的字节大小,数值范围等是不一样的,这也是程序开发都必须要了解的。  Java中有8种基本数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,631,096
精华内容 652,438
关键字:

数据类型与基本操作