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性能优化的20条建议
Oct 25 Python
python实现用于测试网站访问速率的方法
May 26 Python
python字典的常用操作方法小结
May 16 Python
Python 多线程实例详解
Mar 25 Python
python运行其他程序的实现方法
Jul 14 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
python3实现跳一跳点击跳跃
Jan 08 Python
mac 安装python网络请求包requests方法
Jun 13 Python
Python下应用opencv 实现人脸检测功能
Oct 24 Python
基于pygame实现童年掌机打砖块游戏
Feb 25 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
python实现凯撒密码、凯撒加解密算法
Jun 11 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准确获取文件MIME类型的方法
2015/06/17 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
NodeJS连接MongoDB数据库时报错的快速解决方法
2016/05/13 NodeJs
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
python操作redis方法总结
2018/06/06 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
简单了解Django项目应用创建过程
2020/07/06 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
Lands’ End官网:经典的美国生活方式品牌
2016/08/14 全球购物
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
英语专业毕业生自荐信范文
2013/12/31 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
护理专业毕业生自我鉴定总结
2014/03/24 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
python超详细实现完整学生成绩管理系统
2022/03/17 Python