深入理解:Java是类型安全的语言,而C++是非类型安全的语言

 更新时间:2013年06月04日 10:34:23   作者:  
本篇文章是对Java是类型安全的语言,而C++是非类型安全的语言进行了详细的分析介绍,需要的朋友参考下
有过C++开发经验的人会发现,我们可以将0作为false,非零作为true。一个函数即使是bool类型的,但是我们还是可以返回int类型的,并且自动将0转换成false,非零转换成true。代码实例如下:
复制代码 代码如下:

#include<iostream>
 #include<stdlib.h>
 using namespace std;

 bool fun()//函数返回类型是bool,但是我们在函数中可以返回int类型。
 {
     return 1;
 }

 void main()
 {
     int a=1;
     if(a)//a是int类型的,但是可以作bool类型来使用。
     {
         cout<<"C++是非类型安全的。"<<endl;
     }
     system("pause");
 }

但是,在java中,我们就不能这样使用了,java中不能做到int类型转bool类型,比如以下代码:
复制代码 代码如下:

public class TypeSafeTest {
    public static void main(String[] args) {
        int i=1;
        if(i)
        {
            System.out.println("java是类型安全语言");
        }
    }
}

执行上述代码会报如下错误:
复制代码 代码如下:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from int to boolean
at TypeSafeTest.main(TypeSafeTest.java:4)

上述错误表明在java中int类型不能在自动转变成bool类型了。这就是类型安全的意思。

相关文章

  • C++实现LeetCode(60.序列排序)

    C++实现LeetCode(60.序列排序)

    这篇文章主要介绍了C++实现LeetCode(60.序列排序),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++实现回文串判断的两种高效方法

    C++实现回文串判断的两种高效方法

    文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2025-03-03
  • C/C++ 实现简易HTTP服务器的示例

    C/C++ 实现简易HTTP服务器的示例

    这篇文章主要介绍了C/C++ 实现简易HTTP服务器的示例,帮助大家更好的理解和学习C/C++编程,感兴趣的朋友可以了解下
    2020-10-10
  • 用C语言实现简单扫雷游戏

    用C语言实现简单扫雷游戏

    这篇文章主要为大家详细介绍了用C语言实现简单扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C/C++ Qt TabWidget 实现多窗体创建详解

    C/C++ Qt TabWidget 实现多窗体创建详解

    TabWidget组件配合自定义Dialog组件,可实现一个复杂的多窗体分页结构。这篇文章就主要介绍了如何通过TabWidget实现多窗体的创建,感兴趣的小伙伴可以了解一下
    2021-12-12
  • Qt6远程连接MySQL数据库的简单易上手版

    Qt6远程连接MySQL数据库的简单易上手版

    在Qt应用程序里,可实现远程MySQL服务器的连接操作,本文就来介绍一下Qt6远程连接MySQL数据库,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • 利用Matlab仿真实现图像烟雾识别(k-means聚类图像分割+LBP+PCA+SVM)

    利用Matlab仿真实现图像烟雾识别(k-means聚类图像分割+LBP+PCA+SVM)

    本文主要介绍了利用k-means聚类实现图像分割+LBP算法进行特征提取+PCA算法进行特征降维+SVM算法训练二分类模型从而实现烟雾识别。文中介绍很详细,感兴趣的朋友可以了解一下
    2021-12-12
  • C++使用map实现多进程拷贝文件的程序思路

    C++使用map实现多进程拷贝文件的程序思路

    这篇文章主要介绍了C++使用mmap实现多进程拷贝文件,通过本文给大家分享程序思路及完整代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • C++ odr用法案例详解

    C++ odr用法案例详解

    这篇文章主要介绍了C++ odr用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • C++中继承的概念和定义

    C++中继承的概念和定义

    这篇文章主要介绍了详解C++ 中的概念和定义,帮助大家更好的理解和学习使用c++,感兴趣的朋友可以了解下,希望能给你带来帮助
    2021-08-08

最新评论