Java编程基础基础语法(上)


近来无事打算学一下Hadoop跟Hive,所以不可避免地要先学习Java。今天刚刚开始学习,感慨一下编程语言之间果然都是互通的。虽然一直以来学的都是python,但是从头开始学Java,感觉基础的东西实际上大同小异。今天学习的主要内容有:

  • 变量
  • 常量
  • 数据类型
  • String
  • 运算符
  • 关键字和语句
  • 方法

详细的知识点都是现查现用,我这里就不一一将知识点罗列出来。今天的笔记就主要写一下个人感觉Java跟python两种编程语言之间的对比吧

变量与常量

Java跟python不同,Java中的变量要先声明才能使用,而Java中的常量是不允许被修改的;python的话就更灵活,不需要预先声明,但是使用前都必须赋值,赋值以后变量才会被创建。

多变量赋值

  • Python
a=b=c=1
a, b, c=1, 2, "runoob"
  • Java
int a, b, c;         // 声明三个int型整数:a、 b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值

数据类型

与python不同,Java的数据类型都在声明的时候指定好了。此处需要注意的是:

数据类型备注
byte1个字节
short2个字节
int4个字节
long8个字节,适用于长整数声明。值后加 L
float4个字节的浮点型,值后加 f
double8个字节,值后加 d,或者不加。浮点型的默认类型
boolean布尔型,值得注意的是不可以直接用于计算,这点与python不同
char2个字节的单个字符,赋值时需要使用单引号来与 String 类区分开来

String

Java中在字符串这一部分的处理都是通过一个特殊的 String 类来完成的。这一部分个人感觉跟python区别挺大的。

  • 字符串比较
    跟python不同,Java的比较是通过字符串类的方法 equals/equalsIgnoreCase 来完成的,如果使用逻辑运算符就会出错。因为 == 比较的是两个对象在内存中存储的地址是否一样。例如:
String s1 = "abc";
String s2 = new String("abc");
boolean b = (s1 == s2);

这个例子中变量 b 是 false,原因是 s1 对应的是 abc 的地址,而 s2 使用 new 关键字申请新的内存,所以两者地址不一样,最终结果为 false。

  • 字符串拼接
    这里非常有意思的是,Java可以支持不同类型之间的拼接,只要拼接双方有一个连接的内容是字符串类型,而一向以灵活著称的python则不支持。Java同样支持 + 拼接。

运算符

算术运算符

  • 除法
    由于变量事先进行了声明,Java的除法最终的结果与被除数保持一样的类型,就不需要像python一样通过不同的运算符来得到对应的结果。
  • 自增/自减
    Java中使用 ++ 来进行自增/自减的操作,这点也跟python不同。除此之外,还行注意前缀与后缀的区别。前缀先运算再进行表达式运算,而后缀则反之。

逻辑运算符

Java的与或非逻辑与python的运算符表示完全不同,但是用法是一样的

关系运算符

常见的用法都是一样的,区别只在于字符串类型的比较上,前文已有提及。
除此之外,Java还有唯一的三目运算符 ?: ,用法跟python中的

b = 5
a = 1 if b > 4 else 0 

较为类似。

方法

我一开始觉得这里的方法跟python当中的函数应该是一样的,后来仔细查了查方法与函数的区别,好像并不是一回事。在python中与类和实例有绑定关系的是方法,反之则为函数。而Java中所有的代码都必须包含在class中,因此Java里承担函数功能的代码块被称之为方法,这是我的个人理解。
方法由五部分构成:

  • 访问修饰符
  • 返回值类型
  • 方法名
  • 参数列表
  • 方法体

总结

总的来说,今天新学的东西没有很多新的知识点,有不少其实在C中已经接触过。最最需要记住的是两件事:大括号分号。这是初学者经常会忘的东西。关于Java的学习今天就先总结到这里吧。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值