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获取当前时间的方法
Jan 14 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
Python 字符串与二进制串的相互转换示例
Jul 23 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
Jun 21 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
Oct 14 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
如何把外网python虚拟环境迁移到内网
May 18 Python
python对execl 处理操作代码
Jun 22 Python
详解python metaclass(元类)
Aug 13 Python
python中的时区问题
Jan 14 Python
Python 发送SMTP邮件的简单教程
Jun 24 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中目录,文件操作详谈
2007/03/19 PHP
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
ajax 的post方法实例(带循环)
2011/07/04 PHP
PHP学习笔记之session
2018/05/06 PHP
用jscript启动sqlserver
2007/06/21 Javascript
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
Python单例模式实例详解
2017/03/01 Python
Python格式化输出%s和%d
2018/05/07 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
python中文编码与json中文输出问题详解
2018/08/24 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
德国电子商城:ComputerUniverse
2017/04/21 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
自考毕业自我鉴定范文
2013/10/27 职场文书
《王二小》教学反思
2014/02/27 职场文书
三项教育活动实施方案
2014/03/30 职场文书
工厂仓管员岗位职责
2015/04/01 职场文书
音乐剧猫观后感
2015/06/04 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
浅谈Web Storage API的使用
2021/06/23 Javascript
使用python创建股票的时间序列可视化分析
2022/03/03 Python