语言分类强弱类型语言
语言分类
静态语言:变量定义时有类型声明的语言(变量类型在编译的时候确定,变量类型在编译的时候不能修改)
动态类型语言:变量在定义时,无类型声明的语言(变量类型在运行时确定,变量类型在运行时可以修改)
强类型语言,弱类型,无类型语言: 强弱是指语言系统的类型检查的严格程度,弱类型相对于强类型来说检查更不严格,比如说允许变量类型的隐式转换,允许强制类型转换等
强类型语言:java / C#,强类型语言是类型安全语言,是由编译器生成的中间代码来保证类型安全;
弱类型语言:C / C++ / javascript,其类型安全由程序员来保证;
无类型语言:是动态语言,变量中既可以存放数据又可以存放代码;
隐式类型转换
隐式是指源码中没有明显的类型转换代码,也就是说,一个变量,可以直接给它赋值字符串,也可直接给他赋值数值,还可以让字符串类型的变量和数值类型的变量相加,虽然最终结果未可知,但不会报错,可能只会有警告。这就是隐式类型转换,存在隐式类型转换地都是弱类型语言,如 javascript、php、c++。
总结
由上,换句话说:
强类型语言,当你定义一个变量是某个类型,如果不经过代码显示转换(强制转换)过,它就永远都是这个类型,如果把它当做其它类型来用,就会报错。Java 是强类型语言,不允许隐式转换,也就是说,如果你需要拿一个字符串变量当做整型类用,你必须显式地将变量类型转换好。
弱类型语言,你想把这个变量当做什么类型来用,就当做什么类型来用,语言的解析器会自动(隐式)转换。所以c++针对隐式类型转化这一特性,引入了
explicit
这一关键字,来限制隐式类型转换。
语言分类强弱类型语言相关推荐
- 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言概念辨析
编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言概念辨析 转自:https://blog.csdn.net/u010533843/article/details/76215487 编译型和解 ...
- 概念区别 【编译型语言与解释型语言、动态类型语言与静态类型语言、强类型语言与弱类型语言】
概念区别 [编译型语言与解释型语言.动态类型语言与静态类型语言.强类型语言与弱类型语言] 文章目录 一.编译型语言与解释型语言 二.动态类型语言与静态类型语言 三.强类型语言与弱类型语言 总结 一.编 ...
- Java 面试题 —— 强类型语言和弱类型语言的区别
Java 面试题 -- 强类型语言和弱类型语言的区别 强类型语言,也称为强类型定义语言,是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用. 如:Jav ...
- python中动态语言静态语言的定义_作为程序开发,你所需要知道的编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的概念以及区别...
作为程序开发,你所需要知道的编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言的概念以及区别! 在各式各样的开发过程当中,我相信各位开发小伙伴在开发过程中并没有太关注什么是解释性语言和编译性语 ...
- 强类型语言和弱类型语言;动态语言和静态语言
动态语言和静态语言 1.动态类型语言:是指在运行期间才去做数据类型检查的语言.在用动态语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来.Python和Rub ...
- Typescript笔记之基础知识(1):强类型语言和弱类型语言、静态语言和动态语言
foreword(前言) 这是本人关于Typescript的第一篇笔记,之所以选择将"强类型语言和弱类型语言.静态语言和动态语言"作为第一个想要去总结的主题,是因为个人觉得它很重要 ...
- python 强类型 弱类型_Python到底是强类型语言还是弱类型语言
0.前言 有读者跟我讨论起了另一个关于类型的问题,但是,我们很快就出现了重大分歧. 我们主要的分歧就在于:Python 到底是不是强类型语言?我认为是,而他认为不是. 他写了一篇很长的文章<谁告 ...
- java动态语言_java动态类型语言支持(三)
invokedynamic指令 在前面java动态类型语言支持(一)(二)中我们有提到invokedynamic指令和java.lang.invoke包中的MethodHandle机制,在某种程度上他 ...
- 强类型语言与弱类型语言/面向过程与面向对象
强类型语言 例:c++, java , python(强语言的动态脚本语言) 特点 a.类型之间不可隐式转换 b.更加可靠严谨,不容易出错 c.开发效率低 弱类型语言 例:javascript , v ...
最新文章
- python email模块详解_python模块之email: 电子邮件编码解码 (一、解码邮件)-阿里云开发者社区...
- Python list(列表) 详细总结
- 一个案例彻底弄懂如何正确使用 mysql inndb 联合索引
- Struts2配置文件中传递参数的一个小问题
- 程序员怎么样保证自己的程序没有BUG
- nginx rtmp module 代码详解 各模块主要功能
- boost_1.47在VS2010下的安装
- python中什么是链表_python中的数据结构-链表
- 关于constraint 的disable和enable
- iOS黑魔法 - Method Swizzling
- 软件测试加油站ic卡管理系统,加油站IC卡管理系统,加油机IC卡管理系统,加油站自助加油机功能介绍...
- 希尔(Hill)密码(C语言)
- 增强型植被指数——EVI
- 计算机应用的论文模版,完整版计算机应用技术毕业论文
- 使用CamlBuilder生成CAML查询语句
- 我的世界java版粘土服务器ip,clay黏土服务器下载
- 计算机视频追踪方向,基于深度学习的目标视频跟踪算法综述
- android短信接收器的实现,可以实现自动填写短信验证码功能
- JETT(三)-多Sheet渲染
- 十进制转换为任意进制的算法代码
热门文章
- JAVA开发与运维(JavaWeb测试环境搭建)
- 计算机英语统考试卷分析,英语试卷分析
- eclipse左侧字体大小设置
- 红米note4出厂系统版本_红米 Note 4 开始接收 MIUI 10 国际稳定版系统更新
- 《嵌入式Linux系统开发:基于 Yocto Project》笔记
- VM虚拟机-三种网络连接方式(桥接、NAT、仅主机模式)
- Markdown图片路径的改变方法
- markdown图片左对齐问题
- python预测糖尿病_Python数据挖掘 | 实战案例之预测糖尿病
- 《Get the Job You Want》 by Harvey B. Mackay