第一个Java程序解析
所有的Java 程序都必须放在一个类之中才可以执行,类定义有两种形式,分别如下:
public class:文件名称必须与类名称保持一致,每一个*.java 文件中只能够定义一个public class。
class:文件名称可以和类名称不一致,在一个*.java 文件中可以同时定义多个class,并且编译之后会发现不同的类都会保存在不同的*.class (字节码)文件中。
运行结果:
Java的标识符与分隔符
Java标识符:
类名、变量名以及方法名都被称为标识符。在Java中,标识符可以使用字母、数字、 、$进行定义,不能以数字开头,不能是Java的关键字或者保留字。
标识符命名的一些规则:
- Java 是大小写敏感的。
- 源文件名必须和类名相同。
- 类和接口名每个单词的首字母大写。
- 方法名首个单词的首字母小写,其余单词的首字母大写,尽量少用下画线。
- 基本数据类型的常量名全部使用大写字母,单词之间用下画线分隔,例如SIZE_NAME。对象常量可大小混写。
- 变量名可大小写混写,首字母小写,单词间起分隔或连接作用的词(如To、Of)首字母大写。
Java分隔符:
空白分隔符空白分隔符包括空格、回车、换行和制表符(Tab 键)。
使用空白分隔符要遵守以下规则:
- 任意两个相邻的标识符之间至少有一个空白分隔符,以便编译程序能够识别。
- 变量名、方法名等标识符不能包含空白分隔符。
- 空白分隔符的多少没有什么含义,一个空白分隔符和多个空白分隔符的作用相同,都是用来实现分隔功能的。
- 空白分隔符不能用普通分隔符替换。Java的普通分隔符:{},[],(),;,:,.,,
数据类型
数据类型的数据范围和占据的内存空间:
整型:分别为byte、short、int 和long。默认情况下一个整数的对应类型就是int 类型。将int 类型转换为long 类型,转换方法有两种,直接在数据前增加一个“(long)”或者直接在数据后增加一个字母L(大小写均可)。
输出:
浮点型:Java 浮点数据类型主要有双精度(double)和单精度(float)两个类型。在Java 中,一个小数默认的类型是double。有两种转换方式:一种是直接加上字母F(大小写均可)。
字符型:
输出:
字符串:String 是引用型数据,是一个类(因此String 的首字母一定要大写)。对String 类型的变量使用“+”,表示要执行字符串的连接操作。
输出
布尔型:布尔值只有true 和false,没有0 或者非0 值。
数据类型的转换
自动数据类型的转换:只能从存储范围小的类型转换到存储范围大的类型。具体规则为byte→short(char)→int→long→float→double
强制类型转换:可以从存储范围大的类型转换到存储范围小的类型。强制类型转换通常都会有精度的损失,所以使用时需要谨慎。
输出:
变量与常量
常量:常量就是固定不变的量,一旦被定义,它的值就不能再被改变。常量名称通常使用大写字母。
输出:
变量及其作用域:
变量的作用域分为4 个级别:类级、对象实例级、方法级、块级。
- 类级变量又称全局变量或静态变量,需要使用static 关键字修饰。类级变量在类定义后就已经存在,占用内存空间,可以通过类名来访问,不需要实例化。
- 对象实例级变量就是成员变量,实例化后才会分配内存空间,也才能访问。
- 方法级变量就是在方法内部定义的变量,又称局部变量。
在定义变量时,还需要注意以下几点:
- 方法内部除了能访问方法级变量,还可以访问类级和对象实例级变量。
- 块内部能够访问类级、对象实例级变量。如果块被包含在方法内部,它还可以访问方法级变量。
- 方法级和块级变量必须显式地初始化,否则不能访问。
输出:
运算符
自增自减运算符:
b=++a是a先加一,然后赋值给b。
b=a++是a先赋值给b,然后加一。
逻辑运算符:
&&与运算符,||或运算符,!非运算符,前二者如果第一个条件满足就不会查看其它条件。
位运算符:
输出结果