欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python和Java的语法对比,语法简洁上python的确完美胜出

程序员文章站 2022-04-19 13:17:19
Python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的LISP。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C+ ......

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版

public class helloworld {  //这里的helloworld需要与文件名相同
  public static void main(string[] args) {
    system.out.println("hello,world");
  }
}

目标2:获取键盘输入,并输出

python版

name = input("请输入您的名字:")
print(name)

java版

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版

import random
print(random.randint(1,10))

java版

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版

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版

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的确完美胜出

   欢迎小伙伴们关注,不定期分享学习心得及学习资料