Java的基础语法
变量和常量
变量
:内存中一小块固定的空间,其中的内容是可变的。
常量
:内存中一小块固定的空间,其中的内容是不变的。
Java是一种强类型
的语言,申请的变量或常量的内存空间,必须先声明空间存储的数据类型。声明一个类型后,内存空间不能够存储声明以外的其他数据类型。
变量名:为声明内存空间起一个名字,不同变量之间变量名不能重复。
Java中的类型有两种:
(1) 基本数据类型(原始数据类型)
三大类共8种
I. 数值类型
类型转换
10进制和2进制之间的转换
image.png(a) 整数类型(4种) 默认值是0
byte | 1Byte 8bit | -27 --->27-1 |
---|---|---|
short | 2Byte 16bit | -215 --->215-1 |
int(默认) |
4Byte 32bit | -231 --->231-1 |
long | 8Byte 64bit | -263 --->263-1 |
(b) 浮点数类型 默认值是0.0
float | 4Byte |
---|---|
double(默认) |
8Byte |
II. 文字类型 默认值 \u0000;
char | 2Byte |
---|
III. 布尔类型 默认值是 false(假)
boolean | 1Byte |
---|
true(真)
false(假)
(2) 引用数据类型(今天不讲) 默认值是null
声明变量或常量的语法是:
类型 变量名;
int a;
int haha;
int abc;
int x123;
变量名命名规则:首字母只能是英文字母或_或或数字。
变量名命名规范:首字母英文小写字母,其余字母是任意的。建议其余的每个单词的首字母应该大写
int empSalary;
变量的声明:当前阶段应该写在方法中
通过 = 进行初始化
a = 3; //将数字3放入到a表示的变量内存中
也可以在声明的同时立即初始化
int a = 3;
练习:声明int变量a和b,分别为a和b赋值10和15
基本数据类型的类型转换
(1) 自动类型转换
(a) 同样类型,范围小的向大的自动转换
(b) 整数类型向浮点数类型自动转换
(c) 字符型向int型自动转换
(d) 布尔类型不参与任何转换
image.png
(2) 强制类型转换
自动转换的顺序反向就需要强制转换
如果数据允许,不会出现问题
但是也可能造成精度丢失的问题
(1) 浮点数向整数转换,会丢失小数部分的精度
(2) 整数向整数转换,可能会丢失位(bit)的精度
500有9位 111110100 丢失多出的一位
Byte能存8位 11110100 -> -12
操作符(运算符)
(1) 数学运算符
+,-,*,/,%
除法:两个整数相除,得到的结果一定是整数
数学运算中如果有浮点数参与计算,结果的类型一定是浮点数类型(double)
除法和取余操作的除数不能为0
整数:程序会报异常
浮点数:得到Infinity 无限 (无穷大)
取余操作:结果的符号问题
结果的符号与被除数的一致
练习:给定一个变量a,是一个三位正整数。分别显示出该三位数各个位置上的数字
(2) 单目运算符
只适用于整数变量
++ 表示整数自增1
-- 表示整数自减1
int a = 1;
a++; 先使用a当前的值参与运算,随后a自增1
++a; 先将a自增1,再使用自增后的值参与运算
(3) 比较运算符(比较后的结果都是boolean类型)
>
大于 数字,字符
<
小于 数字,字符
==
等于 数字,字符,布尔
!=
不等于 数字,字符,布尔
>=
大于等于 数字,字符
<=
小于等于 数字,字符
(4) 赋值运算符
= 将等号右侧的表达式计算结果赋值给左侧的变量
+= 数字赋值 a += 5; 相当于 a = a+5; a加5
-= 数字赋值 a -=3; 相当于 a = a-3; a减3
*= /= %=
+= 包含了自动类型转换的功能
image.png(5) 逻辑运算符
与 &&
A && B 必须同时满足A和B即可:
&& | true | false |
---|---|---|
true | true | false |
false | false | false |
或 ||
A || B 满足A或B其一即可:
|| | true | false |
---|---|---|
true | true | true |
false | true | false |
非 !
A = true;B=false
!A == false; !!A = true;
!B == true; !!B = false;
与逻辑表达式表示一个综合的结果
**&&和||是短路的**
Int a = 3;
Boolean b =** (a++ > 3)** && (a -- < 3);
b == false;
a == ? 4
因为(a++ > 3)的结果是false,决定了&&的运算结果一定是false。
所以第二个运算(a -- < 3)就不执行了,相当于只执行了a++,最后a==4
(6) 位运算符
(7) 三目运算符
表达式:变量和运算符组成一个算式就是表达式
网友评论