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


Posted in Python onMay 10, 2019

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的确完美胜出,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python使用range函数计算一组数和的方法
May 07 Python
Python pandas用法最全整理
Aug 04 Python
python实现邮件自动发送
Aug 10 Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 Python
Python下应用opencv 实现人脸检测功能
Oct 24 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
python Selenium 库的使用技巧
Oct 16 Python
想学画画?python满足你!
Dec 24 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
python opencv将多个图放在一个窗口的实例详解
Feb 28 Python
python绘制简单直方图(质量分布图)的方法
Apr 21 Python
Python3列表内置方法大全及示例代码小结
May 10 #Python
详解python 爬取12306验证码
May 10 #Python
详解用python写一个抽奖程序
May 10 #Python
python实现小球弹跳效果
May 10 #Python
基于python实现百度翻译功能
May 09 #Python
python使用time、datetime返回工作日列表实例代码
May 09 #Python
python 对字典按照value进行排序的方法
May 09 #Python
You might like
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
javascript 对象的定义方法
2007/01/10 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
详解javascript函数的参数
2015/11/10 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
python基础教程之Filter使用方法
2017/01/17 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
企业面试题试卷附带答案
2015/12/20 面试题
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
介绍一下Java中的static关键字
2012/05/12 面试题
竞选班长演讲稿400字
2014/08/22 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android