Java的一些基本语法
关键字、标识符、变量、运算符
(流程控制、数组)后续
1.关键字&标识符
关键字: 被Java语言赋予了特殊含义, 用做专门用途的字符串(单词), 关键字全是小写的
保留字: 以后可能用来作为关键字
标识符: 凡是自己可以起名字的地方都叫标识符
命名规则:
一定要遵守, 不遵守就会报编译的错误
由26个英文字母大小写,0-9, _或 $ 组成 数字不可以开头.
不可以使用关键字和保留字, 但能包含关键字和保留字.
Java中严格区分大小写, 长度无限制.
标识符不能包含空格.
命名规范:
不遵守, 也不会出现编译的错误
包名: 多单词组成时所有字母都小写: xxxyyyzzz
类名、接口名: 多单词组成时, 所有单词的首字母大写: XxxYyyZzz
变量名、方法名: 多单词组成时, 第一个单词首字母小写, 第二个单词开始每个单词首字母大写: xxxYyyZzz
常量名: 所有字母都大写, 多单词时每个单词用下划线连接: XXX_YYY_ZZZ
2.变量
- Java中变量按照数据类型来分类: 基本数据类型 vs 引用数据类型(数组 类 接口)
基本数据类型
整型: byte(8 bit,-128~127) short(-32768~32767) int(默认类型,-231~231-1) long
浮点型: float double(默认类型)
字符型: char(‘ ’)16 bit 是以十六进制保存的字符,例:char ch = ‘\u0041’;为’A’
布尔类型: boolean (只能取值为true 或false, 不能取null)
引用数据类型
String类型: 值可以为null
数组、对象(类的实例)等,之后会一一说明.
数据类型 变量名 = 初始化值;
补充: 按照在类中存在的位置的不同: 成员变量 vs 局部变量
成员变量在声明时会被默认初始化, 因此可以在声明后直接使用, 而局部变量在使用之前必须先初始化
声明: long型常量需后缀"l"或"L",long lo = 123L;
float类型变量要后缀"f"或"F",float f = 12.3F;
2.进制(了解)
十进制 二进制 八进制 十六进制
二进制: 计算机底层都是用二进制来存储、运算.
二进制 与十进制之间的转换.
二进制在底层存储: 正数、负数都是以补码的形式存储的.(原码、反码、补码)
四种进制间的转换
3.变量的运算:
①自动类型转换: 容量小的数据类型自动转换为容量大的数据类型转换.
short s = 12;
int i = s + 2;
注意: byte short char之间做运算, 结果为int型!
②强制类型转换: 是①的逆过程.使用“()”实现强转.
3.运算符
运算符是一种特殊的符号, 用以表示数据的运算.
A.算术运算符:
1 | + - / % ++ -- + |
注意:
- /: int i = 12; i = i / 5;地板除
- %: 取模, 结果的符号与被模数相同
- 前++: 先+1, 后运算 后++: 先运算, 后+1
- +: String字符串与其他数据类型只能做连接运算, 且结果为String类型.
1 | sysout("*" + '\t' + '*'); vs sysout('*' + '\t' + '*');结果为93 |
B.赋值运算符:
1 | //= += -= *= /= %= |
C.比较运算符(关系运算符)
1 | == > < >= <= instanceof |
[注意] 区分 == 与 = 区别.
进行比较运算操作以后,返回一个boolean类型的值(true或false)
4>=3 表达的是4 > 3或者 4 = 3.结果是true.
if(i > 1 && i < 10){ } 不能写为: if(1 < i < 10){}
D.逻辑运算符(运算符的两端是boolean值)
1 | & && | || ^ ! |
[注意]区分&与&&的区别, 以及 | 与 || 的区别
我们使用的时候, 选择 && , || 短路与、短路或
E.位运算符(两端是数值类型的数据)
1 | << >> >>>(无符号右移) & | ^(异或) ~(按位取反) |
[例子] 1.如何交换m = 12和n = 5的值
2.将60转换为十六进制输出.
F.三元运算符
(条件表达式) ? 表达式1 : 表达式2;
- 既然是运算符, 一定会返回一个结果, 并且结果的数据类型与表达式1, 2的类型一致
- 表达式1与表达式2的数据类型一致.
- 使用三元运算符的, 一定可以转换为if-else. 反之不一定成立.
- ?: 可以嵌套使用
例子: 获取两个数的较大值; 获取三个数的最大值.
One More Thing 👇
1 | int i = 0, j = 1; |