前言
我曾在网上看到有人说Java和JavaScript的就是雷锋和雷锋塔的关系,Python 作为人工智能领域最常用的语言,与前端程序员日常使用的语言 JavaScript 又同属脚本语言,这三者之间有什么相似和不同之处?
本文的内容主要是比较Java,JavaScript,Python三种编程语言用法上的一些不同之处,也以此回顾一下原先学习的内容。
01 语言的定义和应用
Java:一种面向对象的编程语言,广泛用于编写桌面应用程序,Web应用程序,分布式系统等;
JavaScript:一种动态编程语言,主要用于增加网站上的交互性;
Python:一种面向对象的解释型动态类型脚本语言,应用于人工智能,自动化测试,系统运维,爬虫等。
02 数据类型
Java:提供了8种基本类型4种数字类型:byte,short,int,long
2种浮点类型:float,double
1种字符类型:char
1种布尔类型:boolean
JavaScript: 有5种简单数据类型和1种复杂的数据类型Number(数字)
String(字符串)
Boolean(布尔)
Null(空)
Undefined(未定义)
Object(对象)
Python :6种标准的数据类型Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
03 变量的声明
在Java语言中,所有的变量在使用前必须声明,声明的基本格式如下:格式:类型 变量名 = 变量值如:int a,b,c; // 可以使用逗号隔开来声明多个同类型变量
在JavaScript中,声明变量用关键词 varvar name; // 声明后变量名是空的,赋值需用等号格式为:类型 变量名 = 值;但这里不管是什么类型都用var
在Python中,变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建name ='xiaoming' # 不需要指定类型格式为变量名 = 值
此外变量的命名规则基本类似,变量要有意义,大小写敏感,遵循驼峰命名法,具体不展开详写。
04 代码注释Java 支持三种注释方式
单行注释用 //
多行注释用 /* */
说明注释 以 /** 开始,以 */结束
JavaScript 同Java
在Python中
单行注释用 #
多行注释 '''注释代码''' 或者用双引号
05 if语句
在python中, if有三种写法 :第一种写法
if 要判断的条件:
条件成立时要做的事
第二种写法
if 要判断的条件:
条件成立时要做的事
else:
条件不成立时要做的事
第三种写法
if 要判断的条件 1:
条件1成立时要做的事
elif 要判断的条件2 :
条件2成立要做的事
else :
条件不成立时要做的事
在Java中, if也有三种:if(条件){
要执行的代码
}
if(条件成立){
要执行的代码
}
else{
要执行的代码
}
if(条件1成立){
要执行的代码
}
else if(条件2成立){
要执行的代码
}
else{
要执行的代码
}
在JavaScript中, if 判断语句和Java是一致的。
06 for循环
在python中写for循环:for 变量名 in 字符串|列表|元组|字典|集合:
代码块
如:
fruits = ['banana', 'apple', 'mango']
for fruit in fruits:
print ('当前水果 :', fruit)
另外一种用法:
for num in range(10,20): # 迭代 10 到 20 之间的数字
在Java中写for循环:for(类型 变量名 = 变量值, 变量名 < 一个值,循环条件,一般是++或者--){
里面需要执行的内容
}
在JavaScript中,for循环的写法: js的for循环和Java一样,只是类型都是var类型,而Java中for循环类型一般都是int类型。
07 方法的定义
在Python 中方法的关键字 defdef measure():
print('....')
在Java中, public 返回值 方法名字(){}public int calcSum(){
int a = 10;
int b = 20;
int sum = a+ b;
return sum;
}
在JavaScript中 , function 方法名字(){}function myFunction(a, b) {
return a * b;
}
08 导入
在Java中导入用 import class
在Python中,导入有两种方式:import module1[, module2[,... moduleN]] from modname import name1[, name2[, ... nameN]]
未完待续...
如对文章有异议的欢迎留言!