Java 是一门强类型语言,强类型语言可以在编译过程中发现语法错误,从而保证程序更加健壮。Java 还提供了一系列功能丰富的运算符,这些运算符是 Java 编程的基础。
一、前置知识
1.1 注释
编写程序时给代码添加一些注释,用以说明某段代码的作用,或者说明某个类的用途、某个方法的功能,以及该方法的参数和返回值的数据类型及意义等,可以提高代码的可读性。养成良好的编程习惯从写注释开始。
1.2 分隔符
Java 中 分号 " ;"、花括号 " { } "、方括号 " [ ] "、圆括号 " ( ) “、空格 " " 、圆点 " . " 都具有特殊的分隔作用,因此被统称为分隔符。
;
:作为语句的分隔,Java 语句结束后必须以 " ;” 结尾。
{
:花括号成对出现,被花括号包括的代码块在逻辑上是一个整体。
[
:方括号用于访问数组等填写索引。
(
:用于方法传参、强制类型转换等
" "
:区分一条语句的不同部分,多个空格无影响。
.
:作为类与方法、成员变量之间的分隔
1.3 标识符
命名规则:
由 $ 、_ 、英文字母、数字组成,并且以 $ 、_ 、英文字母开头。(标识符不能是关键字)
驼峰命名法:
类名:第一个单词首字母必须大写,后续单词首字母大写。
方法名:第一个单词首字母小写,后续单词首字母大写。
变量:第一个单词首字母小写,后续单词首字母大写。
常量:所有字母均大写。
单词的拼接:通常使用 userName 方式拼接单词,而不是user_name。
1.4 关键字
java中有50个关键字,他们都是由java定义好的,关键字全部都是小写。
除以上 50 个关键字以外,Java 还定义了 true、 false、null 三个常量,也是不允许用来做标识符的。
1.5 ASCII
二、数据类型
2.1 数据类型
2.1.1 分类
2.1.2 基本数据类型
2.1.3 引用数据类型
类(class)、接口(interface)、数组(array)。 例如:String 字符串
2.2 常量
在程序运行过程中值不会改变的量称为常量。常量在整个程序中只能被赋值一次,且常量的值可以共享给程序中的所有对象。在Java中声明一个常量,除了要指定数据类型外,还需要通过final关键字进行限定。
语法
final 数据类型 常量名 = 值; // 例:final double PI = 3.14;
补充
直接量是指在代码中直接给出的量,例如:int a = 100; 其中为 a 赋的初值 100 就是直接量。
2.3 变量
变量相当于一个盒子,当声明一个变量后,Java 会根据数据类型开辟一块空间,用来给你存放值,存放什么值他就代表什么。
语法
数据类型 变量名 = 值; // 例:int a = 100;
注意
变量名必须是一个合法的标识符!
变量不赋值不能使用!
在一个{ }内,变量名不能重复!
2.4 类型转换
2.4.1 自动类型转换
范围小的可以自动转换为范围大的
示例
int a = 2;
double b = 2.0;
System.out.println(a + b); // 4.0
2.4.2 强制类型转换
将范围大的强制转换为范围小的,强制类型转换有精度损失
语法
目标类型 变量名 = (目标类型)待转换值; // 例:int a = (int) 2.3; ⇨ a = 2;
三、运算符
3.1 算数运算符
加法:
int a = 1;
int b = 9;
int c = a + b;
System.out.println("c = " + c); // c = 10
// “ + ” 除了正常的加法运算以外,还可以拼接字符串
String s1 = "Hello";
String s2 = "World";
String str = s1 + s2;
System.out.println("str = " + str); // str = HelloWorld
减法:
int a = 1;
int b = 9;
int c = b - a;
System.out.println("c = " + c); // c = 8
乘法:
int a = 2;
int b = 9;
int c = a * b;
System.out.println("c = " + c); // c = 18
除法:
整型进行除法运算结果会舍去小数,为浮点型是进行除法运算才会保留小数,被除数不能为 0 ,否则会报 / by zero 异常
int a = 4;
int b = 10;
int c = b / a;
System.out.println("c = " + c); // c = 2
double x = 4;
double y = 10;
double z = y / x;
System.out.println("z = " + z); // z = 2.5
取余:
取余数
int a = 3;
int b = 10;
int c = b % a;
System.out.println("c = " + c); // c = 1
自增:
++ 在前为先加再用,++ 在后为先用后加
int a = 3;
System.out.println(a++); // 3
int b = 3;
b++;
System.out.println(b); // 4
int c = 3;
System.out.println(++c); // 4
自减:
– 在前为先减再用,-- 在后为先用后减
int a = 3;
System.out.println(a--); // 3
int b = 3;
b--;
System.out.println(b); // 2
int c = 3;
System.out.println(--c); // 2
3.2 赋值运算符
int a = 100; 将 100 赋给 a
int a = b; 将 b 的值赋给 a
变体
运算符 | 表达式 | 对应表达式 |
---|---|---|
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
3.3 逻辑运算符
运算符 | 名称 | 说明 |
---|---|---|
&& | 短路与 | 两边同时为 true 时结果为 true, 否则结果为 false |
& | 逻辑与 | 同短路与 |
|| | 短路或 | 两边同时为 false 时结果为 false, 否则结果为 true |
| | 逻辑或 | 同短路或 |
! | 非 | 取反 |
^ | 异或 | 两边相同结果为 true,两边不同结果为 false |
&& 当左边为 false 时,不会去判断右边,直接返回 false,而 & 两边都要判断。( || 与 | 类似)
3.4 比较运算符
运算符 | 名称 |
---|---|
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
== | 等于 |
!= | 不等于 |
3.5 三元运算符
语法
// 表达式为 true 时,返回 值1,表达式值为 false 时,返回 值2
表达式 ? 值1 : 值2; // System.out.println(2 > 3 ? "真" : "假"); ⇨ 假
3.6 运算符的优先级
优先级从上至下依次递减。同等优先级从左至右运算
参考文档
JDK 1.8 API