zoukankan      html  css  js  c++  java
  • Java vs C++ 基础异同比较

    数据类型

    • Java 中只有8种数据基本类型,C++的基本数据类型较多

    Java 中的8种基本数据类型为:boolean, byte, short, int, long, float, double, char

    c++ 中的数据类型较多,且部分写法有所区别:bool, short, int, long, float, double, char

    • 基本数据类型占用的字节数有所区别,因为 Java 支持跨平台,所以每个基本数据类型占用的字节数是固定的。而 c++ 在不同平台会有所差别。

    Java 中的boolean, byte 一个字节, char,short 两个字节, int, float 四个字节, long, double八个字节。

    c++ 中,规定了最小尺寸,bool, char一个字节,int, short两个字节,long 四个字节,规定了大数据类型不得小于小数据类型。比如long 所占字节数不得小于int所占字节数。

    • Java 中的数字变量都是有符号的,c++可以定义为有符号和无符号两种。

    在c++中,当有符号数跟无符号数相加的时候,有符号数会转换为无符号数,所以在c++中有符号和无符号相加也许是出现异常。

    • 在Java中整数型不能与布尔型相互转换,而c++中可以,非0代表真,0代表假

    变量

    • Java 中变量的声明必须赋值,而c++可以不进行赋值。

    Java中,如果变量在类中,那么创建对象的时候,会为其赋与默认值。

    c++的变量如果在函数外定义,未赋值,也会被赋予默认值。但是在函数内的话,值取决于内存的位置。

    public class Learn{ 
        public static void main(String[] args) { 
            Test test = new Test();
            System.out.println(test.a);
        }
    }
    
    class Test{
        int a;
    }
    
    //输出 
    //0
    
    int b;
    int main() {
        int a;
        cout << b << endl;
        cout << a << endl;
    }
    
    // 输出
    //0
    //4354430
    
    • C++中的 extern 关键词可以声明变量,告诉编译器这个变量的值可以在其他文件中找到。
    • 变量的赋值方式,c++ 花样比较多
    int main() {
        int a{1};
        int b = 2;
        int c = {3};
        int d(4);
        cout << a << endl;
        cout << b << endl;
        cout << c << endl;
        cout << d << endl;
    }
    

    复合类型(c++的引用和指针)

    • 引用

    引用是对对象的绑定,一旦绑定后就不允许进行修改。所以一定需要对引用进行初始化操作。

    int a = 1; 
    int &b = a;
    
    • 指针

    指针是一个对象,所以可以不对其进行赋值初始化操作。指针可以进行多次赋值操作。如果想为空指针,可以有下面的几种方式:

    int *p = 0;
    int *p = NULL;
    int *p = nullptr;
    
  • 相关阅读:
    文件上传跨域解决方案-jQuery-File-Upload
    求数列的的增幅,已知起始列和结束列,中间阶梯数
    mud那些坑 find_object问题
    jquery mCustomScrollbar使用
    JS的Date对象
    JS获取当前日期
    Go数组求和
    Go九九乘法表
    Go语言基础之time包
    Go语言基础之流程控制
  • 原文地址:https://www.cnblogs.com/zhouzhiyao/p/12578108.html
Copyright © 2011-2022 走看看