第二章 Java语言基础
2.1 语言成分
2.1.1 标识符与关键字
关键字
public、class、static、void等
标识符
能用的字符:大小写英文字母、下划线(_)、美元符($)
命名规则
全部字母小写:关键字、变量、对象、方法、包
全部字母大写:常量
ps:如果遇到多个单词构成,除了常量都以如下命名规则为准
toString | getSource | setConsumer
分隔符
结束一个语句需要用的符号。
int x;
char a;
注释
为了防止代码静置时间过长导致自己看不懂,需要给代码做一些有必要的解释。
一般用两种注释方法://、/**/
System.out.println("Hello World !");//这里是一个注释,适合注释一行语句
if(x == 1){
return i;
/*
return b;
System.out.println("Hello World !");
这里是另一种注释 ,适合注释多行语句
*/
}
2.1.2 基本数据类型
数据类型分类
基本数据类型
数值类型
整数类型 byte、short、int、long
整数类型 | 字节数 | 取值范围 |
---|---|---|
byte | 1 | -128-127 | -27 ~ 27 -1 |
short | 2 | -215 ~ 215 -1 |
int | 4 | -231 ~ 231 -1 |
long | 8 | -263 ~ 263 -1 |
在通常情况下,int 类型最常用。但如果表示星球上的居住人数, 就需要使用 long 类型 了
整数默认类型为int,若long类型未在数字后面加L或l,系统会默认认为该类型为int类型
十进制:0-9数字表示,如-123,+990(首位不能为0)
八进制:0开头,后面0-9数字表示,如0123(不推荐使用八进制)
十六进制:0x或0X开头,后面跟0-9 和 a~f 或 A~F 混合表示,如0X123E(代表 0001 0010 0011 1110,每个数字代表一个四位十六进制数)
浮点数类型 float、double
浮点数默认类型为double,定义float类型时为了防止不兼容要在数字后面加F或f
字符类型 char
用单引号包住字符,如’A‘、’a‘、’+‘、’>‘
注意,“A” ≠ ’A‘
转义字符:有固定含义的字符,如下表所示
转义字符 | 含义 | 转义字符 | 含义 |
---|---|---|---|
\t | Tab | \ ’‘ | 双引号 |
\n | 换行 | \ ’ | 单引号 |
\r | 回车 | \ \ | 反斜杠 |
布尔类型
boolean
只有true和false两个值
引用数据类型
数组
类 class
接口 interface
2.1.3 变量与常量
变量
int i;
System.out.println(i);//错误,i没有赋值
i = 10;
System.out.println(i);//输出10
boolean j = true;//声明变量时可以为它赋值
boolean i = false;//错误,声明变量时变量名不能重复
final int value = 100;//最终变量,只能进行一次赋值,无法修改
常量
常量是不能改变的数字据,final开头定义
final int MAX = 100;
final double PI = 3.1415926;
在 Java 中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为 类常量。可以使用关键字 static final设置一个类常量
public static final double A_BB_CCC = 2.54;//类常量的定义位于主函数外部
2.1.4 运算符与表达式
运算符
算术运算符
7 / 2 //3...1取整=3
7.0 / 2 //3.5
7 % 2 //3...1取余=1
-7 % 2 //3...-1取余=-1
关系运算符
== //等于
!= //不等于
> //大于
< //小于
>= //大于等于
<= //小于等于
位运算符
逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
& | 与 | a&b,a和b都是true,结果为true,否则为false |
| | 或 | a|b,a和b都是false,结果为false,否则为true |
! | 非 | !a,结果和a相反 |
^ | 异或 | a^b,结果不同为true,相同为false |
&& | 条件与 | 左边为假就不计算右边 |
|| | 条件或 | 左边为真就不计算左边 |
赋值运算符
赋值运算次序:从右→左
变量=表达式
先计算表达式的值,表达式再赋值给变量
i++ : 计算完再加一
++i : 先加一再计算
类型强制转换符
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
(int)(98.4 + 1.5) //int赋值给double
类型自动转换
1.0 + 1 //浮点数与整数相加,结果为浮点数2.0
1.0 == 1 //浮点数与整数判断相等,结果为true
条件运算符
int i = 10;
int j = 20;
max = i > j ? i : j; //i是否大于10?如果成立,i作为结果值;如果不成立,j作为结果值
括号运算符
字符串连接运算符
System.out.println("max = " + max); //输出“max = max具体值”
拓展:如果需要把多个字符串放在一起, 用一个定界符分隔,可以使用静态 join 方法
String all = String.join("/", "S", "M", "L", "XL");
System.out.println(all);
点运算符
包、类、成员变量,如java.util.Scanner
对象运算符
instanceof判断一个对象是否属于指定类或其子类,运算结果是布尔类型
串放在一起, 用一个定界符分隔,可以使用静态 join 方法
String all = String.join("/", "S", "M", "L", "XL");
System.out.println(all);
点运算符
包、类、成员变量,如java.util.Scanner
对象运算符
instanceof判断一个对象是否属于指定类或其子类,运算结果是布尔类型