Java语法基础
注释
-
平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
-
注释并不会被执行,是给我们写代码的人看的。
-
书写注释是一个非常好的习惯
-
Java中的注释有三种:
-
单行注释:只能注释我们一行文字//
-
多行注释:可以注释一段文字 /* 注释 */
-
文档注释(说明注释):使你更加方便的记录你的程序消息 /** 注释、标签 */
-
关键字
| abstract | assert | boolean | break | byte |
|---|---|---|---|---|
| case | catch | char | class | |
| continue | default | do | double | else |
| extends | extends | final | finally | float |
| for | if | implements | import | |
| interface | int | interface | long | native |
| new | package | private | protected | public |
| return | strictfp | short | static | super |
| switch | synchronized | this | throw | throws |
| transient | try | void | volatile | while |
上图均为关键字,不包括保留字,共48个。
- 关键字是Java语言中已经被赋予特定意义的字符串,有特殊的作用,一般用来表示数据类型、程序流程结构等。
- 保留字是Java预留的关键字,现在没有作为关键字,但以后有可能成为关键字。
- Java中的保留字有goto和const共两个。
标识符
- Java所有的组成部分都需要名字、类名、变量名以及方法名,这些都被称为标识符
- 注意点
- 所有的标识符都应该以字母(A~ Z或者a~z),美元符($),或者下划线(_)开始。
- 首字符之后可以是字母(A~ Z或者a~z),美元符($),下划线(_)或者数字的任何字符组合。
- 不能使用关键字作为变量名或方法名。
- 标识符是大小敏感的。
- 可以为使用中文命名,但是一般不建议这样去使用,也不建议使用拼音。
- 长度没有限制,最多可以标识65535个字符。
数据类型
- 强类型语言
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
- 弱类型语言
- Java的数据类型分为两大类:基本类型和引用类型
- 基本数据类型
- 数据类型
- 整数类型
- byte占1个字节 范围:-128~127
- short占2个字节 范围:-32768~32767
- int占4个字节 范围:-2147483648~2147483647(最常用)
- long占8个字节范围:-9223372036854775808~9223372036854775807(使用时需在数字后面加个L)
- 浮点类型(小数)
- float占4个字节(使用时要在数字后面加个F)
- double占8个字节
- 字符类型char占2个字节(中文也算是字符)
- 整数类型
- boolean类型:占一位其值只有true和false两个
- 数据类型
- 引用类型
- 类
- 接口
- 数组
- 基本数据类型
浮点类型的注意事项:在两个数字比较中,最好完全使用浮点数进行比较
如果没有完全使用浮点型,则会出现上述情况。
变量
- 变量是什么:就是可以变化的量!
- Java是一种强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
int a1=2,a2=3,a3=4;
//数据类型 变量名=值;可以使用逗号隔开来声明多个同类型变量。
- 注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
字节
- 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
- 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示。
- 1B(byte,字节)=8bit(位)
- 字符:是指计算机中使用的字母、数字、字和符号
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
变量转换
(自高向低)强制转换 格式:(类型)变量名
(自低向高)自动转换
注意点:
- 不能对布尔值进行换算
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转化
- 转换的时候可能存在内存溢出,或者精度问题!

