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常用方法和技巧
May 18 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
各个系统下的Python解释器相关安装方法
Oct 12 Python
python利用标准库如何获取本地IP示例详解
Nov 01 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
Apr 24 Python
Python设计模式之原型模式实例详解
Jan 18 Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
Jan 21 Python
Python OpenCV去除字母后面的杂线操作
Jul 05 Python
使用matplotlib的pyplot模块绘图的实现示例
Jul 12 Python
python3+PyQt5+Qt Designer实现界面可视化
Jun 10 Python
Python中time标准库的使用教程
Apr 13 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学习笔记之一
2011/01/17 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
jQuery ui 1.7更新小结
2009/08/15 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
JavaScript编写棋盘覆盖代码详解
2017/08/28 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
Python 登录网站详解及实例
2017/04/11 Python
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python区分不同数据类型的方法
2019/10/14 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
竞选团支书演讲稿
2014/04/28 职场文书
大学活动总结范文
2014/04/29 职场文书
学校德育工作总结2015
2015/05/11 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
Java使用JMeter进行高并发测试
2021/11/23 Java/Android
一级电子管军用接收机测评
2022/04/05 无线电