精华内容
下载资源
问答
  • 强类型语言和弱类型语言区别 弱类型语言主要有JS,PHP,这两类语言他可以进行隐式转换,隐式转换就是两个不同类型的变量进行相加的时候,得到的结果可能跟预期不太一样。 例:JS var a = 1; var b = '2'; ...

    强类型语言和弱类型语言主要是变量类型的处理方式
    强类型语言不存在隐式转换,弱类型语言可以

    强类型语言和弱类型语言的区别

    弱类型语言主要有JS,PHP,这两类语言他可以进行隐式转换,隐式转换就是两个不同类型的变量进行相加的时候,得到的结果可能跟预期不太一样。
    例:JS
    
    	var a = 1;
    	var b = '2';
    	cosnoel.log(a + b)
    	结果等于3
    

    String与Number类型相加但是得到的值是Number类型,值为3,这种就是存在于隐式转换,强类型语言这种写法就会报错,必须在相加前转为相同格式,否则就会报错

    例:python

    a = 'abcdef'
    b = 1
    c = a + b
    print(c)
    

    这种写法在强类型语言中就会报错 must be str,not int

    两者比较肯定弱类型语言相对于强类型语言开发比较省力,在处理一些复杂的数据的时候就会体现出来。
    但同样,弱类型也因为它的特性,使开发者在开发过程中对变量类型的检测力度不够大,由此提高数据类型方面问题出现的可能性。

    另外,弱类型语言的运行效率,内存利用率显然也比不上强类型语言。因为弱类型语言在运行过程中,存在变量类型的隐式转换,多了一些需要执行的操作,并且,分配内存时,会考虑通用而多分配一些,而强类型则专门为各种类型的变量量身定做地分配内存,内存利用率显然比弱类型会高。

    展开全文
  • 先丢一下概念: * 强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。...强类型语言也称为强制类型定义语言,例如java、.NET、Python,C#等都是强类型语言,以java为例, 创建了一个变量 St...

    先丢一下概念:
                    * 强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据
                    * 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。

    强类型语言也称为强制类型定义语言,例如java、.NET、Python,C#等都是强类型语言,以java为例, 创建了一个变量

    String s="java";   这个s变量类型已经被强制定义了,除非使用强制类型转换不然类型将一直是String类型;

    而弱类型语言 vb,php,JavaScript都是弱类型语言,  比如说JavaScript,  var s="java"; 其实只是创建了一个变量s 赋值了java,然而并没有定义其类型,所以这个变量可以随便改变其类型

     

    至于两者之间的不同,其实这两者并没有任何联系,开发的公司也不相同,不过两者的代码较为相识,但是也略有不同

    比如js中的数组,其长度和元素类型可以随意改变,不同于java的数组,而是相似于集合.

    两者的不同点非常多(因为根本就是两门语言)

    这里引用一下博客:

    https://www.cnblogs.com/chinasitu/p/7245203.html

    展开全文
  • 问题2:强类型语言和弱类型语言区别是什么? 问题3:以你实际举例,用过哪些动态、静态语言?以及强类型,弱类型语言? 问题1:静态语言和动态语言的区别是什么? 答: 相对来说,动态语言比静态语言更早发明。...

    目录

    问题1:静态语言和动态语言的区别是什么?

    问题2:强类型语言和弱类型语言的区别是什么?

    问题3:以你实际举例,用过哪些动态、静态语言?以及强类型,弱类型语言?


    问题1:静态语言和动态语言的区别是什么?

    答: 相对来说,动态语言比静态语言更早发明。静态语言是1995年左右之后发明的,适用于开发代码量更大(几十Mb,几百Mb)的程序。而动态语言则开发代码量更小的程序。

        因为诞生时间不同,适用条件不同。静态语言更动态语言更加详细和精确。就像小学生写作文不会写的字用符号“O”表示,高中生写作文因为会查字典所以用精确的字表示,这类似于动态语言和静态语言的差别。[1]

     

    问题2:强类型语言和弱类型语言的区别是什么?

    答: 强类型偏向于不支持隐式类型转换,弱类型偏向于支持隐式类型转换。比如,C的int可以转换为 double, 而haskel 不支持转换为 double类型。[2]

    问题3:以你实际举例,用过哪些动态、静态语言?以及强类型,弱类型语言?

    答: 自己学的语言,python是动态语言,c, C#,java, C++是静态语言。   c, c++, python是弱类型语言,java, c#是强类型语言。

    参考文献:

    [1] 动态语言和静态语言的本质区别是什么? - 刘哲奇的回答 - 知乎 https://www.zhihu.com/question/316509027/answer/627889515

    [2] 弱类型、强类型、动态类型、静态类型语言的区别是什么? - vczh的回答 - 知乎 https://www.zhihu.com/question/19918532/answer/21645395

    展开全文
  • 概念区别 【编译型语言与解释型语言、动态类型语言与静态类型语言、强类型语言弱类型语言】 文章目录一、编译型语言与解释型语言二、动态类型语言与静态类型语言三、强类型语言弱类型语言总结 一、编译型语言与...

    概念区别 【编译型语言与解释型语言、动态类型语言与静态类型语言、强类型语言与弱类型语言】

    一、编译型语言与解释型语言

    计算机只能够直接理解机器语言,不能够理解高级语言,所以若想运行高级语言编写的程序,都必须转换成计算机语言才可以被运行,计算机语言就是机器语言,将高级语言转换成机器语言的方式有两种,一种是编译,另外一种是解释,所以高级语言也被分为编译型语言和解释型语言。

    这两者的主要区别在于编译和运行的顺序不同。

    编译型语言是指将源程序进行编译后再运行,运行速度较快,会直接生成一个可以直接运行的机器语言的文件,例如在源文件下会生成一个exe文件,这样在下次运行的时候就不用编译可以直接使用编译结果,因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高,但其只能在特定平台进行程序运行,一般无法移植到特定平台。

    解释型语言是在运行期间编译,不需要进行事先编译,可以直接通过平台提供的相应解释器将源代码解释成机器码并立即执行,即可运行该程序,解释型语言每次运行都要编译一次,因而效率较低,但是其跨平台性能较好,程序移植较为方便,可以在不同的平台运行。

    现有的C、C++、Objective等都属于编译型语言,Python等属于解释型语言。

    参考:什么是编译型语言和解释型语言

    二、动态类型语言与静态类型语言

    动态类型语言和静态类型语言主要是针对于数据类型的检查,两者对于数据类型的定义顺序不同。

    动态类型语言是指在运行期间进行数据类型检查,这意味着在使用动态类型语言进行编译的时候,不需要给变量提前指定数据类型,动态类型语言会变量第一次赋值时,自动记录数据类型,这种语言对于数据的使用较为方便,可以在需要的时候再进行定义,较为自由。

    静态类型语言是指在编译期间进行数据检查,然后再进行运行,这意味着使用静态类型语言进行编写程序的时候,就需要声明所有的数据类型,否则就会出错,这种数据类型运行速度较快,较为稳定,在大型项目时,为了可控,更多选用静态类型语言。

    现有的C、C++、Java、Delphi、C#等都属于静态类型语言,Python、Ruby、Perl等都属于动态类型语言。

    参考:动态类型语言语言与静态类型语言

    三、强类型语言与弱类型语言

    强类型语言和弱类型语言是针对于类型定义来说的,两者关于变量的类型定义的强制性不同。

    强类型语言指的是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用,如果一个变量被指定了某个数据类型,如果不经过强制转换,它的数据类型则不会被改变。java、.NET、C++等都属于强类型语言。例如被定义为int的类型数据,只有经过转换,才可以视为其他类型。

    弱类型语言指的是不强制类型定义的语言,数据类型可以被忽略,一个变量可以赋给不同的数据类型的值。vb,php等就属于弱类型语言。
    参考:强类型和弱类型语言有什么不同

    总结

    编译型语言和解释性语言主要区别在于编译顺序的不同,动态类型语言和静态类型语言主要区别在于对于数据类型的定义顺序的不同,强类型语言和弱类型语言主要区别在于对于变量的数据类型的定义的不同。

    展开全文
  • 动态类型语言和弱类型语言区别(易混淆); 编译型语言和解释型语言和混合型语言的区别; 动态和静态、动态类型和静态类型、弱类型和强类型、编译型和解释型以及混合型动态语言和静态语言阐述动态语言静态语言...
  • 强类型语言强类型语言也称为强类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。java、.NET、C++等都是强制类型定义的。也就是说,一旦一个变量被指定了...
  • 强类型语言  强类型语言也称为强类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。  java、.NET、C++等都是强制类型定义的。也就是说,一旦一个变量被...
  • 然后每每别人谈起pythod时,我就会以资深口吻”哦,pythod啊,它是一种弱类型语言“开头~~ 现在想想,真是啪啪打脸啊~~~~ 要怪就怪我交友不慎或是记性太好吧! 以下转载自 aiming66 看到篇文章后,我感觉我的脸有...
  • 静态类型语言 在编译时就检查数据类型,比如:C,C++,JAVA,C# 动态类型语言 ... 两者的区别是检查类型的时机不同 ...强类型语言 ...强类型语言是类型安全的语言,如:java、.NET、C/C++ 也就是说,如...
  • 强类型和弱类型语言有什么区别

    千次阅读 多人点赞 2019-09-11 17:20:50
    强类型语言  强类型语言也称为强类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。  java、.NET、C++等都是... 与其相对应的是弱类型语言:数据类型...
  • 这是本人关于Typescript的第一篇笔记,之所以选择将“强类型语言和弱类型语言、静态语言和动态语言”作为第一个想要去总结的主题,是因为个人觉得它很重要。 如今这个年代,可以供我们选择的编程语言非常之多,我们...
  • 编译型与解释型、动态语言与静态语言、强类型语言弱类型语言区别 转自:http://www.cnblogs.com/dzhanjie/archive/2011/07/07/2100340.html  编译型解释型 我们先看看编译型,其实它汇编语言是...
  • Python 是弱类型的语言在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言、C++、Java 是强类型语言的代表。下面我们以 C++ 为例来演示强类型语言中变量的使用:1. int n ...
  • 动态类型语言与静态类型语言的解释及其区别 (1)动态类型语言(Dynamically Typed Language):动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,不用给任何变量指定数据...
  • 作为程序开发,你所需要知道的编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的概念以及...什么是强类型语言和弱类型语言呢? 这里小栈君为大家解释一下 1. 解释型语言和编译型语言 解释型语言即是...
  • 三组概念的区分|编译型语言与解释型语言|动态类型语言与静态类型语言|强类型语言弱类型语言三组概念的区分一、编译型语言与解释型语言二、动态类型语言和静态类型语言三、强类型语言弱类型语言 三组概念的区分 ...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 349
精华内容 139
关键字:

强类型语言和弱类型语言区别