精华内容
下载资源
问答
  • java和python对比

    千次阅读 2017-08-26 15:44:05
    对比java和python  1.难易度而言。python远远简单于java。  2.开发速度。Python远优于java  3.运行速度。java远优于标准python,pypycython可以追赶java,但是两者都没有成熟到可以做项目的程度。  4.可用资源...
    对比java和python 
    

      1.难易度而言。python远远简单于java。
      2.开发速度。Python远优于java
      3.运行速度。java远优于标准python,pypy和cython可以追赶java,但是两者都没有成熟到可以做项目的程度。
      4.可用资源。java一抓一大把,python很少很少,尤其是中文资源。
      5.稳定程度。python3和2不兼容,造成了一定程度上的混乱以及大批类库失效。java由于有企业在背后支持所以稳定的多。
      6.是否开源。python从开始就是完全开源的。Java由sun开发,但现在有GUN的Openjdk可用,所以不用担心。
      7.编译还是解释。两者都是解释型。
      我理解,C好比手动挡车(编译型语言),java和python(解释型语言)好比自动档车。跑的最快的车都是手动档,但是对开不好的人来说,开自动档反而更快些。
      Kno有一篇文章谈到选择编程语言,“先确定你的需求”,不要由语言的简单还是复杂去觉定。只有能够编写你真正认为有用的程式,才能获得满足感,学习才能继续。
      那么java和python分别适用于什么样的环境呢。由sourceforge.net可以看出:
      最著名,久经考验的普通应用程序,基本都是c++写的。例如emule,7-zip,WinSCP,FileZilla等等等。
      一部分由java开发,例如最有名的OpenOffice。
      python写的很少,如Pidgin,FireBird。
      开发语言(有多少个程式由此语言开发)的排行如下:
      # Java46,202
      # C++36,895
      # PHP30,048
      # C28,075
      # C#13,476
      # Python13,379
      # JavaScript11,285
      # Perl9,216
      # Unix Shell3,869
      # Delphi/Kylix3,548
      # Visual Basic3,186
      # Visual Basic .NET
      很多框架和类库也和应用软件一样在这个列表里,因此比较公平。
      由此可以看出,java不管在GNU还是商业领域都是应用最广的语言。C主要用于构建系统底层。c++和java用于构建中间应用层。如果资源足够,那么会选择c++开发,以求运行速度,否则会用java开发,以求开发速度。python在各方面都比java优秀,可谓次世代语言。可最受争议的是它的速度,纯python比java慢很多,以及背后没有商业支持,稳定性备受诟病。目前为止,python在商业层次上,主要作为一种胶水语言,粘合其他语言(主要是c/c++)的类库。在GNU领域,主要局限于小规模的应用和个人化应用。以及逆向工程(黑客)应用。
      为什么java在服务器端被大量应用,在客户端用的却比较少呢。难道服务器端用到的计算量反而少么。我认为这说明对比c++,java的速度还是可以接受的。无法被接受的是JRE平台,以及JRE平台启动时卡的那一会儿。我就曾经为此认为java写就的程式性能低下。
      python用户常常拿来说嘴的一点是:python并不慢,因为python运行时调用了大量c库,而c是很快的。反过来想想,这正反映了其胶水语言的事实,任何一种语言都可以调用c库,这么比较有价值么?假如一个库完全由python,那么它的运行效率...不说也罢。编程不能总是用别人的库啊。

    ----

    Python编程语言目前的使用中需要不断的学习。下面我们就详细的看看如何才能更好的进行相关知识的学习。最近我一直在看一个基于wxPython的GUI应用程序代码,大概45.5KLOC的左右,而且这还不包括它所用到的库(如Twisted)。

    代码是由那些对Python比较生疏的Java的开发者写的,所以它存在很严重的性能问题(如三十秒的启动时间)。在检查代码的时候,我发现他们写了很多在Java中能讲得通但是对Python编程语言来说去却是很难接受的东西。并不是因为“Python比Java慢”,而是因为在Python中有更方便的方法去完成同样的目标,甚至是在Java中不可能的事情。

    所以,令人难过的事就是这些家伙事倍功半,写的那些代码比本应合乎用Python编程语言实现的慢很多。下面,让我们来看一些例子:

    ◆Java中的静态方法不能翻译成Python的类方法。哦,当然,他多多少少也能产生同样的效果,但类方法的目的实际上是做一些通常在Java中甚至都不可能的事情(如继承一个非默认的默认函数)。Java静态方法惯用的翻译通常翻译成一个模块级的函数,而不是一个类方法或静态方法。(并且静态常量应该翻译成模块级常量.) 
    这不是性能上的问题,但是一个Python编程语言程序员如果想调用Foo.someMethod,他要是被迫采用像Java中Foo.Foo.someMethod的方式去做的话,那么他就会被逼疯的。有一点一定要注意:调用一个类方法需要一个额外的存储空间,而调用静态方法或函数就不需要这样.

    对了,还有就是这些Foo.Bar.Baz的属性链也不是自己就能数出来的.在Java中,这些带点的名称是有编译器来查找的,运行的时候并不会去考虑一共有多少.而在Python中,查找的过程是在运行时进行的,所以要包括每个点.(在Python中,要记住一点,"平铺的结构别嵌套的要好",尽管相对于从性能方面来说,可能它更多涉及的是"可读性"和"简单要比复杂好".)

    ◆要使用switch语句吗?Python编程语言将是一个哈希表,不是一堆if-then语句。要使用在Java中不是switch语句而且还有字符串参与了的一堆if-then语句吗?它将仍然是一个哈希表。CPython字典是用在我们所了解的领域中认为是最佳性能之一的哈希表来实现的。你自己所写的代码也不会比这个再好了,除非你是Guido、Tim Peters和Raymond Hettinger的私生子,而且还是遗传增强了的。

    ◆XML不是答案。它也不是一个问题。现在用正则表达式来解释Jamie Zawinski,“一些人,当他遇到一个问题的时候,就会想‘我知道,我要用XML.’那么他们就有两个问题了。”

    相对于在Java中来说这是个不同的情况,因为比起Java代码,XML是灵活而且有弹性的。但比起Python的代码来,XML就是一个船锚,一个累赘。在Python中,XML是用来协同工作的,而不是你的核心功能,因为你不需要那么做。在Java中,XML可能是你的救世主,因为它让你实现了特定领域的语言并且“不用编码”就提高你的应用程序的适应性。在Java中,避免编码是一个很大的优势,因为编码意味着重新编译。但在Python中,通常是,写代码比写XML更简单。还有就是Python处理代码要比处理XML快很多很多。(不仅仅是这个,你必须写XML处理代码,同时Python就已经为你写好了.)

    如果你是一个Java程序员,你并不能利用本能知觉来考虑你是否要在你的Python核心应用中使用XML作为一部分。如果你不是因为信息交互的原因去实现一个已经存在的XML标准或是建立某种输入、输出格式或者建立某种XML编辑器或处理工具,那么就不要这么做。根本不要去这么做。甚至连想都不要想。现在,丢掉那个XML模式然后把你的手解放出来吧!如果你的应用程序或者平台要被Python编程语言开发者使用,他们只会感谢你不要在他们的工作中添加使用XML的负担。

    (这里唯一的例外是如果你的客户(your target audience)确确实实因为某些原因而需要使用XML。就好像,他们拒绝学习Python但如果你使用XML他们就给你付钱,或者你打算给他们一个很棒的能编辑XML的GUI,还有就是这个XML的GUI是另一个人写的,同时你得到免费使用的权利。还有一些很少见的架构上的原因需要用到XML。相信我,它们不会应用到你的程序中去的。如果有疑问,对一个资深的Python开发员解释你的用例。或者,如果你脸皮厚而且不介意被人嘲笑的话,试试向一个Lisp程序解释你的程序为什么要用XML!)

    ◆Getter和setter是恶魔。我应该说它是恶魔,是魔鬼!Python编程语言对象不是Java Bean。不要写什么getter和setter,而是还把它们内置在“属性”里面。它直到你能证明你需要比一个简单访问复杂一点的功能时才有意义,要不然,不要写getter和setter。它们是CPU时间的浪费,更要紧的是,它们还是程序员宝贵时间的浪费。不仅仅对于写代码和测试的人,对于那些要阅读和理解它们的人也是。

    在Java中,你必须使用getter和setter,因为公共字段不允许你以后改变想法再去使用getter和setter。所以,在Java中你最好事先避开这些"家务杂事".在Python中,这样做很傻,因为你可以以一个普通特性开始并可以在任何时间改变你的想法,而不用影响到这个类的任何客户。所以不要写getter和setter方法。

    ◆代码重复在Java中通常来说就是一场不可避免的灾祸,你必须经常反复地写同一个方法而只有一点点的变化(通常是这是因为静态类型约束)。在Python中这样做是没有必要的也是不值得的(除了极少数一些特定的场合需要内联一些要求性能的函数)。如果你发现自己一遍一遍在写同样的代码而且变化很少,你就需要去学一下闭包。他们实际不并是那么可怕。

     

    这就是你要做的。你写了一个包含了函数的函数。这里内部的函数就是你要一遍遍写的函数的模版,但是在里面加入了针对不同情况的函数要使用变量。外部的函数需要刚刚提高的那种变量作为参数,并且将内部的函数作为结果返回。然后,每次你要写另一种略微不同的函数的时候,你只要调用这个外部的函数,并且把返回值赋给你要让“重复”函数出现的名字。现在,如果你需要改变这个工作方式,你只需要改变一个地方:这个模版。

    在我所看过的应用程序/平台中,只有一个很微不足道的程序使用了这个技术,它去掉了数百行重负的代码。实际上,因为开发者使用了特别的样板文件来为这个平台开发插件,所以这会节省很多很多第三方开发人员的代码,同时也使那些程序员要学习的东西变得简单了。

    这只是Java->Python编程语言思维方式转变的冰山一角而已,现在我能正确的转变而不用去钻研程序的细节。本质上,如果你曾经用过一段时间Java,而且对Python比较陌生,那么你不要太相信自己的本能。你的本能已经被Java调节,而不是Python。向后退一步来说,最重要的是不要再写这么多代码了。

    为了这样做,让自己觉得更加需要Python。假装好像Python是可以做任何你想做的魔棒,而你无须出一点力。问一下,“Python怎样解决我的问题?”还有“Python语言的哪个特点和我的问题最相似?”如果对于你需要的东西其实已经有了某种固定形式,那么你绝对会感到惊讶的。事实上,这种现象实在是太普遍了,甚至即使在很有经验的Python程序员中也会出现,以至于Python社区中给这种现象起了个名字。我们称之为“GUIDO的时间机器”,因为在我们自己还没有掌握它之前,通常看上去要得到我们所需要的东西好像那是唯一的方法。

    所以,如果你在使用Python编程语言时候不能感到比使用Java要至少多出10倍的生产力话,你就最好做一下改动,你是不是忘记使用time machine!(chances are good that you've been forgetting to use the time machine)(同时如果你还怀念你的Java IDE,你可以这样想:因为你写的Python程序比他所需要的要复杂得多.)


    原文来自  功夫熊猫 http://www.cnblogs.com/kungfupanda/p/4601947.html#3633046

    展开全文
  • 对比java和python对比

    2019-01-08 06:23:15
    对比java和python对比java和python 2011年04月18日 1.难易度而言。python远远简单于java。 2.开发速度。Python远优于java 3.运行速度。java远优于标准python,pypycython可以追赶java,但是两者都没有成熟到...

    对比java和python

    对比java和python 
    2011年04月18日
      1.难易度而言。python远远简单于java。
      2.开发速度。Python远优于java
      3.运行速度。java远优于标准python,pypy和cython可以追赶java,但是两者都没有成熟到可以做项目的程度。
      4.可用资源。java一抓一大把,python很少很少,尤其是中文资源。
      5.稳定程度。python3和2不兼容,造成了一定程度上的混乱以及大批类库失效。java由于有企业在背后支持所以稳定的多。
      6.是否开源。python从开始就是完全开源的。Java由sun开发,但现在有GUN的Openjdk可用,所以不用担心。
      7.编译还是解释。两者都是解释型。
      我理解,C好比手动挡车(编译型语言),java和python(解释型语言)好比自动档车。跑的最快的车都是手动档,但是对开不好的人来说,开自动档反而更快些。
      Kno有一篇文章谈到选择编程语言,“先确定你的需求”,不要由语言的简单还是复杂去觉定。只有能够编写你真正认为有用的程式,才能获得满足感,学习才能继续。
      那么java和python分别适用于什么样的环境呢。由sourceforge.net可以看出:
      最著名,久经考验的普通应用程序,基本都是c++写的。例如emule,7-zip,WinSCP,FileZilla等等等。
      一部分由java开发,例如最有名的OpenOffice。
      python写的很少,如Pidgin,FireBird。
      开发语言(有多少个程式由此语言开发)的排行如下:
      # Java46,202
      # C++36,895
      # PHP30,048
      # C28,075
      # C#13,476
      # Python13,379
      # JavaScript11,285
      # Perl9,216
      # Unix Shell3,869
      # Delphi/Kylix3,548
      # Visual Basic3,186
      # Visual Basic .NET
      很多框架和类库也和应用软件一样在这个列表里,因此比较公平。
      由此可以看出,java不管在GNU还是商业领域都是应用最广的语言。C主要用于构建系统底层。c++和java用于构建中间应用层。如果资源足够,那么会选择c++开发,以求运行速度,否则会用java开发,以求开发速度。python在各方面都比java优秀,可谓次世代语言。可最受争议的是它的速度,纯python比java慢很多,以及背后没有商业支持,稳定性备受诟病。目前为止,python在商业层次上,主要作为一种胶水语言,粘合其他语言(主要是c/c++)的类库。在GNU领域,主要局限于小规模的应用和个人化应用。以及逆向工程(黑客)应用。
      为什么java在服务器端被大量应用,在客户端用的却比较少呢。难道服务器端用到的计算量反而少么。我认为这说明对比c++,java的速度还是可以接受的。无法被接受的是JRE平台,以及JRE平台启动时卡的那一会儿。我就曾经为此认为java写就的程式性能低下。
      python用户常常拿来说嘴的一点是:python并不慢,因为python运行时调用了大量c库,而c是很快的。反过来想想,这正反映了其胶水语言的事实,任何一种语言都可以调用c库,这么比较有价值么?假如一个库完全由python,那么它的运行效率...不说也罢。编程不能总是用别人的库啊。

    ----

    Python编程语言目前的使用中需要不断的学习。下面我们就详细的看看如何才能更好的进行相关知识的学习。最近我一直在看一个基于wxPython的GUI应用程序代码,大概45.5KLOC的左右,而且这还不包括它所用到的库(如Twisted)。

    代码是由那些对Python比较生疏的Java的开发者写的,所以它存在很严重的性能问题(如三十秒的启动时间)。在检查代码的时候,我发现他们写了很多在Java中能讲得通但是对Python编程语言来说去却是很难接受的东西。并不是因为“Python比Java慢”,而是因为在Python中有更方便的方法去完成同样的目标,甚至是在Java中不可能的事情。

    所以,令人难过的事就是这些家伙事倍功半,写的那些代码比本应合乎用Python编程语言实现的慢很多。下面,让我们来看一些例子:

    ◆Java中的静态方法不能翻译成Python的类方法。哦,当然,他多多少少也能产生同样的效果,但类方法的目的实际上是做一些通常在Java中甚至都不可能的事情(如继承一个非默认的默认函数)。Java静态方法惯用的翻译通常翻译成一个模块级的函数,而不是一个类方法或静态方法。(并且静态常量应该翻译成模块级常量.) 
    这不是性能上的问题,但是一个Python编程语言程序员如果想调用Foo.someMethod,他要是被迫采用像Java中Foo.Foo.someMethod的方式去做的话,那么他就会被逼疯的。有一点一定要注意:调用一个类方法需要一个额外的存储空间,而调用静态方法或函数就不需要这样.

    对了,还有就是这些Foo.Bar.Baz的属性链也不是自己就能数出来的.在Java中,这些带点的名称是有编译器来查找的,运行的时候并不会去考虑一共有多少.而在Python中,查找的过程是在运行时进行的,所以要包括每个点.(在Python中,要记住一点,"平铺的结构别嵌套的要好",尽管相对于从性能方面来说,可能它更多涉及的是"可读性"和"简单要比复杂好".)

    ◆要使用switch语句吗?Python编程语言将是一个哈希表,不是一堆if-then语句。要使用在Java中不是switch语句而且还有字符串参与了的一堆if-then语句吗?它将仍然是一个哈希表。CPython字典是用在我们所了解的领域中认为是最佳性能之一的哈希表来实现的。你自己所写的代码也不会比这个再好了,除非你是Guido、Tim Peters和Raymond Hettinger的私生子,而且还是遗传增强了的。

    ◆XML不是答案。它也不是一个问题。现在用正则表达式来解释Jamie Zawinski,“一些人,当他遇到一个问题的时候,就会想‘我知道,我要用XML.’那么他们就有两个问题了。”

    相对于在Java中来说这是个不同的情况,因为比起Java代码,XML是灵活而且有弹性的。但比起Python的代码来,XML就是一个船锚,一个累赘。在Python中,XML是用来协同工作的,而不是你的核心功能,因为你不需要那么做。在Java中,XML可能是你的救世主,因为它让你实现了特定领域的语言并且“不用编码”就提高你的应用程序的适应性。在Java中,避免编码是一个很大的优势,因为编码意味着重新编译。但在Python中,通常是,写代码比写XML更简单。还有就是Python处理代码要比处理XML快很多很多。(不仅仅是这个,你必须写XML处理代码,同时Python就已经为你写好了.)

    如果你是一个Java程序员,你并不能利用本能知觉来考虑你是否要在你的Python核心应用中使用XML作为一部分。如果你不是因为信息交互的原因去实现一个已经存在的XML标准或是建立某种输入、输出格式或者建立某种XML编辑器或处理工具,那么就不要这么做。根本不要去这么做。甚至连想都不要想。现在,丢掉那个XML模式然后把你的手解放出来吧!如果你的应用程序或者平台要被Python编程语言开发者使用,他们只会感谢你不要在他们的工作中添加使用XML的负担。

    (这里唯一的例外是如果你的客户(your target audience)确确实实因为某些原因而需要使用XML。就好像,他们拒绝学习Python但如果你使用XML他们就给你付钱,或者你打算给他们一个很棒的能编辑XML的GUI,还有就是这个XML的GUI是另一个人写的,同时你得到免费使用的权利。还有一些很少见的架构上的原因需要用到XML。相信我,它们不会应用到你的程序中去的。如果有疑问,对一个资深的Python开发员解释你的用例。或者,如果你脸皮厚而且不介意被人嘲笑的话,试试向一个Lisp程序解释你的程序为什么要用XML!)

    ◆Getter和setter是恶魔。我应该说它是恶魔,是魔鬼!Python编程语言对象不是Java Bean。不要写什么getter和setter,而是还把它们内置在“属性”里面。它直到你能证明你需要比一个简单访问复杂一点的功能时才有意义,要不然,不要写getter和setter。它们是CPU时间的浪费,更要紧的是,它们还是程序员宝贵时间的浪费。不仅仅对于写代码和测试的人,对于那些要阅读和理解它们的人也是。

    在Java中,你必须使用getter和setter,因为公共字段不允许你以后改变想法再去使用getter和setter。所以,在Java中你最好事先避开这些"家务杂事".在Python中,这样做很傻,因为你可以以一个普通特性开始并可以在任何时间改变你的想法,而不用影响到这个类的任何客户。所以不要写getter和setter方法。

    ◆代码重复在Java中通常来说就是一场不可避免的灾祸,你必须经常反复地写同一个方法而只有一点点的变化(通常是这是因为静态类型约束)。在Python中这样做是没有必要的也是不值得的(除了极少数一些特定的场合需要内联一些要求性能的函数)。如果你发现自己一遍一遍在写同样的代码而且变化很少,你就需要去学一下闭包。他们实际不并是那么可怕。

     

    这就是你要做的。你写了一个包含了函数的函数。这里内部的函数就是你要一遍遍写的函数的模版,但是在里面加入了针对不同情况的函数要使用变量。外部的函数需要刚刚提高的那种变量作为参数,并且将内部的函数作为结果返回。然后,每次你要写另一种略微不同的函数的时候,你只要调用这个外部的函数,并且把返回值赋给你要让“重复”函数出现的名字。现在,如果你需要改变这个工作方式,你只需要改变一个地方:这个模版。

    在我所看过的应用程序/平台中,只有一个很微不足道的程序使用了这个技术,它去掉了数百行重负的代码。实际上,因为开发者使用了特别的样板文件来为这个平台开发插件,所以这会节省很多很多第三方开发人员的代码,同时也使那些程序员要学习的东西变得简单了。

    这只是Java->Python编程语言思维方式转变的冰山一角而已,现在我能正确的转变而不用去钻研程序的细节。本质上,如果你曾经用过一段时间Java,而且对Python比较陌生,那么你不要太相信自己的本能。你的本能已经被Java调节,而不是Python。向后退一步来说,最重要的是不要再写这么多代码了。

    为了这样做,让自己觉得更加需要Python。假装好像Python是可以做任何你想做的魔棒,而你无须出一点力。问一下,“Python怎样解决我的问题?”还有“Python语言的哪个特点和我的问题最相似?”如果对于你需要的东西其实已经有了某种固定形式,那么你绝对会感到惊讶的。事实上,这种现象实在是太普遍了,甚至即使在很有经验的Python程序员中也会出现,以至于Python社区中给这种现象起了个名字。我们称之为“GUIDO的时间机器”,因为在我们自己还没有掌握它之前,通常看上去要得到我们所需要的东西好像那是唯一的方法。

    所以,如果你在使用Python编程语言时候不能感到比使用Java要至少多出10倍的生产力话,你就最好做一下改动,你是不是忘记使用time machine!(chances are good that you've been forgetting to use the time machine)(同时如果你还怀念你的Java IDE,你可以这样想:因为你写的Python程序比他所需要的要复杂得多.)

    展开全文
  • 学习参考来自:http://www.runoob.com我们对python中列表的理解是是一种基本的数据结构,结构中的每个元素都会有一个下标来与之对应,其实下标为0。...如:list1 = ['python2', 'python3', 7, 2]list2 = [1, 2,...

    学习参考来自:http://www.runoob.com

    我们对python中列表的理解是
    是一种基本的数据结构,结构中的每个元素都会有一个下标来与之对应,其实下标为0。
    对列表的操作包括通过索引下标查找展示,通过切片来获取指定部分列表数据,通过加,乘来扩展列表数据,而类别中存储的数据类型可以不相同。
    如:
    list1 = ['python2', 'python3', 7, 2]
    list2 = [1, 2, 3, 4, 5 ]
    print语句来输出list1[0],list[1:3]
    列表的初始化,可以直接使用列表中要存储的数据来初始化,如上list1,list2,或者初始化一个空列表然后通过修改列表来添加想要存储的值。
    如:
    list=[];
    list.append('a')
    list.append('b')
    其中list添加有序,按序输出。print list的结果为:['a', 'b']
    对于list中不再使用的数据可以通过del 命令来删除,从而来节省内存空间
    删除完整列表命令:del list,也可以通过下标来删除指定位置的值del list[3]
    list中存储数据的多少,可以通过lens(list)来查看,输出存储元素个数。对于上述list会输出2
    python对于list的操作灵活性超乎我们的想象。我们可以通过简单的‘+’命令来合并两个list.如list1+list2
    但是该命令只是形成新的list,而不会改变旧list中的值。
    list的复制,可以通过‘*’命令来完成。list*2则会复制list.
    判读list中是否包含元素通过in命令来完成,如果返回是True说明包含,否则不包含。'a' in list 结果为True
    for x in list : print x #遍历输出。
    min(list):返回list中最小的元素。
    max(list):返回list中最大的元素。
    cmp(list1,list2)比较两个列表的元素
    想要统计某一元素在list中出现的次数:list.count('a') 返回1,没有则返回0
    当然我们也可以通过使用extend,insert,pop,remove来修改列表元素。
    通过reverse()来反向列表中元素。
    以上参考来自:http://www.runoob.com/python/python-lists.html
    好了到这里基本上对列表这个python中用的比较长见的数据结构就聊的差不多了。接下来我们看和他比较像的
    java语言中的数组。


    如果你体验了python的灵活性,你就能够知道java的条框限制。当然每门语言都有自己的特色么。
    java中的Array是不可变的,定长的,初始化的时候必须定义长度,之后在其生命周期内对其大小不可修改,从其定义中可以看出它是final的,即是不可变的。因为java是强对象类型的。所以对于Array存储的数据类型基本上都是相同类型的。当然如果定义Object数组,则可以和python类似存储任意对象,因为Object对象是所有对象的父类,所以你可以在对应数组中存放一切对象。通过下标来获取对应存放的元素。修改对应存放的元素。可以通过for循环遍历输出元素。而对于数组的扩展,复制则只能通过自己来实现。其中有Arrays工具类在java.util.Arrays,可以通过fill方法给赋值,使用sort()对数组中的元素进行排序。通过binarySearch查询指定元素是否在数组中存在。
    因为数组的限制条件比较多,一旦创建不可变,扩展不易,所以在java语言中数组适用的场景相对来说没有集合广更广泛。
    int[] myArray = {1, 2, 3, 5};
    System.out.print(myArray[0])输出1
    myArray[0]=3 #将0下标的值从1改为3
    myArray.length获取数组中元素的个数。
    当然java还支持多维数组。
    int a[][] = new int[2][3];
    日常开发中用的比较。
    对于java提供的工具类中Arrays中已经提供的方法,主要包括:将数组转为列表集合的aslist方法
    binarySearch()查找方法,copyOf()的复制方法,返回的是新的数组,旧数组因为是final类型的,不可变。
    equals()判断是否相等方法。hashCode()方法返回哈希值。parallelSort()并发排序,提高排序性能。Stream()将数组转为流来处理。



    展开全文
  • Javapython难很多确实不是说说而已的QAQ,从数据类型的数目就可以看出来,Java有八种,而python只有3种呜呜 Java中基本数据类型也称做简单数据类型,包括以下八种 1、整型 byte 、short 、int 、long 2、...

    Java比python难很多确实不是说说而已的QAQ,从数据类型的数目就可以看出来,Java有八种,而python只有3种呜呜。

    基本数据类型:

    Java 中基本数据类型也称做简单数据类型,包括以下八种
    1 、整型
    byte short int long
    2 、浮点型
    float double
    3 、字符型
    char
    4 、布尔型
    boolean
    python当中的基本数据类型有:整数型,浮点数型,字符串。确实比Java友好很多啊啊啊啊啊。
    所以Java叫做强类型语言吧hhhhhh,不过怎么说呢,像py也涉及到布尔值这样的嗷,就是感觉可能两种语言的体系不太一样吧,py的布尔值就不称之为数据类型了吧。
    讲讲Java的各种数据类型吧~(python就一笔带过啦,int整数,str字符串,float浮点数)

    整型:

    整型数据有四种,它们的取值范围不同
    byte 的取值范围: -128 127 -2 7 次方到 2 7 次方 -1
    short 的取值范围: -32768 32767 -2 15 次方到 2 15 次方 -1
    int 的取值范围: -2147483648 2147483647 -2 31 次方到 2 31 次方 -1
    long 的取值范围: -9223372036854774808 9223372036854774807 -2 63 次方到 2 63 次方 -1
    值得一提的是python的int是没有范围的,这确实也是一个比较值得惊奇的事情

    浮点型:

    浮点型包括 float double 两种,区别在与精度, float 是单精度、 32 位、符合 IEEE 754 标准的浮点数;
    double 数据类型是双精度、 64 位、符合 IEEE 754 标准的浮点数。
    float (单精度浮点型)取值范围: 3.402823e+38 1.401298e-45
    double (双精度浮点型)取值范围: 1.797693e+308 4.9000000e-324
    java 对于浮点型数据默认会使用 double

    字符类型:

    char 类型是一个单一的 16 Unicode 字符;
    最小值是 \u0000 (十进制等效值为 0 );
    最大值是 \uffff (即为 65535 ); char 数据类型可以储存任何字符

    布尔类型:

    布尔类型只有两个取值,分别是 true false
    java 默认是 false
    (Python有没有默认布尔值嘞?不太确定了 刚刚搜了下也没搜到,感觉要是有默认值应该也是True,这就是又和Java的不同了哈哈)

    变量:

    变量现在还不是整的很明白,下一条再分享~

    展开全文
  • 转载一张JAVA和Python对比图片

    千次阅读 2017-09-07 14:07:37
    觉得很清晰 最近在整理一些资源工具,放在网站分享http://tools.maqway.com 欢迎关注公众号:麻雀唯伊 , 不定时更新资源文章,生活优惠,或许有你想看的 ...
  • JavaPython对比学习1

    千次阅读 2017-08-12 12:00:18
    java和python都是面向对象的语言,但是各种都有不同的特点,本文从对比的角度去看,java和python3的相同不同之处。 首先不同的是java是先编译后运行,java文件必选编译为class文件才可以运行,而不存在直接交互...
  • 对比java和python

    千次阅读 2017-08-15 12:43:04
    对比java和python   1.难易度而言。python远远简单于java。  2.开发速度。Python远优于java  3.运行速度。java远优于标准python,pypycython可以追赶java,但是两者都没有成熟到可以做项目的程度。  4....
  • JAVA和PYTHON对比学习

    2018-09-29 08:28:03
    - JAVA和PYTHON对比学习 1.什么是javaJava是一种面向对象的开发语言,对于开发者来讲,Java基本等于Jdk。 2.什么是pythonPython 是一个高层次的结合了解释性、编译性、互动性面向对象的脚本语言。 数据...
  • 不同在于Java是偏向编译性的语言,python是解释性语言(下面conner只针对javapython的不同点相同点来对比学习)学习java之前需要知道jdk,jre这些东西jdk:java development kitjre:Java runtime environment...
  • Java和Python运行速度对比

    千次阅读 2019-09-22 14:54:38
    Java和Python运行速度对比:同一个函数运行一百万次,Java耗时0.577秒,Python耗时78秒--135倍的差距。 版本:Java 8,Python 2.7.10 Java测试代码: import java.util.Date; public class test { public ...
  • Python的__init__()函数就相当于Java的构造函数
  • 一个电话,激发了我的灵感。感谢小姐姐的电话,像阳光一样划破了黑暗。 为什么有种可能会把soul,QQ,微信群都...Python和Java的区别 区别: 1.PythonJava简单,学习成本低,开发效率高 2.Java运行效率高于Pyt...
  • python工资高还是java?这个问题困扰了很多IT从业者,这两种开发语言,目前在互联网上的需求量都比较大,就业薪资待遇都挺好的,那么,想从事IT编程工作选择学习哪个好呢?Java是一门资深的编程语言,普及率极高,...
  • Java和Python的编程对比

    2017-10-17 22:05:10
    因为以前会点Java,现在来看当然是弱爆了。 学习Python的需求非常紧迫,所以我想快速学习掌握Python,有没有什么好的办法可以...就是详细的对比Java和Python在实现相同功能的代码实现差异。 为了能...
  • 爬虫 对比Java和Python

    千次阅读 2020-06-02 17:18:15
    网络爬虫 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序...python:scrapy,http://blog.csdn.net/sunnyxiaohu/article/detai.
  • ====================================================== 注:本文源代码点此下载 ...java和python常用方法对比 用惯了python,用java写代码感觉有些煎熬的感觉,似乎比python要罗嗦很多。主要还是因为java
  • Python和Java都是目前被广泛使用的编程语言,一个是后起之秀,潜力无限;一个是行业经典,成熟稳定。而随着大数据人工智能的发展,Python语言的上升趋势比较明显,在某些领域甚至已经超过了Java;从就业的角度来看...
  • 人生苦短,我用Python,为啥这么说,因为我们码农圈有金句:学完Python,便可上天 ~ 首先 我要向各位坦诚,我对 Python 的喜爱也是从几年以前才开始的。不经历长期的痛苦教训,我们是不会对这门语言以及它的平台所...
  • 原标题:Java和Python哪个薪资更高?Python和Java二选一该学啥?这个问题嘛。如果你问一名Java程序员,肯定会建议你先学Java,因为他们认为Python像个乳臭未干的黄毛小子。但如果你问Python程序员,可能会得到一个...
  • 主要介绍了JAVAPYTHON质数计算代码对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Javapython

    2017-07-01 15:25:47
    Javapython对比
  • C,C++,java,python对比

    千次阅读 2019-07-02 22:54:45
    在所有的解释型语言里,Python和Java最适合多名程序员以渐进方式协同开发大型项目。在很多方面,PythonJava要简单,它非常适合与构造快速原型,这一点使得它对于Java有独特优势:对于那些既不很复杂,又不要求高...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,078
精华内容 25,631
关键字:

java和python对比

python 订阅
java 订阅