变量与运算符
关键字与保留字
关键字
- 定义:被Java语言赋予了特殊含义,用于专门用途的单词
- 特点:关键字中所有字母都是小写
保留字
- 定义:Java现有版本尚未使用,但以后的版本可能会作为关键字使用
eg
:goto、const
标识符
- Java对各种
变量
、方法
、类
、接口名
、报名
等要素命名时使用的字符序列称为表示 技巧:凡是可以自己起名字的地方都叫标识符
- 标识符规则(必须遵守,否则编译不通过):
- 由26个英文字母大小写,0-9,_或$组成
- 数字不可以开头
- 不可以使用关键字和保留字,但能包含关键字和保留字
- Java严格区分大消息,长度无限制。Static可作为标识符,因为关键字是小写的static
- 标识符不能包含空格
Java中的名称命名规范(建议遵守,不是必须)
包名
:多单词组成时所有字母都小写:xxxyyyzzz类名、接口名
:多单词组成时,所有单词的首字母大写:XxxYyyZzz变量名、方法名
:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz常量名
:所有字母都大写。多单词用下划线链接:XXX_YYY_ZZZ
变量
变量的概念
- 内存中的一个
存储区域
- 该区域的数据可以在
同一类型范围内不断变化
- 变量是程序中
最基本
的存储单元
。包含变量类型
、变量名
、值
说明
- 使用变量名来访问存储区域里的数据
- 变量必须先声明,后赋值
- 变量只在作用域中起作用。只在变量所在的那个’{}‘中起作用,除了所在’{}'就不起作用
- 同一个作用域中变量名不能重复定义
数据类型
按数据类型分
基本数据类型由8种
-
1.整数类型
注:声明long型常量后面需要加上'l'或'L'。eg:long a=43258299502988124849L;
一般整数都是使用int,除非int也不够采用long
-
2.浮点类型
注:声明float型常量,后面须加'f'或'F。表示的数值范围比long大'
一般浮点类型都是使用double,范围更广,精确度更高
-
3.字符型
char (1字符=2字节)
赋值时需要加上单引号
,一次只能赋值一个字符
eg:char c1='a';
char c2='中';
- 4.布尔型(boolean)
布尔型只有两种值,true和false
eg:boolean bb1=true;
boolean bb2=false;
基本数据类型的运算规则
前提:值讨论7种基本数据类型,不包含布尔型
-
1.自动类型提升:
byte、char、short–>int–>long–>float–>double
两个数据类型不同的值进行运算时,结果自动向数据类型范围大的转换。特别的:当byte、char、short类型之间进行运算时,结果得是int类型
-
强制类型转换
- 1.需要使用强制符:()
- 强制类型转换,可能导致精度损失
eg:double d1=12.3;
double d2=12.9
int i1=(int)d1;
int i2=(int)d2;
System.out.println(i1); =>12
System.out.println(i2); =>12
引用数据类型
- 1.String类型变量的使用
String
属于引用数据类型
,翻译为字符串
- 声明String类型变量时,使用一对" ",
双引号
- String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
按声明位置的不同来分
分为成员变量和局部变量
运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
算术运算符
- %:取余运算
- 结果中的
正负号与被模数
(m % n = z,其中m是被模数,n是模数,z是模或余)的符号相同
- 开发中,经常使用%来判断能否被除尽的情况
- 结果中的
赋值运算符
- 符号:=
- 当"="两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
- 支持连续赋值
eg: int i , j;
i = j = 10;
- 扩展赋值运算符:+=、-+、*=、/=、%=
比较运算符(关系运算符)
比较运算符的结构都是boolean型,true or false
比较运算符"=="
,不是"="
逻辑运算符
- 区分 & 与 &&
- 当符号左边的值为false时,
&&
会短路,右边的值就不在运算,而&
右边的值依然会进行运算
- 当符号左边的值为false时,
- 区分 | 与 ||
- 当符号左边的值都为true时,
||
会短路,右边的值就不在运算,而|
右边的值依然会进行运算
- 当符号左边的值都为true时,
位运算符
- <<:在一定范围内,每向左移1位,相当于 * 2
-
:在一定范围内,每向右移1位,相当于 / 2
三元运算符
- 格式:
(条件表达式)?表达式1 :表达式2;
条件表达式为true,执行表达式1
条件表达式为false,执行表达式2
- 凡是可以使用三元运算符的地方,都可以改写为if-else,反之,不成立
- 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高