常量变量和算数运算
1.日常变量使用的注意事项
可以同时定义多个变量
变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
变量使用时有作用域的限制。
public class Demo08Variable {
public static void main(String[] args) {
//定义变量
int a = 10;
System.out.println(a);
//变量未赋值,不能使用
int b;
b = 20; //变量在使用前赋值都是可以的
System.out.println(b);
//变量只在它所属的范围内有效
{
int c = 100;
System.out.println(c);
}
//System.out.println(c);
//一行上可以同时定义多个变量,但是不建议
/*
int aa,bb,cc;
aa = 10;
bb = 20;
cc = 30;
*/
int aa=10,bb=20,cc=30;
}
}
2.数据类型详解
2.1字节回顾
字节是计算机当中存储数据的基本单位,每种数据类型都会占用一定的空间。
比特位
比特位(bit)是计算机当中最小的存储单位,由于机器码只识别1与0,所以每一位的1与0均为一个比特位
字节组成规则
在计算机当中如果使用bit来计算数据过于冗余复杂,所以以8个比特位组成一个新的单位——字节,作为数据存储的基本单位
常见的数据存储单位之间的换算
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
2.2数据类型详解
数据类型是Java中重要的基础内容,必须引起重视,做到可以娴熟记忆所有基本数据类型。
高级语言引入数据类型的原因是为了更有效方便的组织数据规范数据的使用
方便组织数据
2.2.1数据类型分类
数据类型分为基本类型与引用类型,引用类型包括:数组、类、接口,在面向对象后期会全部介绍完毕。这里着重介绍基本数据类型。
注意: 字符串String属于引用类型中的类。
2.2.2基本数据类型
基本数据类型(4类8种)
注意事项: A:整数默认是int类型,浮点数默认是double
B:定义long类型数据的时候,要加L或者l,建议加L 定义float类型数据的时候,要加F或者f,建议加F
C:字符 Java中的字符采用的是unicode编码,每一个字符占用两个字节,就可以存储一个汉字
D:boolean类型适用于逻辑运算,一般用于流程控制
在基本数据类型中,字符型char存在一种特殊情况,就是转义字符。
转义字符:一个特定字母前面加"",用于表示不能显示的字符。例如:回车。
常见的转义字符如下:
System.out.println('\'');
System.out.println('\"');
System.out.println('\n');
System.out.println('\\');
运算符
1.运算符概念
运算符是用来计算数据的指令。 下图中整个式子叫做表达式
常见的运算分类 : 算术运算、关系运算、逻辑运算、按位运算。
算术运算: 加减乘除余的运算。
逻辑运算:与、或、非 这类的运算称为逻辑运算
与(同时打才叫双打)
或(只要有一个人打了,就叫单打)
非(颠倒黑白)
关系运算:比较大小 相等、不相等 (谁打的多 谁打的少)
按位运算: 精确到bit一级的运算。
所有的表达式都是有结果的
按照有多少个操作数 还可以分为N目运算符
注意: 运算符一般只操作基本类型数据,不操作引用类型数据。
运算符优先级表
优先级 运算符 名称或含义 使用形式 结合方向 说明
1 [] 数组下标 数组名[整型表达式] 左到右
() 圆括号 (表达式)/函数名(形参表)
. 成员选择(对象) 对象.成员名
-> 成员选择(指针) 对象指针->成员名
2 - 负号运算符 -表达式 右到左 单目运算符
(类型) 强制类型转换 (数据类型)表达式
++ 自增运算符 ++变量名/变量名++ 单目运算符
-- 自减运算符 --变量名/变量名-- 单目运算符
* 取值运算符 *指针表达式 单目运算符
& 取地址运算符 &左值表达式 单目运算符
! 逻辑非运算符 !表达式 单目运算符
~ 按位取反运算符 ~表达式 单目运算符
sizeof 长度运算符 sizeof 表达式/sizeof(类型)
3 / 除 表达式/表达式 左到右 双目运算符
* 乘 表达式*表达式 双目运算符
% 余数(取模) 整型表达式%整型表达式 双目运算符
4 + 加 表达式+表达式 左到右 双目运算符
- 减 表达式-表达式 双目运算符
5 << 左移 表达式<<表达式 左到右 双目运算符
>> 右移 表达式>>表达式 双目运算符
6 > 大于 表达式>表达式 左到右 双目运算符
>= 大于等于 表达式>=表达式 双目运算符
< 小于 表达式<表达式 双目运算符
<= 小于等于 表达式<=表达式 双目运算符
7 == 等于 表达式==表达式 左到右 双目运算符
!= 不等于 表达式!= 表达式 双目运算符
8 & 按位与 整型表达式&整型表达式 左到右 双目运算符
9 ^ 按位异或 整型表达式^整型表达式 左到右 双目运算符
10 | 按位或 整型表达式|整型表达式 左到右 双目运算符
11 && 逻辑与 表达式&&表达式 左到右 双目运算符
12 || 逻辑或 表达式||表达式 左到右 双目运算符
13 ?: 条件运算符 表达式1? 表达式2: 表达式3 右到左 三目运算符
14 = = 变量=表达式 右到左
/= 除后赋值 变量/=表达式
*= 乘后赋值 变量*=表达式
%= 取模后赋值 变量%=表达式
+= 加后赋值 变量+=表达式
-= 减后赋值 变量-=表达式
<<= 左移后赋值 变量<<=表达式
>>= 右移后赋值 变量>>=表达式
&= 按位与后赋值 变量&=表达式
^= 按位异或后赋值 变量^=表达式
|= 按位或后赋值 变量|=表达式
15 , 逗号运算符 表达式,表达式,… 左到右 从左向右顺序运算
2.算数运算符
加减跟我们数学中的加减是一样的 乘除符号跟数学中的符号不一样
要注意的是 后面两个 除法运算和求余运算
将操作数参与数学计算(通常为数学计算,+号也有特殊的用法,如连接字符串)
除法运算 需要注意 == 整数相除结果为整数== 浮点数相除结果为浮点数
“%”为整除取余符号,小数取余没有意义。取余结果的符号与被取余数的符号相同。
注意: