变量存储过程
int num=8;
System.out.prient(num);
图拍你稍后补上
作用域
从定义变量开始,到该变量所属的{}结束,在同一作用域中,变量名不可以重复!!!
数据类型的转换:
byte > short > int > long > float > double
自动转换
程序自动转换,不需要程序员关注
例如:
`byte b=10;
short s=b;
System.out.println(s);
`
整数类型转浮点型,在整数后面加上 .0 变成浮点数
float > double 可能会存在精度丢失
强制转换
从大转小的时候,编译会报错(可能会溢出)
在否些情况下,强转并不会溢出
格式:
(强转的类型)值;
注意:
1.大类型转小类型,有可能会出现溢出
2.从大转小,江大的二进制数从最右边开始截取小数据类型所能存储的二进制的位数

3.浮点型转整型
舍弃小数部分
数据类型的自动提升
例如:

运算符号
分类
1.算数运算符号
2.赋值运算符号
3.关系运算符号(比较)
4.逻辑运算符号
5.位运算符号
6.三目运算符号
算数运算符号
+ - * / 加减乘除
+:
如果两个元素的数据类型一直,结果的数据类型和元素保持一致;;; 如果两个元素不一致,结果的数据类型和大的保持一致

-:相减
*: 求积
如果两个元素的数据类型一直,结果的数据类型和元素保持一致;;; 如果两个元素不一致,结果的数据类型和大的保持一致
/:求商
除数不能为 0
正浮点数/0 Infinity(无穷大)
负浮点数/0 -Infinity(无穷小)
0.0/0 NaN(Not a Number)
%: 取模 模余 ---求无数
5%3=2
余数是正数还是负数 取决于第一个数字
++: 自增1
单目运算符号,只能对单个变量元素做运算
i++;严格意义上来说指的是
i=(type)(i+1)
i++,++i;
符号在前先自增在运算,符号在后,先运算在自增
eg;
int i=6;
int j=i++ + ++i;
答案:j=14,i=8
--: 自减1
和++ 同理
赋值运算符号
java 中支持连等符号;
Eg: int a,b;
a=b=3;
+=;(默认包含 强制数据类型转换)
a+=2;
等于:a=a+2
byte a =10;
a+=2;
sout(a);
-+;
*=;
/+;
比较运算符号
>大于
<小于
>=大于等于
<=小于等于
==相等
!=不等于
逻辑运算符号
对于boolean类型的做运算,结果也为boolean
& 与 且 and
同true为true,见false 为false;
| 或 or
见true 为true 同false 为false
! 取反
^ 异或
如果两个元素的值相等,则结果为false;
如果两个元素的值不想等,则结果我true
经典面试题:
int a=3;
int b=4;
int c=a;
a=b;
b=c;
一个值异或同一个值两次结果还是该数本身;
交换两个数的值:
1.通过三个变量来交换
2.求和方式,不用创建第三个变量
3.^ 解决
优点: 提升代码效率
&& 双与 短路与
|| 双或 短路或
位运算符号
对整型数字运算,基于二进制来做运算
& 按位与
将数字换成二进制,相同
| 按位或
^ 按位异或
~
<<
>>
>>>
源码:
十进制转二进制 得到的数字
反码:
转二进制1变成0
补码:
反码基础上+1
补充
int i=10;
char c='a';
syso(i+c);
PS:和字符串拼接,会使用字符
和整数类型、浮点数类型拼接的时候会使用对应的数字~~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。