Java基础
Java 基础语法
- 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
- 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
- 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
编写 Java 程序时,应注意以下几点:
- 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
- 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如
MyFirstJavaClass 。 - 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
- 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为
.java。(如果文件名和类名不相同则会导致编译错误)。 - 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。
Java 标识符
- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符( )、或者下划线 ( ) 开始首字符之后可以是字母( A − Z 或者 a − z ) , 美元符( )、或者下划线(_)开始 首字符之后可以是字母(A-Z 或者 a-z),美元符( )、或者下划线()开始首字符之后可以是字母(A−Z或者a−z),美元符()、下划线(_)或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary
Java修饰符
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
-
访问控制修饰符 : default, public , protected, private
-
非访问控制修饰符 : final, abstract, static, synchronized
Java 变量
声明变量的基本格式如下: 数据类型 变量名【=值】【,变量名=值】…】;
type identifier [ = value][, identifier [= value] ...] ;
- type – 数据类型。
- identifier – 是变量名,可以使用逗号 , 隔开来声明多个同类型变量。
Java 变量类型
Java 语言支持的变量类型有:
- 局部变量(Local Variables):定义在方法、构造方法或语句块中的变量,作用域只限于当前方法、构造方法或语句块中。局部变量必须在使用前声明,并且不能被访问修饰符修饰。
- 成员变量(Instance Variables):定义在类中、方法之外的变量,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问。成员变量可以被访问修饰符修饰。
- 静态变量(Class Variables):定义在类中、方法之外的变量,并且使用 static
关键字修饰,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问,静态变量的值在程序运行期间只有一个副本。静态变量可以被访问修饰符修饰。 - 参数变量(Parameters):方法定义时声明的变量,作为调用该方法时传递给方法的值。参数变量的作用域只限于方法内部。
方法参数变量的值传递方式有两种:值传递和引用传递。
- 值传递:在方法调用时,传递的是实际参数的值的副本。当参数变量被赋予新的值时,只会修改副本的值,不会影响原始值。Java中的基本数据类型都采用值传递方式传递参数变量的值。
- 引用传递:在方法调用时,传递的是实际参数的引用(即内存地址)。当参数变量被赋予新的值时,会修改原始值的内容。Java中的对象类型采用引用传递方式传递参数变量的值。
public class RunoobTest {
public static void main(String[] args) {
int a = 10, b = 20;
swap(a, b); // 调用swap方法
System.out.println("a = " + a + ", b = " + b); // 输出a和b的值
}
public static void swap(int x, int y) {
int temp = x;
x = y;
y = temp;
}
}
运行以上代码,输出如下:a = 10, b = 20
Java实例化,实例化、声明、初始化的区别
- 实例化(instantiate)是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。实例化过程中一般由类名 对象名 = new 类名(参数1,参数2…参数n)构成。
实例化、声明、初始化的区别 - 声明,只生成对象不赋值的过程。
初始化,是给对象赋值的过程。
实例化,是使用new为对象分配内存的过程。
问题
JAVA中的String[] args和String args[]
String与String[],前者叫字符串类型而后者叫字符串数组类型.
- String args[]单从类型上来讲属于字符串类型, 而从变量本身来讲是一个数组类型, 因此组合起来说明此变量为一个字符串类型的数组, 也就是说数组中的所有元素都为String类型.
- String[] args单从类型上来讲属于字符串数组类型, 而从变量本身来讲就是一个单纯的引用变量, 因此这种方式可以更明显地体现出是否为数组这一点. 因为从类型上就可以直接看出变量为一数组类型引用.
Java 标识符
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。