如上图实例也要注意!
变量作用域
- 类变量:也称为成员变量,声明在类中,不属于任意一个方法,作用域是整个类。
- 局部变量:指在方法或者方法代码块中定义的变量,其作用域是其所在的代码块。(必须声明和初始化值)
常量
- 常量即为初始化后不能再改变值!不会变动的值。
- 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值;
final double P=3.1415;
- 常量名一般使用大写字符。
- 整型常量
- 二进制:由数字0和1组成的数字序列。
- 八进制:以数字0开头,其后由0、1、2、3、4、5、6、7共8个数字中的任意数字组成的数字序列,例如012。
- 十进制:由0、1、2、3、4、5、6、7、8、9共十个数字中的任意数字组成的数字序列,例如98。
- 十六进制:以0x或0X开头(注意:0x的0是数字0,而不是字母O),其后由数字0、1、2、3、4、5、6、7、8、9和字母A、B、C、D、E、F共16个数字和字母组成的数字序列,例如0xA4。
常变量
-
如果程序中多处用到某个值,就可以将其定义为常变量。
-
声明格式:
final 数据类型 变量名[=变量初值];
-
常变量的“变量名”需要符合标识符的命名规则,在实际使用中,变量名一般和变量的用途对应,以便于程序的阅读,另外习惯上其变量名一般所有字母都大写,单词之间用下划线连接,如SCHPOOL_CODE。
-
注意点:
- 常变量只能赋值一次。
- 当成员变量为final常变量时,必须在定义时分配初始值。
- 当成员变量不是final常变量时,在定义时可不分配初始值,程序中不赋值也可以直接访问,因为系统会为其分配默认值。
- 局部变量在定义时可不分配初始值,但必须在访问变量之前赋值。
变量的命名规范
- 所有变量、方法、类名最好见面知意。
- 类成员变量:首字母小写和驼峰原则(当·变量或函数名称需要由多个英文单词组成时,每个英文单词的首字母要大写,但第一个单词的首字母可大写,也可不大写,这样一个变量或函数名看起来就像驼峰一样起起伏伏,可以提高代码的可读性)。
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线。
- 类名:首字母大写和驼峰原则。
- 方法名:首字母小写和驼峰原则。
运算符
算术运算符
在数学运算中最常见的就是加、减、乘、除,四则运算,Java 中的算术运算符就是作用于整型、浮点型、字符型数据进行基本的算术运算。算术运算符可分为单目运算符和双目运算符,单目运算符只有一个参与运算的操作数,双目运算符有两个参与运算的操作数。接下来通过一张表来展示算术运算符及其用法,如下表。
| 运算符 | 用途 | 操作数 |
|---|---|---|
| + | 加 | 双目 |
| - | 减 | 双目 |
| * | 乘 | 双目 |
| / | 除 | 双目 |
| % | 模数(取余) | 双目 |
| + | 正号 | 单目 |
| - | 负号 | 单目 |
| ++ | 自增(前) | 单目 |
| – | 自减(前) | 单目 |
| ++ | 自增(后) | 单目 |
| – | 自减(后) | 单目 |
-
算术运算符不能用在布尔类型上,但可以用在char类型上。char类型转换成int类型参与运算。
-
整型、浮点型、字符型数据可以混合运算,不同类型的数据执行算术运算时,都会自动转换为同一类型再参与运算,转换规则为:低级类型自动转换成高级类型,运算结果与精度最高的数据类型保持致。
-
在进行取模%运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。
-
在进行除法运算时,当除数和被除数都为整数时,含弃余数,得到的结果也是一一个整数。如果除法运算有小数参与,得到的结果就是小数。
-
自增(++)或自减(–)运算符出现在变量前面时,先执行自增或自减运算,再执行其他运算,出现在变量后面时,先执行其他运算,再执行自增或自减运算。
-
自增(++)或自减(–)运算符只能和变量结合,而不能和常量或表达式结合使用。
赋值运算符
赋值运算符是双目运算符,其左边是一个变量,右边是一一个常量、 变量或表达式。赋值运算符的作用是将右边的常量、变量或表达式的值赋给左边的变量。赋值运算符右边的值应当和左边的变量的数据类型一致, 或者能够自动转换为左边变量的类型。Java 中赋值运算符及其用法
| 运算符 | 用途 | 范例 | 说明 |
|---|---|---|---|
| = | 赋值 | i=10 | i等于10 |
| += | 先加再赋值 | i=10;i+=10 | i=i+10结果i=20 |
| -= | 先减再赋值 | i=10;i-=10 | i=i-10结果i=0 |
| *= | 先乘再赋值 | i=10;i*=10 | i=i*10结果i=100 |
| /= | 先除再赋值 | i=10;i/=10 | i=i/10结果i=1 |
| %= | 先取余再赋值 | i=10;i%=10 | i=i%10结果i=0 |
注意:赋值运算符的运算顺序是从右向左,即先计算右边的值,再将结果赋值给左边的变量。
关系运算符:>,<,>=,<=,==,!=,instanceof
逻辑运算符
逻辑运算符用于对布尔类型的数据进行操作,其结果仍是布尔型数据。逻辑运算符分为单目运算符和双目运算符。
| 运算符 | 用途 | 操作数 |
|---|---|---|
| && | 短路与 | 双目 |
| || | 短路或 | 双目 |
| ! | 异或 | 双目 |
| & | 与 | 双目 |
| | | 或 | 双目 |
| ! | 非 | 单目 |
使用逻辑运算符时,需要注意以下几点:
-
逻辑运算符的操作数只能是布尔类型的数据,可以是布尔型常量、布尔型变量或者运算结果为布尔类型的表达式。
-
运算符“&&”和“&”、“|”和“||”的运算结果是一样的,两者的区别在于“&&"和“||”具有短路运算的功能,只有在一定条件下才计算第2个操作数。对于逻辑与“&&”运算,当左边的操作数为false时,右边的操作数是不会进行运算的:对于逻辑或“||”运算,当左边的操作数为true时,右边的操作数同样不会进行运算。而对于“&”和“|”,在任何情况下都要对左右两边的操作数进行计算。
-
运算符“^”表示异或操作,当其左右两边的布尔值相同时结果为false, 当其左右两边的布尔值不同时结果为true。
关系运算符
关系运算符是比较两个数据之间的关系,其结果是一个布尔值,即true或false。关系运算符都是双目运算符。
| 运算符 | 用途 |
|---|---|
| = | 等于 |
| != | 不等于 |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
在一个比较运算符左右两边的两个操作数的数据类型应该一致。 整数或浮点数的关系运算是比较两个数的大小,char 类型数据的关系运算是比较其unicode码的大小,boolean 类型数据只能进行等于(==)或不等于(!=)比较。事实上,任何类型的数据(包括基本数据类型和引用数据类型)都可以通过等于 ( == )或不等于(!=) 来比较是否相等。
条件运算符
条件运算符就是?:,是一个三目运算符。
格式如下:
操作数1?操作数2:操作数3
操作数1可以是布尔型常量、布尔型变量或者运算结果为布尔类型的表达式,最终计算结果只能是布尔类型的数据。操作数2和操作数3无要求。
条件运算符的运算顺序为:先计算操作数1的值,如果结果为true,则计算操作数2的值,并把这个值作为整个运算的最终结果;如果操作数1的值为false, 则计算操作数3的值,并把这个值作为整个运算的最终结果。

被折叠的 条评论
为什么被折叠?



