精华内容
下载资源
问答
  • 编程语言一般分为动态类型、静态类型和强类型弱类型,例如Python是动态、强类型编程语言,go语言是静态、强类型,而JavaScript是动态、弱类型编程语言。 动态类型与静态类型 动态类型语言 动态类型语言:动态类型...

    编程语言一般分为动态类型、静态类型和强类型、弱类型,例如Python是动态、强类型编程语言,go语言是静态、强类型,而JavaScript是动态、弱类型编程语言。

    动态类型与静态类型

    动态类型语言

    动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。

    优点:编写的代码数量更少,看起来更加简洁,可以把精力更多地放在业务逻辑上。

    缺点:不方便调试,命名不规范时会造成读不懂,不利于理解等。

    静态类型语言

    是编译期间做检查数据类型的语言,即写程序时要声明所有变量的数据类型,是固定的。使用数据之前,必须先声明数据类型(int ,float,double等)。相当于使用之前,首先要为它们分配好内存空间。C/C++是静态类型语言的典型代表

    优点:结构非常规范,便于调试,方便类型安全,提高程序执行速度

    缺点:为此需要写更多类型相关代码,相对复杂。

    强类型与弱类型

    强类型

    指的是程序中表达的任何对象所从属的类型都必须能在编译时刻确定。对于强类型语言,一个变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换。例如:假设定义了一个double类型变量a,不经过强制类型转换那么程序int b = a是无法通过编译。

    强类型的优点:
    1、编译时刻能检查出错误的类型匹配,以提高程序的安全性;
    2、可以根据对象类型优化相应运算,以提高目标代码的质量;
    3、减少运行时刻的开销。

    弱类型

    正好与强类型相反,编译时的检查很弱,它仅能区分指令和数据,弱类型语言允许变量类型的隐式转换,允许强制类型转换等,如字符串和数值可以自动转化。

    二者区别:

    1、不管是强类型还是弱类型,变量都有两个属性:类型和值

    2、强类型的变量类型是不能改变的,弱类型变量是随需改变的,这是强弱的真正含义。 强类型的变量一经声明,就只能存储这种类型的值,其他的值则必须通过转换之后才能赋给该变量,有编译器自动理解的转换,也有由程序员明确指定的强制转换。但是,弱类型的变量类型则是随着需要不断转换。

    3、强制转换并没有改变变量类型。强类型语言有个“强制转换”,这改变的是变量的值的类型,以便进行赋值,而没有改变变量的类型。变量的类型是不允许改变的。

    总结:

    编译时就知道变量类型的是静态类型;运行时才知道一个变量类型的叫做动态类型

    动态类型:python、JavaScript、php等

    静态类型:golang、C、C++、Java、C# 等

    强类型是指不允许隐式变量类型转换,弱类型则允许隐式类型转换。

    强类型语言:python、golang、Java、C# 等

    弱类型语言:JavaScript、php、C、C++等

    展开全文
  • 弱类型 在定义变量的时候,我们可以为变量赋值任何数据,变量的数据类型不是固定死的,这样的类型叫做...动态类型和静态类型的核心区别: 动态类型的类型检查会在代码运行的时候进行,而静态类型的类型检查则是在编译

    弱类型

    在定义变量的时候,我们可以为变量赋值任何数据,变量的数据类型不是固定死的,这样的类型叫做弱类型

    var a = 10;
    a = "abc";
    a = [];
    a = function(){};
    

    强类型

    在声明变量的时候,一旦给变量赋值,那么变量的数据类型就已经确定,之后如果要给该变量赋值其他类型的数据,需要进行强制数据类型转换。

    int a = 10;
    a = "10";
    

    动态类型和静态类型

    动态类型和静态类型的核心区别: 动态类型的类型检查会在代码运行的时候进行,而静态类型的类型检查则是在编译时进行

    展开全文
  • ---强类型------- 是自定义类所具有优势。它使得对象处理数据更容易被理解,而不需要与ADO.NET和XML编程模型打交道。这在大型系统里是很有用,特别是当设计者定义了由自定义类所组成数据访问层,并把设计向...

    MVC项目中遇到的问题》

    ---强类型------- 是自定义类所具有的优势。它使得对象处理的数据更容易被理解,而不需要与ADO.NET和XML编程模型打交道。这在大型系统里是很有用的,特别是当设计者定义了由自定义类所组成的数据访问层,并把设计向组织内的其他程序员发布的时候。当然,现在自定义类的使用有下降的趋势:它们需要编更多的代码,因为你必须创建.NET Framework所缺少的对象关系映射层。

    强/弱类型是指类型检查的严格程度的。语言有无类型,弱类型和强类型三种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格的区分指令和数据。强类型的则严格的在编译期进行检查。

    C# 是强类型语言;因此每个变量和对象都必须具有声明类型。 为所有变量指定数据类型称为“强类型”。

    在.NET中使用强类型有以下优点: 1.它为变量启用 IntelliSense? 支持。这允许您在输入代码时看到变量的属性和其他成员。 2.它会运用编译器类型检查。这将捕捉到因溢出等错误而在运行时失败的语句。这也可以在不支持方法的对象上捕捉对方法的调用。 3.执行速度更快

    简单点:假设你在c#代码中,你定义了一个整型变量后,就不能赋一个字符型数据给这个变量 (除非你用强制类型转换)

    弱类型就像javascript var 可以接受任何类型

     

     
     
    分类: ASP.NET
     
     

    转载于:https://www.cnblogs.com/zhangmu/p/3553848.html

    展开全文
  • 强类型和弱类型的区别---非正确版

    千次阅读 2016-10-07 19:32:35
    语言有无类型,弱类型和强类型三种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格的区分指令和数据。强类型的则严格的在编译期进行检查。 强类型语言在没有强制类型转化前,不允许两种不同...
    强类型:为所有变量指定数据类型称为“强类型”。
    强/弱类型是指类型检查的严格程度的。语言有无类型,弱类型和强类型三种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格的区分指令和数据。强类型的则严格的在编译期进行检查。
    强类型语言在没有强制类型转化前,不允许两种不同类型的变量相互操作。Java、C# 、Apex和 Python 等都是强类型语言。
    弱类型语言也称为弱类型定义语言。与强类型定义相反。像vb,php等就属于弱类型语言·
    例如:在vbscript中,可以将字符串 12 和整数 3 进行连接得到字符串 123,然后可以把它看成整数 123,而不需要显式转换
    弱类型有时显得很方便,有时却又极易出错。比如:
    var result=5+5; //two numbers
    alert(result);  //outputs "10"
    var result=5+'5'; // a number and a string
    alert(result);  //outputs "55"
    因此使用弱类型语言也要格外注意数据类型防止出错
    简单点:假设你在c#代码中,你定义了一个整型变量后,就不能赋一个字符型数据给这个变量

    (除非你用强制类型转换)

    弱类型就像javascript  var 可以接受任何类型

     无类型: 汇编
    弱类型、静态类型 : C/C++
    弱类型、动态类型检查: Perl/PHP
    强类型、静态类型检查 :Java/C#
    强类型、动态类型检查 :Python, Scheme
    静态显式类型 :Java/C
    静态隐式类型 :Ocaml, Haskell


    强类型:偏向于不容忍隐式类型转换。譬如说haskell的int就不能变成double

    弱类型:偏向于容忍隐式类型转换。譬如说C语言的int可以变成double

    动态语言和静态语言

    1.动态类型语言:是指在运行期间才去做数据类型检查的语言。在用动态语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言;

    2.静态类型语言:与动态类型语言刚好相反,它的数据类型检查发生在在编译阶段,也就是说在写程序时要声明变量的数据类型。C/C++、C#、Java都是静态类型语言的典型代表。

     

    强类型语言和弱类型语言

    1.强类型语言:使之强制数据类型定义的语言。没有强制类型转化前,不允许两种不同类型的变量相互操作。强类型定义语言是类型安全的语言,如Java、C# 和 Python,比如Java中“int i = 0.0;”是无法通过编译的;

    2.弱类型语言:数据类型可以被忽略的语言。与强类型语言相反, 一个变量可以赋不同数据类型的值,允许将一块内存看做多种类型,比如直接将整型变量与字符变量相加。C/C++、PHP都是弱类型语言,比如C++中“int i = 0.0;”是可以编译运行的;

     

    注意,强类型语言在速度上略逊色于弱类型语言,使用弱类型语言可节省很多代码量,有更高的开发效率。而对于构建大型项目,使用强类型语言可能会比使用弱类型更加规范可靠。

    另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系!

             http://blog.csdn.net/m_leonwang/article/details/8517583

    展开全文
  • 弱类型和强类型 简单的说,二者的区别就是是否偏向于容忍隐式类型转换。 $str = 'abc'; //str是一个字符串 $str = 1; //这时候又变成整形 if($str){}; //这时候又是一个布尔型 所以php是弱类型语言,...
  • 详细解释: 动态语言和静态语言的区别;...动态和静态、动态类型和静态类型、弱类型和强类型、编译型和解释型以及混合型动态语言和静态语言阐述动态语言静态语言实例动态语言静态语言代码对比动态语言静态语言动态类...
  • 强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型,  强类型安全,而且效率高。弱类型相比而言不安全 两种语言还有一点区别就是:对于强类型语言
  • 为什么JavaScript是弱类型语言

    万次阅读 热门讨论 2018-03-08 12:48:06
    但是在此之前我们需要了解一下弱类型语言,和强类型语言的区别。 强类型定义语言和弱类型定义语言 1)强类型定义语言:  强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过...
  • 但是在此之前我们需要了解一下弱类型语言,和强类型语言的区别。 强类型定义语言和弱类型定义语言 1)强类型定义语言: 强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,...
  • 强引用 是指创建一个对象并把这... 软引用对象当系统内存充足时和强引用没有太多区别,但内存不足时会回收软引用对象。注:当系统内存充足时,系统不会进行软引用内存回收, 当系统不足时将会回收软引用对象。
  • Java在jdk1.2推出了软引用、引用、虚引用三个概念: #1.强引用: 就是我们平时创建对象引用。 例如: String string = new String(""); 复制代码 类似于这样引用是强引用...软引用和强引用有一点区别,在垃圾...
  • 数据类型

    2018-05-28 12:32:00
    数据类型这个概念不光是c/c++里边有,C#、.net、Java都有,只不过是类型弱和强的区别。其实,是为了在编译器中方便表达现实生活中的事和物。如:定义一个int类型的变量,就告诉了编译器要分配4个字节的内存,所以...
  • .NET程序集的类型和部署方式

    千次阅读 2016-06-12 19:48:33
    两种程序集,两种部署 CLR支持两种程序集:命名程序集(weakly named assembly)和强命名程序集(strongly named ...两者的区别在于,强命名程序集使用发布者的公钥/私钥进行了签名。这一对密钥允许对程序集进行唯一性的
  • CLR支持两种类型的程序集:命名程序集(weakly named assembly)和强命名程序集(strongly named assembly)。二者的区别:强命名程序集使用发布者的公钥/私钥进行了签名。这一堆密钥允许对程序集进行唯一性的标识...
  • CLR支持两种类型的程序集:命名程序集(weakly named assembly)和强命名程序集(strongly named assembly)。二者的区别:强命名程序集使用发布者的公钥/私钥进行了签名。这一堆密钥允许对程序集进行唯一性的标识...
  • 1. 语言和强语言的区别.  编译器在编译的时候.语法检查的时候没有那么严格.  不管你怎么写都是可以的.  int num = 12.12;  优点: 灵活 咋个行都写.  缺点: 太灵活  强类型的语言: 编译器...
  • 一、游标分类Oracle数据库提供了俩种游标类型,分别为静态游标和动态游标,而静态游标又分为隐士游标和显式游标,动态游标分为弱类型和强类型俩种。二、静态游标1、显式游标 1).声明游标语法:cursor 游标名 [(游标...
  • 一、游标分类Oracle数据库提供了俩种游标类型,分别为静态游标和动态游标,而静态游标又分为隐士游标和显式游标,动态游标分为弱类型和强类型俩种。二、静态游标1、显式游标 1).声明游标语法:cursor 游标名 [(游标...
  • 1. 谈谈对 Python 和其他语言...(注:语言有无类型,弱类型和强类型三种。强类型指是程序中表达任何对象所从属类型都必须能在编译时刻确定。常见强类型语言有C++、Java、Apex和Python等。) 拿 C 语言和 P...
  • 巴别时代校招面试

    千次阅读 2016-09-30 11:33:47
    前天意外的收到了巴别的面试邀请电话,昨天下午去面的,巴别在北航的致真大厦里,约的是下午3点,等了差不多40分钟进去面了。...面试官:好,既然你讲到什么是弱类型和强类型语言,解释一下他们的区别吧 面
  • 先备知识 Java中不同引用类型 在Java中根据垃圾回收方式...一个对象如果只具有软引用,当JVM内存充足时候和强引用并无区别,那么当JVM内存不足时候,这个对象就会被垃圾回收。软引用可以和一个引用队列(Ref...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

弱类型和强类型的区别