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采集腾讯新闻实例
Jul 10 Python
利用Python获取操作系统信息实例
Sep 02 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 Python
Flask框架信号用法实例分析
Jul 24 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
Python3和pyqt5实现控件数据动态显示方式
Dec 13 Python
Python嵌套函数,作用域与偏函数用法实例分析
Dec 26 Python
python将图片转base64,实现前端显示
Jan 09 Python
基于python监控程序是否关闭
Jan 14 Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 07 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
ftp类(myftp.php)
2006/10/09 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
js性能优化技巧
2015/11/29 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
Python greenlet实现原理和使用示例
2014/09/24 Python
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
Python人脸识别初探
2017/12/21 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
工作自我评价怎么写
2014/01/29 职场文书
活动总结的格式
2014/05/07 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
元宵节寄语大全
2015/02/27 职场文书
安全保证书怎么写
2015/02/28 职场文书