总结几点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 << "两个值相等";

}

posted on 2019-03-21 19:43  孟庆淋  阅读(5862)  评论(0编辑  收藏  举报

导航