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

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

  • 变量与常量
    • 多变量赋值
  • 数据类型
  • String
  • 运算符
    • 算术运算符
    • 逻辑运算符
    • 关系运算符
  • 方法
  • 总结

近来无事打算学一下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的数据类型都在声明的时候指定好了。此处需要注意的是:

数据类型 备注
byte 1个字节
short 2个字节
int 4个字节
long 8个字节,适用于长整数声明。值后加 L
float 4个字节的浮点型,值后加 f
double 8个字节,值后加 d,或者不加。浮点型的默认类型
boolean 布尔型,值得注意的是不可以直接用于计算,这点与python不同
char 2个字节的单个字符,赋值时需要使用单引号来与 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的学习今天就先总结到这里吧。

你可能感兴趣的:(Java编程基础基础语法(上))