什么是强类型和弱类型

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:59:06

弱类型语言vbs:
a=1
b=a+"1"+"a" //结果是11a,这里 a 成了字符串
c=a+1 //结果是2 ,这里a则是数字型

强类型语言:c#
int a=2
string b=a.ToString()+"1"+"a"
int c=a+1

看到了吗?区分大小写,需要实现申明类型外,一个重要的区别是,弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型
而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也有一定的默认转换,当绝没有弱类型那么随便

ps:弱类型代码简单,但因为变量没有确定的类型,所以容易出错!强类型代码复杂(比如:转换日期显示格式 (convert.toDatetime("2007-1-1 08:08:08")).ToString("yyyy-MM-dd"),呵呵你可以看到这种写法相当麻烦),但因为有严格定义所以不容易出错

C++,c#,java是强类型语言,因为你定义了一个整型变量后,就不能付一个字符型数据给这个变量(除非你用强制类型转换)
像VB,PHP这些语言,就属于弱类型语言,因为你使用一个变量, 可以不经过定义