第一章 变量和数据类型
目录
内容仅供学习交流,如有问题请留言或私信!!!!!
1.变量和数据类型
1.1.变量命名规则
不能使用关键字,要有意义等。
变量的声明与使用:
常量:
1.1.1.八种数据类型
数据类型 | 大小 | 取值范围 |
byte | 1字节8位 | -128 ~ +127 |
int | 4字节32位 | -2147483648(-231) ~ + 2147483647(231-1) |
short | 2字节16位 | -32768 (-215) ~ + 32767 (+215-1) |
long | 8字节64位 | -263 ~ + 263-1 |
float | 4字节32位浮点数 | 1.4E-45 ~ 3.4E+38 , -1.4E-45 ~ -3.4E+38 |
double | 8字节64位浮点数 | 4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308 |
char | 16位 | 0-2^16-1 |
boolean | 8位 | true、false |
思维导图:
1.1.2.基本数据类型
数值型、字符型、布尔型。
补: 基本数据类型:数据值存储在自己的空间。
特点:赋值给其他变量,也就是真实的值。
传递基本数据类型时,传递的就是真实的数据,形参的改变不影响实际参数的值。
1.1.3.引用数据类型
目前学习所用到的仅有class类,在以后的学习中会逐步完善该类型。
补:引用数据类型:数据值存储在其他的空间,自己空间中存储的是地址值。
特点:赋值给其他变量,赋的地址值。
1.2.Scanner的使用
用法:键盘录入数据时使用!!!
1.2.1.导入Scanner类
注意:导入时需在最外层导入。
import java.util.*;
eg:
1.2.2.创建Scanner对象
Scanner input = new Scanner(System.in);
注意:这里的input仅为后续调用时使用,相当于所起的名字,必须跟下面的.nextInt()前相同即可。
1.2.3.获取键盘输入的数据
int now = input.nextInt();
eg:效果展示
1.3.自动类型转换
1.3.1.转换规则
1.如果一个操作数为double型,则整个表达式可提升为double型
2.满足自动类型转换的条件
1.3.2.强制类型转换
1.3.3.赋值运算符
变量名 = 表达式;(表达式就是符号(如加号、减号)与操作数(如b,3等)的组合)
1.3.4.算数运算符
基本的算数运算:+、-、*、/、%、++、--
复合算术运算符:+=、-=、*=、/=、%=
1.3.5.关系运算符
运算符 | 含义 | 范例 | 结果 |
== | 等于 | 5==6 | false |
!= | 不等于 | 5!=6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
注意:
- =为赋值运算符,==为等于运算符
- 关系表达式的结果为布尔值
- >、<、>=、<= 运算符的优先级别高于==、!=
- >、<、>=、<=运算符只支持数值类型的数据比较
1.3.6.逻辑运算符
运算符 | 含义 | 运算规则 |
&& | 短路与 | 两个操作数都是true,结果才是true |
|| | 短路或 | 两个操作数一个是true,结果就是true |
! | 非 | 操作数为true,结果为false |
操作数为false,结果为true |
如果第一个操作数已经能确定表达式的值,第二个操作数就不必计算了;
优先级别 ! > && > ||
1.3.7.条件运算符
运算符优先级:
- 单目运算符包括! ++ --,优先级别高
- 优先级别最低的是赋值运算符
- 可以通过()控制表达式的运算顺序,()优先级最高
- 从右向左结合性的只有赋值运算符、三目运算符和单目运算符
- 算术运算符 > 关系运算符 > 逻辑运算符
关于注释:关于JAVA 注释,请点击这里
总结
- 变量的概念和使用
- 数据类型转换包括自动类型转换和强制类型转换
- Scanner类可以从键盘获取输入的信息
- 赋值运算符、算术运算符、关系运算符、逻辑运算符
练习:第一章练习题