Java学习笔记:语言基础
阅读原文时间:2024年06月05日阅读:1

Java学习笔记:语言基础

2014-1-31

最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面。同时为学习Android开发做些准备。

Java和C++的语法有很多类似之处,学习中重点关注的是差异部分。

数据类型

Java支持的基本数据类型有:

1) 整数:byte/short/int/long

2) 浮点:float/double

3) 字符:char

4) 布尔:boolean

除此之外,通过类String支持字符串类型,支持数组。

Java中的数组和C++有所不同,有两种声明的方法:

1) int[] anArray = {1, 2, 3};

2) int[] anArray; anArray = new int[3];

Java支持多维数组,比如:

int[][] anMulArray = {{1,2,3}, {4,5}, {1}};

注意:第二维的数组并不要求包含相同个数的元素。

数组拷贝不需要逐个元素拷贝,可以使用库提供的数组拷贝函数。

比起C++,Java支持了String类型,简化了字符串的操作。字符串变量的定义方式如下:

1) String anString = "abcef";

2) String anString; anString = new String("abcef);

注意:String类型的字符串变量不能修改。可以使用BuilderString创建需要修改的字符串。

控制流

保留字:

if/else

do/while

for

switch/case

break/continue/return

语法和C++差不多,有以下几点特别之处:

1) for支持两种格式,一般格式和增强格式。

2) switch可以使用String类型。

3) break/continue支持分支到标签。

类的定义

保留字:public(protected, private)/static/final

类包含三种成员:field/method/constructor

1) field

支持 public/static/final 修饰符;

static final 用来定义产量;

初始化的方法,对于基本类型变量,可以在定义的时候直接进行初始化。对于instance 变量,可以在constructor中定义。对于static变量,定义初始化block。

2) method

支持public/static/final/abstract修饰符。

method signature 由方法的名称、参数类型个数定义。如果signature不同,就是overload。

参数传递方式:对于基本数据类型的参数,按值传递。对于数组、字符串、对象,按引用传递参数。

3) constructor

没有返回值类型,和类同名。

接口定义

保留字:interface, default

Java支持interface,从语言机制上明确了接口的概念。

接口可以包含:

1) constant

2) method signature

3) default method

继承

保留字:extends, implements, super, this, abstract

类继承时,基类、派生类中同名成员的处理:

1) hiding:对同名的变量和static method。

2) overriding:对同名的instance method。这种情形应用于“多态”机制。

3) constructor不能继承,需要使用super 进行调用。

多继承:class 不支持多继承,interface支持多继承。

多态:可以通过interface类型变量引用实现类的对象。

抽象类、抽象函数:从interface继承的类,如果存在一些函数没有实现,这样的类是抽象类,不能实例化。

IO

Java中,最基本的流是 byte stream 和 character stream。

在这个基础上,增加了对buffer的支持。

进而又支持了 Data 和 Object 流。

异常

保留字:try, catch, finally, throws, throw

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器