python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的lisp。python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于c++或java,python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。
java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级web应用开发和移动应用开发。java编程语言的风格十分接近c++语言。继承了c++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了c++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。在java se 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对java语言的解释是:“java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”。
那么python和java在语法上有什么区别呢,让我们通过几个生动的例子来一探究竟。
目标1:输出hello,world
python版
print("hello,world")
java版
1
2
3
4
5
|
public class helloworld { / / 这里的helloworld需要与文件名相同
public static void main(string[] args) {
system.out.println( "hello,world" );
}
}
|
目标2:获取键盘输入,并输出
python版
1
2
|
name = input ( "请输入您的名字:" )
print (name)
|
java版
1
2
3
4
5
6
7
8
|
import java.util.scanner;
public class inputstr {
public static void main(string[] args) {
system.out.println( "请输入您的名字:" );
string name = new scanner(system. in ). next ();
system.out.println(name);
}
}
|
目标3:输出1到10的随机一个数字
python版
1
2
|
import random
print (random.randint( 1 , 10 ))
|
java版
1
2
3
4
5
6
|
import java.util.random;
public class prandom {
public static void main(string[] args) {
system.out.println(new random().nextint( 10 ) + 1 )
}
}
|
目标4:指定一个列表或数组,[51, 22, 93, 17, 77, 31, 44, 55, 20],请对其快速排序
python版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
def quicksort(lis):
if len (lis) < 2 :
return lis
mid = lis[ len (lis) / / 2 ]
lis.remove(mid)
left, right = [], []
for li in lis:
if li > = mid:
right.append(li)
else :
left.append(li)
return quicksort(left) + [mid] + quicksort(right)
if __name__ = = "__main__" :
li = [ 51 , 22 , 93 , 17 , 77 , 31 , 44 , 55 , 20 ]
newl = quicksort(li)
print (newl)
|
java版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import java.util.arraylist;
public class quickpractise {
public static void main(string[] args) {
int list [] = { 51 , 22 , 93 , 17 , 77 , 31 , 44 , 55 , 20 };
arraylist<integer> lis = new arraylist<>();
for ( int i = 0 ;i< list .length;i + + ){
lis.add( list [i]);
}
arraylist<integer> newl = quicksort(lis);
system.out.println(newl);
}
public static arraylist<integer> quicksort(arraylist<integer> lis) {
if (lis.size() < 2 ) {
return lis;
}
int len = lis.size() / 2 ;
int mid = lis.get( len );
lis.remove( len );
arraylist<integer> left = new arraylist<>();
arraylist<integer> right = new arraylist<>();
for ( int i = 0 ;i<lis.size();i + + ){
int a = lis.get(i);
if (a> = mid){
right.add(a);
}
else {
left.add(a);
}
}
arraylist<integer> left1 = quicksort(left);
arraylist<integer> right1 = quicksort(right);
left1.add(mid);
for ( int i = 0 ;i<right1.size();i + + ){
left1.add(right1.get(i));
}
return left1;
}
}
|
最后总结一下,在java中每使用一个变量都要定义类型,函数定义的时候如果有返回值还要把返回类型也要写上。python中定义列表很简洁不需要通过指定个数和内容来定义,java中定义了个数以后是不能变的,如果需要可以变需要通过arraylist<>来定义,类型也需要指定。总体感觉在同样的思路下,去完成一个代码,python的确完美胜出,正应了那句话:"life is short,i use python"。
总结
以上所述是小编给大家介绍的python和java的语法对比分析语法简洁上python的确完美胜出,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!原文链接:https://www.cnblogs.com/spiderc/archive/2019/05/09/10841891.html