Java基础 VS Python基础学习1

Java基础 VS Python基础学习1
wanghao
wanghao
111
阅读
0
评论
2021年10月09日15:30:32 0 111

Java的书挺多,网上的Java教程也是种类繁多,有写的好的,写的不咋地的也有,容易让人越看越晕,微微老师想创新一下,将Java和Python对比学习,毕竟两者可谓当前最主流的后端开发语言,并且是人工智能与大数据的不二之选,若能一石二鸟,两者兼备,岂不悦哉?

先说句抱歉的话,微微老师学时有限,知识浅薄,只是为了让大家理解,有时候换个角度看问题,反而有意想不到的收获。

一、Java起步

Java运行需要安装JDK,这点与Python有点像,但又有所不同,Java介于编译型语言和解释型语言之间。编译型语言如C、C++,代码是直接编译成机器码执行,但是不同的平台(x86、ARM等)CPU的指令集不同,因此,需要编译出每一种平台的对应机器码。Python是解释型语言,不存在这个问题,可以由解释器直接加载源码然后运行,代价是运行效率较低。而Java是将代码编译成一种“字节码”,它类似于抽象的CPU指令,然后,针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”的效果。当然,这是针对Java开发者而言。对于虚拟机,需要为每个平台分别开发。为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。

随着Java的发展,SUN给Java又分出了三个不同版本:

Java SE:Standard Edition

Java EE:Enterprise Edition

Java ME:Micro Edition

这三者之间是啥关系呢?

┌───────────────────────────┐

│Java EE                    │

│    ┌────────────────────┐ │

│    │Java SE             │ │

│    │    ┌─────────────┐ │ │

│    │    │   Java ME   │ │ │

│    │    └─────────────┘ │ │

│    └────────────────────┘ │

└───────────────────────────┘

因此推荐大家的Java学习路线图如下:

首先要学习Java SE,掌握Java语言本身、Java核心开发技术以及Java标准库的使用;

如果继续学习Java EE,那么Spring框架、数据库开发、分布式架构就是需要学习的;

如果要学习大数据开发,那么Hadoop、Spark、Flink这些大数据平台就是需要学习的,他们都基于Java或Scala开发;

如果想要学习移动开发,那么就深入Android平台,掌握Android App开发。

无论怎么选择,Java SE都是Java的核心技术!本文及之后的教程就是基于的Java SE内容介绍。

二、程序--"Hello,world!"

现在大家开始编写Java的第一个程序,几乎所有编程语言的第一个程序都是在屏幕上打印"Hello,world!"。

下面大家可以分别用Java和Python实现这一功能,对比二者区别。

Java1代码:

public class Java1 {

    public static void main(String[] args) {

        System.out.println("Hello, world!");

    }

}

Python1代码:

print("Hello, world!")

Java1运行结果:

先用javac命令把java1.java编译成字节码文件java1.class,然后,用java命令执行这个字节码文件。

Python1运行结果:

三、程序--变量

Java1代码:

public class Java1 {

    public static void main(String[] args) {

        int x = 100; // 定义int类型变量x,并赋予初始值100

        System.out.println(x); // 打印该变量的值

    }

}

Python1代码:

x = 100

print(x)

Java1运行结果:

Python1运行结果:

四、程序--运算

Java1代码:

public class Java1 {

    public static void main(String[] args) {

        int x = 100; // 定义int类型变量x,并赋予初始值100

        System.out.println(x); // 打印该变量的值,观察是否为100

        x = 200; // 重新赋值为200

        System.out.println(x); // 打印该变量的值,观察是否为200

    }

}

Python1代码:

x = 100

print(x)

x = 200

print(x)

Java1运行结果:

Python1运行结果:

五、程序--类

Java1代码:

class Person {

    public String name;

    public int age;

}

public class java1 {

    public static void main(String[] args) {

        Person li = new Person();

        li.name = "Li Lei"; // 对字段name赋值

        li.age = 12; // 对字段age赋值

        System.out.println(li.name); // 访问字段name

        System.out.println(li.age); // 访问字段name

        Person han = new Person();

        han.name = "Han Mei Mei";

        han.age = 15;

        System.out.println(han.name); // 访问字段name

        System.out.println(han.age); // 访问字段name

    }

}

由上面代码不难看出,它定义了一个Person类,分别有两个属性,名字和年龄。然后定义了两个类的实例,分别叫做li和han,它们各自有自己对应的属性信息并将其打印输出。下面大家可以看看Python同样实现这一功能(定义一个Person类,分别有两个属性,名字和年龄。然后定义了两个类的实例,分别叫做li和han)代码是怎么写的。

Python1代码:

class Person:

    def __init__(self, name, age):

      self.name = name

      self.age = age

li = Person('LiLei',12)

han = Person('HanMeiMei',15)

print(li.name)

print(li.age)

print(han.name)

print(han.age)

Java1运行结果:

Python1运行结果:


打赏 点赞(0)
weinxin
微信客服
问题+文章链接地址,发送到此微信:tourism52咨询处理。
历史上的今天
01月
29
网站用户 菜鸟教程

网站用户

您的用户所使用的硬件和软件各不相同。 最重要的事情是了解您的受众(用户)。 他们使用什么显示器? 请记住,在 web 上并非所有用户都使用与您相同的显示器。如果您针对 1024x7...
php,能做,什么 菜鸟教程

PHP 能做什么?

PHP 能做什么?PHP 能做任何事。PHP 主要是用于服务端的脚本程序,因此可以用 PHP 来完成任何其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送...
如何,避免,出现,sql,注入,漏洞 菜鸟教程

如何避免出现SQL注入漏洞

一  前言本文将针对开发过程中依旧经常出现的SQL编码缺陷,讲解其背后原理及形成原因。并以几个常见漏洞存在形式,提醒技术同学注意相关问题。最后会根据原理,提供解决或缓解方...
ASP.NET,Web,Pages-,帮助,器,ASP.NET,Web,Pages-,帮助,器, 菜鸟教程

ASP.NET Web Pages-帮助器

ASP.NET Web Pages-帮助器 Web 帮助器大大简化了 Web 开发和常见的编程任务。 ASP.NET 帮助器 ASP.NET 帮助器是通过几行简单的 Razor 代...

评论列表 共有 0 条评论

暂无评论