JAVA SE基础知识模块三
变量
- 定义 在程序执行过程中 其值会发生变化的量
- 变量是内存中的一小块空间 可以存储数据
- 对于变量 我们得约束 约束变量的范围以及它的数值类型
Java中的数据类型
- 类型 基本数据类型 引用数据类型
- 基本数据类型
- 整数型
- byte 占1个字节
- short 占2个字节
- int 占4个字节
- long 占8个字节
- 浮点型
- float 占4个字节
- double 占8个字节
- 布尔型 boolean
- true 占1个字节
- false 占1个字节
- 字符型 char 占2个字节
- 整数型
定义变量的格式
-
数据类型 变量名=值;
-
变量的命名规范
- 遵循通用规则
- 变量名一般小写
- 多个单词 第一个字母小写 其余字母首字母大写
- 例如 studentName
-
定义变量的注意事项
- 作用域 同一个大括号{} 所括起来的范围
- 在同一个作用域里面不能定义两个同名变量
- 变量必须赋值才能使用
-
其他定义变量的方式
int a,b; a=10;b=20;
-
一行上可以定义多个变量 建议一行一个
自动类型转换
-
Java中的数据类型的隐式转换(数据类型自动提升)
-
当byte short char 在参与运算的时候 会自动提升为int类型
-
如果还有 long float double 参与运算的时候 会相应的提升为 long float double
-
byte short char 这三者之间不参与转换
-
boolean类型不参与数学运算
class DataType { public static void main(String[] args) { byte a=20; byte b=60; byte c=50; int d=100; long e=1L; float g=3.22f; double f=3.5858; double x=a+b+c+d+e+g+f; System.out.println(x); } }
强制类型转换
-
定义 将数据类型强制转换为目标类型
-
原理 把多余字节丢弃掉 保留目标数据类型的字节
-
问题 可能会发生精度损失的问题 不建议使用
-
将多余字节丢弃 只保留强制转换的类型的字节 因此 符号位也有可能发生变化
class DataType1 { public static void main(String[] args) { byte a=20; byte b=10; byte x=(byte)(a+b); System.out.println(x);}}
-
常量优化机制
-
当多个常量参与运算的时候 会先计算他们的结果在不在这个数据类型的范围内
-
在就不报错 不在就报错
class DataType2 { public static void main(String[] args) { byte a=20; byte b=10; byte x=30+20; System.out.println(x);}}
-
-
! 整数默认为int类型 小数默认为double类型
-
Java语言中char类型可以存储一个中文字符
- char 占两个字节
- 如果是GBK码表就可以存放一个汉字
- UTF-8码表一个汉字占三个字节 如果是其他码表 有可能会出错
-
当char字符参与运算的时候 会查找该字符在ASCII码表中的十进制值
- 'a‘ 97
- ‘A’ 65
- ’0‘ 48
- 注意 空格也是字符也有数值
+号的作用
-
数学意义上的相加
-
拼接符的作用
- 当+号两端 只要任意一端是一个字符串 就会起拼接作用 将两段内容拼接起来
System.out.println("Hello World!"+'a'+1);//Hello World!a1 System.out.println('a'+1+"Hello World!");//98Hello World! System.out.println(1+"56658");//156658 System.out.println(1+56658);//56659
运算符
-
定义 对常量或变量进行运算操作的符号
-
分类
-
数学运算符 + - * / ++ – %
class ShuXue { public static void main(String[] args) { int a=10; double b=3; double x=a/b; System.out.println(x); System.out.println(10%3);}}
-
- ++与–(++ 自身增1–自身减1)
- 单独使用时 在前在后没有区别
```
class JiaJian {
public static void main(String[] args) {
int a=1;
a++;++a;a--;--a;
System.out.println(a);}}
```
- 混合使用
```
class JiaJian
{0public static void main(String[] args) {
int a=1;
int x=a++;
x=++a;
System.out.println(x);}}
```
-
比较运算符
-
赋值运算符 == = += -= *= /= %=
-
= 把右边的整数常量赋值给左边的这个int类型的变量a
int a=10; System.out.println(a);
-
-
运行结果:10
- +=
```
int b=20;
b=10+b;//b+=10;
System.out.println(b);
```
- +=运算符可以帮你自动强制转换数据类型
- 其余运算符类似
2. 关系运算符 == != < > <= >= instanceof
- =与==的区别 注意
- 比较运算符的运算结果是布尔类型
-
逻辑运算符
-
位运算符
-
三元运算符