1. 标识符
1.1什么是标识符:
在编程中我们对于使用到的变量、常量、方法、语句块等有应该的名字,这个名字我们称为Java的标识符,标识符还可以作为Java中的类名、接口名、对象名、方法名等。
1.2Java语言对于标识符的规定:
标识符可以有任意顺序的大小写字母、数字、下划线_和没有符$组成
标识符不能以数字开头
标识符不能是Java中保留的关键字(class,public,import,char,private等)
Java中的标识符是区分大小写的
(对于Java中的命名规范可以总结为“驼峰”规范,注:命名中不能包含空格!!)
2.变量
2.1什么是变量:
变量是内存中用来保存程序运行过程中的值得一块空间,并且数值可以随时发生变化。
我们通过给这块空间的内存地址一个表示符号当做它的别名,这个别名我们称之为变量名。
注:在同一个程序块中变量名不可重复,否则编译错误
2.2变量的声明:
1.声明变量的同时给变量赋值
数据类型 变量名 =数值
intnum=20;;(num是变量名,int是num的数据类型,20是num的值)
2.先声明变量,后根据需求给变量赋值
数据类型 变量名
变量名 =数值
intnum;
num=20;
3.数据类型
3.1 在Java中数据类型可分为两大类:基本数据类型和引用数据类型
注:不同的数据类型,取值范围也是有规定的如:保存2.5时,就必须使用浮点型的数据类型,而不能使用整数型,否则程序在运行时报错或者存储的数据类型发生了改变。
在基本数据类型中我们常用的有:int double float boolean这四种
3.2数据类型的转换
为了编程的需要,Java允许将数据从一种类型转换为另一种类型。在Java中数据类型的转换分为两种:
1.自动转换类型:如果不会损失信息,数值会被自动提升为更高级的数据类型,(满足以下条件)
两种类型兼容(同为一种数据类型)如:int和double兼容 int和boolean不兼容
目标类型大于源类型 如:double大于int类型 ,可以将int类型自动转换为double类型(由下向上自动转换)
2.强制类型转换:由大范围向小范围的数据转换
语法: 目标类型 =(目标类型)源类型
short s=40;
byte b;
b=(byte) s;强制将short类型转换为btye类型,并赋值给b
注:将浮点类型转换为整数类型会截断小数部分而非四舍五入,
doubled=3.6;
inti;
i=(int) d;
这时候的i的值为3 而不是4
在复杂的表达式中的类型转换可能会很复杂,应小心使用
4.运算符
Java中运算符包含赋值运算符,算数运算符,关系运算符,逻辑运算符,位运算符等,主要用来表达和处理各种变量的数据运算操作。
4.1 赋值运算符:赋值运算符“=”主要是给变量或常量指定值;
语法:变量 =值(或表达式) 如:
int a=1;
String s=”abc”;
Interger in=125;
4.2 算数运算符:主要用于算数运算,包括“+”,“-”,“*”,“/”,“%”
运算符 | 操作说明 | 案例 |
+ | 做加法操作 | int c=5+2;则c=7; |
- | 做减法操作,或取负值 | int c=5-2; 则c=3 |
* | 做乘法操作 | int c=5*2; 则c=10; |
/ | 做整数操作 | int c=5/2; 则c=2; |
% | 做余数操作,也称为模除操作 | int c=5%2; 则c=1; |
4.3我们也可以将赋值运算符与算数运算符一起使用组成复合运算符,例如:
运算符 | 操作说明 | 案例 |
+= | 左右运算术相加后,在赋值给左边的变量 | a+=b→a=a+b |
-= | 左右运算术相减后,在赋值给左边的变量 | a-=b→a=a-b |
*= | 左右运算术相乘后,在赋值给左边的变量 | a*=b→a=a*b |
/= | 左右运算术整除后,在赋值给左边的变量 | a/=b→a=a/b |
%= | 左右运算术模除后,在赋值给左边的变量 | a%=b→a=a%b |
++ | 递增运算符,运算术值加1 | a++或++a |
-- | 递减运算符,运算术减加1 | a—或—a |
注:++和—放在运算符左右两边是有区别的:如:
int a=5;b;
b=a++; //先将a的值5赋给b,a再加1;结果:a=6 b=5
b=++a; //a先加1,再将a的值赋给b;结果:a=6 b=6
b=a--; //先将a的值5赋给b,a再减1;结果:a=4 b=5
b=--a; // a先减1,再将a的值赋给b;结果:a=4 b=4
4.4 关系运算符:用于判断数值之间的关系,运算结果为布尔类型(Boolean)值true或fals
运算符 | 操作说明 |
== | 比较左右变量相等,相等结果为true,否则false |
!= | 比较左右两边不相等,相等结果为false,否则true |
> | 比较左边值大于右边,大于结果为true,否则false |
< | 比较左边值小于右边,小于结果为true, 否则false |
>= | 比较左边值大于或等于右边,大于或等于为true,否则false |
<= | 比较左边值小于或等于右边,小于或等于为true,否则false |
注:==和equals()的区别:
==用于比较基本数据类型和引用数据类型,对比的是内容(值)和内存地址;
equals()用于对比引用数据类型,仅对比内容(值)是否相同;
String st=new String("abc");
String str=new String("abc");
System.out.println(st==str); false
System.out.println(st.equals(str));true
4.5 逻辑运算符:用来对比多个条件关系的预算结果,运算结果使用boolean类型
运算符 | 操作说明 |
| | 逻辑或,两边操作数都为false,则结果为false,否则为true |
& | 逻辑与,两边操作数都为true,则结果为true,否则为false |
! | 逻辑非,右侧运算术为true,则结果为false,否则true |
^ | 逻辑异或,两边操作数结果不同的时候,则结果为true,否则false |
|| | 短路或,与逻辑或结果相同 |
&& | 短路与,与逻辑与结果相同 |
注:&和&&的区别:都是逻辑与运算术,两边结果为true时为true否则false
&判断左右两边的条件之后返回结果
&&判断左右两边,当左边为false时,不再判断右边直接返回结果
| 和 || 原理同上