总结几点C/C++、Java与Python的区别
1.c++、java和python都是面向对象的编程语言,但是c++和java都是强类型语言,而python是一种弱类型语言
2.垃圾回收机制:c++需要程序员收到回收,而java和python都有自己的垃圾回收机制GC。具体两者又有不同,python的垃圾收集机制主要是用的是引用计数方式。
3.c和java中变量的存储是真实值,而python总存储的是引用,所以python不用声明类型名称,它的输入均默认为字符串。
4.c++中用const来声明常量,java中使用final来声明,python中没有常量。
5.for循环语句结构不同
例:求1-5的算数和
(1)Java:
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);
}
}
(2)Python:
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 << "两个值相等";
}