变量,常量,数据类型和运算符
拾遗
1. 注释
-
行注视
-
块注释
存在目的: 解释程序,给程序美容
- 关键字 :有特殊意义的单词 eg: public static void
- 标示符 :能够自己定义命名的字符序列
变量名与数据类型
1.内存 :计算机存储数据的地方
2.变量:内存中的一个存储空间表示
-
本质:驻留在内存中 存储在变量中的值可以发生改变
-
可以把变量看成:一个内存地址表示
-
如何定义一个变量?
- 语法:<数据类型> <变量名> ;
eg: int money; string name;
- 变量使用:变量名 = 值; eg:
money = 1000;
- 定义和使用一起完成: 数据类型 变量名 = 值 ; eg:
int money = 1000;
- 为什么要使用变量 ?计算机的本质是用来计算的 ,里面的数据回经常发生变化 ,我们需要用变量来应对这种变化
3.数据类型
- 数值类型
-
基本数据类型
- 整数型 int short long byte
- 小数型 float double
使用小数型需要注意的地方:float 和double Java中默认double
使用整数类型需要注意的地方:整数类型默认 int 使用long 等类型需要在数值结尾表明数据类型用大写首字母 表示 例如“456489789L”
float pi = 3.14;//错误的表达方式
float pi = 3.14F;
double doublePI = 3.14;
long sun = 98654543465;//错误的表达方式
long sun = 98654543465L;
- 数据类型转换
低比特类型可以自动转换为高比特类型。
强制性转型 可以实现高比特到低比特的转型 但是次操作不安全
注意 : 不要轻易的将小数类型转换为整数类型(精度丢失)常用的数据类型有 int double boolean byte 其次是 long char 可以自动转换为int
- 非数值类型 char boolean
基本数据类型有8种
- 引用数据类型
常量
final 放在 数据类型前面表示该值是个常量,一但定义其值不能改变
byte b1 = 120;
byte b2 = 120+3;
byte b3 = 15;
byte b5 = 16;
byte b6 = b3 + b5; // 错误的程序 因为b3 b5 是变量
//正确示例
final byte b3 = 15;
final byte b5 = 16;
byte b6 = b3 + b5;
运算符(操作符)
本质:用于计算的
1. 算术运算符
% , / , * , + , -
2. 比较运算符
< , > , >= , <= , != , ==
比较运算符的计算结果一定是boolean类型的值
3. 逻辑运算符
短路与 &&,短路或 ||,非 !,
如果在短路与和短路或中第一个条件能确定结果,就不进行下一个比较
4. 位运算符
位与 & ,位或 |,位异或 ^
操作整数对应的比特位,参与位运算的都是整数。
将整数转换为二进制 然后逐位 相与 相或 等。
- 位与 & :上下都为1结果为1上下有一个是0 结果0;
- 位或 | :上下有一个为1 结果为1上下都为0 结果为0 ;
- 位异或 ^ : 上下值不一样结果为1 上下值相同结果为0 ;
5. 位移运算符
左位移 << ,右位移 >>,
- 左位移 << : 将符号左边的数向左移动符号右边对应的值。(二进制)
- 右位移 >> : 将符号左边的数向右移动符号右边对应的值。(二进制)
6. 自增(自减)运算符
前向自增++i;后向自增i++;
前向先自增后赋值,后向自增先赋值后自增
7.赋值运算符
= :将右边的值赋给左边的变量,右边可以是变量也可以是常量,左手边只能是变量
Scanner
是一个接受管道
定义: Scanner input = new Scanner(System.in);
使用Scanner 需要导入:
import java.util.Scanner;