zoukankan      html  css  js  c++  java
  • 总结几点C/C++、Java与Python的区别

    1.c++javapython都是面向对象的编程语言,但是c++java都是强类型语言,而python是一种弱类型语言

    2.垃圾回收机制:c++需要程序员收到回收,而javapython都有自己的垃圾回收机制GC。具体两者又有不同,python的垃圾收集机制主要是用的是引用计数方式。

    3.cjava中变量的存储是真实值,而python总存储的是引用,所以python不用声明类型名称,它的输入均默认为字符串。

    4.c++中用const来声明常量,java中使用final来声明,python中没有常量。

    5.for循环语句结构不同

    例:求1-5的算数和

    1Java

    public class test {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    int sum = 0;

    for(int i=1;i<6;i++) {

    sum+=i;

    }

    System.out.println(sum);

    }

    }

    2Python

    i=1

    sum=0

    for i in range(6):

        sum+=i

    print(sum)

    (3)c/c++

    #include<iostream>

    using namespace std;

    void main()

    {

    int sum = 0;

    for (int i = 0; i < 6; i++)

    {

    sum += i;

    }

    cout << sum;

    }

    6.输入语句不同

    (1)Python

    a=input()

    print(a)

    (2)Java

    import java.util.Scanner;

    public class test {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    Scanner sc = new Scanner(System.in);

    String name=sc.nextLine();

    System.out.println(name);

    }

    }

    (3)C++

    string a;

    cin >> a;

    cout << a;

    (4)C

    char str[5] = {0};

    scanf("%s",str);

    printf("%s",str);

    7.输出语句不同

    (1)Python

    print("python输出语句")

    (2)Java

    System.out.println("java输出语句");

    (3)c++

    #include<iostream>

    using namespace std;

    void main()

    {

    cout << "c++输出方式"<<endl;

    }

    (4)C

    printf("%s","c输出语句");

    8.c++和python中0代表false,其他的整数代表true,可用在if判断中,而java不行。

    (1)Python

    if(1):

    print("python输出语句")

    (2)Java

    if(1)

    System.out.println("java输出语句");

    代码不符合语法规则,不能执行

    (3)C++

    if (1)

    cout << "c++"<<endl;

    9.计算精度:计算1/1000时,python和c++的结果都是0.001,java得到的结果是0。

    (1)Python

    print(1/(10**3))

    (2)Java

    System.out.println(1/1000);

    (3)C/c++

    cout << 1/pow(10,3)<<endl;

    10.字符串比对方法不同

    (1)Python中==是判断两个值是否相等

    i='mql'

    m='mql'

    if i==m:

        print('yes')

    else:

    print('no')

    (2)Java中复合数据类型比对用.equals()方法,用==是在比对两个对象的地址是否相同。

    String str1 = new String("java");

    String str2 = "java";

    System.out.println("str1==str2: " + (str1==str2));

    System.out.println("str1.equals(str2): " + str1.equals(str2));

     

    (3)c++中使用string类的compare函数,如果值相等返回0,若字符串 str1 按字典顺序要先于 str2,则返回负值;反之,则返回正值。

    string str1="mql";

    string str2 = "mql";

    int result = str1.compare(str2);

    cout << result;

    11.异常捕获处理结构:java和c++使用的是try catch结构,python使用的是try except结构。

    (1)Python

    try:

        print(1/0)

    except Exception as e:

        print("除数不能为0")

    (2)Java

    try {

    System.out.println(1/0);

    } catch (Exception e) {

    // TODO: handle exception

    System.out.println("除数不能为0");

    }

    (3)c++

    void main()

    {

    int a = 0;

    try{

    if (a==0)

    throw "除数不能为0";

    }

    catch (const char* msg)

    {

    cout << msg << endl;

    }

    }

    12.判断结构不同

    (1)Python

    a="true"

    b="true"

    if a==b:

        print("两个值相等")

    2)Java

    String a="true";

    String b="true";

    if(a.equals(b))

    {

    System.out.println("两值相等");

    }

    (3)c/c++

    string a = "true";

    string b = "true";

    if (a.compare(b)==0)

    {

    cout << "两个值相等";

    }

  • 相关阅读:
    My SqL 常用命令
    RGB颜色查询对照表
    Android 对话框(Dialog)大全
    【转】Android一些知识点汇总
    Google Maps API v2密钥申请
    蓝牙中文API文档
    IOS 电商类app 第一版架构 改进
    ios 开发小记 (四)
    ios 深度复制 copy & mutablecopy
    CCS绘制成的三角形箭头
  • 原文地址:https://www.cnblogs.com/mqlblog/p/10574012.html
Copyright © 2011-2022 走看看