热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

强数据类型和弱数据类型

强类型定义语言一种总是强制类型定义的语言。Java和Python是强制类型定义的。如果你有一个整数,如果不显示地进行转换,你不能将其视为一个字符串弱类型定义语言

强类型定义语言  
  
一种总是强制类型定义的语言。JavaPython是强制类型定义的。如果你有一个整数,如果不显示地进行转换,你不能将其视为一个字符串

 

弱类型定义语言  
   
一种类型可以被忽略的语言,与强类型定义相反。Vbscript是弱类型定义的。在Vbscript中,可以将字符串  '12 '  和整数  3  进行连接得到字符串  '123 ',然后可以把它看成整数  123,而不需要显示转换。

C++  是强类型语言,因为你定义了一个整型变量后,就不能付一个字符型数据给这个变量(除非你用强制类型转换)像VBPHP,这些语言, 就属于弱类型语言,因为你使用一个变量,可以不经过定义。  而且当你付不同类型数据给这个变量, 也不会编译出错,而且是允许这样做的。

 

C#

int i=3;  i="a";    不可以

Javascript

var i=3;  i="a";  可以

强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。没有好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。弱类型更灵活,但是效率低,而且出错概率高


   C#
是强类型语言,通俗地讲,便是指C#中的变量在开发时的类型便是明确的:String便是StringInt32就是Int32,毫无争议。强类型的好处有很多

能够享受代码提示功能

能够获得重构工具的支持

能够在编译期发现更多错误

不过C#也不是绝对的强类型语言,因为它也有弱类型,那就是Object。我们知道Object是所有类型的最终基类,任何类型的对象都可以使用Object来引用。可是一旦转化成Object的变量之后,代码提示便消失了;即使我们明确对象的确切类型,也必须通过Cast才能使用——更何况它形成了一种被滥用误用的机会。例如一段错误代码可能会传入一个不符合约定类型的对象,那么就会造成错误。更严重的是,这样的错误可能只要在运行时才能被发现,编译器对此无能为力。


推荐阅读
  • 一个产品数组拼图|集合 2 (O(1)空间) ... [详细]
  • 程序打印菱形 ... [详细]
  • 本文深入探讨了Java注解的基本概念及其在现代Java开发中的应用。文章不仅介绍了如何创建和使用自定义注解,还详细讲解了如何利用反射机制解析注解,以及Java内建注解的使用场景。 ... [详细]
  • 手把手教你构建简易JSON解析器
    本文将带你深入了解JSON解析器的构建过程,通过实践掌握JSON解析的基本原理。适合所有对数据解析感兴趣的开发者。 ... [详细]
  • 导读上一篇讲了zsh的常用字符串操作,这篇开始讲更为琐碎的转义字符和格式化输出相关内容。包括转义字符、引号、print、printf的使用等等。其中很多内容没有必要记忆,作为手册参 ... [详细]
  • 本文实例为大家分享了Python实现代码统计工具的具体代码,供大家参考,具体内容如下思路:首先获取所有文件,然后统计每个文 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • Shiro功能拓展:登录失败重试次数限制
    本文详细介绍了如何在Apache Shiro框架中实现对用户登录失败重试次数的限制,通过自定义密码匹配器来增强系统的安全性。该方法不仅能够有效防止暴力破解攻击,还能确保合法用户的账户安全。 ... [详细]
  • 本文探讨了在Java应用中,由于对象间循环引用导致重写toString方法时出现StackOverflowError的具体情况,并提供了有效的解决方案。 ... [详细]
  • 本文旨在介绍Three.js的基础概念及其应用场景。Three.js是一个基于WebGL的JavaScript库,用于在网页上创建和显示3D图形。文中将从Canvas的基本功能出发,探讨其局限性,并引出WebGL及Three.js的解决方案。 ... [详细]
  • 近期参加了一次CSDN线上活动,有幸获得左飞老师的《算法之美——隐匿在数据结构背后的原理(C++版)》一书。为了加深理解并提升编程技能,我决定将书中22个经典算法问题使用Java语言进行重新编写。本文将重点介绍如何使用Java实现Z字形矩阵排列。 ... [详细]
  • 在现代多线程编程中,Lock接口提供的灵活性和控制力超越了传统的synchronized关键字。Lock接口不仅使锁成为一个独立的对象,还提供了更细粒度的锁定机制,例如读写锁(ReadWriteLock)。本文将探讨如何利用ReentrantReadWriteLock提高并发性能。 ... [详细]
  • 本文介绍了如何有效解决在Java编程中遇到的 'element cannot be mapped to a null key' 错误,通过具体的代码示例展示了问题的根源及解决方案。 ... [详细]
  • 本文详细介绍了Java中`org.sakaiproject.site.api.Site.addPage()`方法的功能和使用方法,并提供了多个实际项目中的代码示例。 ... [详细]
  • 嗨,我正在为我的api调用使用axious,并且无法在nodejs中解析我的数据,不确定为 ... [详细]
author-avatar
赵以书的话_256
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有