Java学习笔记(一)
程序员文章站
2024-01-28 21:41:28
...
1、Java基础语法
一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。
- 对象:对象是类的一个实例,有状态和行为。一条狗是一个对象,它的状态有:颜色、名字;行为有:摇尾巴、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
- 方法:方法就是行为,一个类可以有多个方法。
- 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
2、基本语法
- 大小写敏感:Java是大小写敏感的。
- 类名:对于所有类来说,类名的首字母应该大写。
- 方法名:所有的方法名都应该以小写字母开头。若方法名含有若干单词,则后面的每个单词首字母大写。
- 源文件名:源文件名必须和类名相同。当保存文件时,文件名应该和类名相同,否则会导致编译错误。
- 主方法入口:所有的Java程序由
public static void main(String []args)
方法开始执行。
3、Java标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
- 所有的标识符都应该以字母、$或者下划线开始
- 首字母之后可以为字母、美元符、下划线或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
4、Java修饰符
- 访问控制修饰符:default、public、protected、private
- 非访问控制修饰符:final、abstract、static、synchronized
5、Java变量
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 类变量(静态变量):类变量也声明在类中,方法体之外,但必须声明为static类型。
- 成员变量(非静态变量):成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
成员变量和局部变量的区别:
- 在类中的位置不同
成员变量:类中,方法外
局部变量:方法或方法声明上(形式参数) - 在内存中的位置不同
成员变量:堆内存
局部变量:栈内存 - 生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 - 初始化值的问题
成员变量:有默认值
局部变量:无默认值。必须先定义,复制,最后使用
6、Java关键字
7、继承
在Java中,一个类可以由其他类派生。如果要创建一个类,而且已经存在一个类具有所需要的属性或方法,那么就可以将新建的类继承该类。
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类成为超类(super class),派生类称为子类(subclass)。
8、接口
在Java中,接口可理解为对象间互相通信的协议。接口在继承中扮演着很重要的的角色。
接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。
9、源文件声明规则
- 一个源文件中只能有一个public类
- 一个源文件可以有多个非public类
- 源文件的名称应该和public类的类名一致
- 如果一个类定义在某个包中,那么package语句应该在源文件的首行
- 如果源文件包含import语句,那么应该放在package语句和类定义之间。
- import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明
10、基本数据类型
变量就是申请内存来存储值,即创建变量的时候需在内存中申请空间
Java的两大数据类型:
- 内置数据类型
- 引用数据类型
(1)内置数据类型
Java中的基本数据类型只有八种:byte、short、int、long、float、double、char、boolean
(2)引用类型 - 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
- 对象、数组都是引用数据类型。
- 所有引用类型的默认值都是null。
- 一个引用变量可以用来引用任何与之兼容的类型。
- 例子:Site site = new Site(“Runoob”)。
11、类型转换
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
- 不能对boolean类型进行类型转换
- 不能把对象类型转换成不相关类的对象。
- 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
- 转换过程中可能导致溢出或损失精度
- 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
强制类型转换
条件是转换的数据类型必须是兼容的
隐含强制类型转换
-
整数的默认类型是 int。
-
浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。