# java
## 介绍
####标识符
标识符作用:
标识符是用来给类、变量、方法、包进行命名的。
标识符规则:
1标识符开头必须以字母、下划线、美元符号$开头
不能以数字作为开头
2标识符其他部分可以是字母、下划线、美元符、数字的任意组合
3标识符大小写敏感、长度无限制
4标识符不可以是java关键字
5类名的标识符、首字母大写
6驼峰式命名
####关键字
java关键字是有特殊含义的单词,供java内部使用的,不能使用关键字作为变量名和方法名
####变量和常量
变量的声明:我要创建一个变量
int a;
变量的创建
a=10;
变量的声明及创建
int a=10;
注意变量是可以修改的,变量名是不能重复的
变量语法
数据类型 变量名 = 变量值
常量语法
变量加final
常量只能赋值一次,不能修改
####数据类型
1基本数据类型
1.1整数
byte 字符型整数 8bit是1byte 256 -128-127
short 短整型整数 16bit是2byte 65536 -32768-32767
int 整数型 32bit是4byte 约正负21亿
long 长整型 64bit是8byte
0开头 8进制
0x开头 16进制
0b开头0B开头 2进制
给long赋值的时候,注意加上L,因为java整数类型的存储默认是用int
1.2浮点数(小数)java默认存储浮点数的类型是double
float 单精度浮点数(输出8位)
double 双精度浮点数(输出16位)默认使用double
1.3字符数据类型
char 单个字符 (可以写字母、汉字、特殊符号)
注意使用单引号''
注意只能写一个
正例
char a='帅';
char在想要输出特殊字符的时候可以使用转义字符,String想要输出特殊字符的时候可也使用转义字符
1.4布尔boolean
只有true和false
正例
boolean c=true;
2引用数据类型
String
####算术运算符
加法
减法
乘法
除法:整数除以整数就是整数,小数位默认省去,如果想要输出小数位,那么参数运算的任何一方是浮点数即可
除数不能为0,除 数如果为0,数学运算异常
取模: % 取余数
####赋值运算符
=:将右边的值赋值给左边或者将右边的表达式运算的结果赋值给左边
####拓展算数运算符
+=
i=i+10;i+=10;
-=
i=i-10;i-=10;
*=
i=i*10;i*=10;
/=
i=i/10;i/=10;
%=
i=i%10;i%=10;
####赋值运算符和拓展算数运算符的区别
拓展算数运算符不会改变变量的数据类型
赋值运算符 +-*/在运算时,
如果参与运算的数据比int小,结果默认用int来存储结果
如果参与运算的变量大于int,以最大的变量的数据类型作为结果的数据类型
| 算术运算符 二元运算符 | +,-,*,/,% |
| ------------------------- | --------------------------------- |
| 一元运算符 | ++,-- |
| 赋值运算符 | = |
| 扩展运算符 | +=,-=,*=,/= |
| 关系运算符 | >,<,>=,<=,==,!= instanceof |
| 逻辑运算符 | &&,||,!,^ |
| 条件运算符 | ? : |
| 字符串连接符 | + |
####关于++ --
++让变量自增1
--让变量自减1
++ -- 放在变量前后对于变量来说(自增1,自减1)是一样的,但是对于表达式的计算结果是不一样的
i++, 放在变量后,先使用变量原始的值参与表达式的计算,然后表达式计算完,再让变量自增1
i--, 放在变量后,先使用变量原始的值参与表达式的计算,然后表达式计算完,再让变量自减1
++i, 放在变量前,先让变量自增1,然后表达式计算完,再使用变量值参与表达式的计算
--i, 放在变量前,先让变量自减1,然后表达式计算完,再使用变量值参与表达式的计算
####关系运算符
==判断是否相同
!=判断是否不同
>
<
>=
<=
####逻辑运算符
并且 & and 全为真,一个为假即为假
或者 | or 一个为真即为真,全为假即为false
异或 ^ 一真一假则为真,同真同假则为假
非 ! 原来为真变为假,原来为假变为真
短路与 && 对与运算的优化
短路或 || 对或运算的优化
####条件运算符
java中唯一的一个三目运算符
条件?值1:值2
条件为真使用值1,否则使用值2
####运算符的优先级别
boolean result =1+2>3||12+2*5<50
算术运算符(乘除>加减)>关系运算符>逻辑运算符>赋值运算符
加上括号优先级更高
####位运算
按位或 | 相同位置上 一方为1,则为1;同为0,则为0;同为1,则为1
按位与 & 相同位置上 一方为0,则为0;同为0,则为0;同为1,则为1
按位异或 ^ 相同位置上,相同则为0,不同则为1
按位非 ~ -9,-8,-7,-6,-5,-4,-3,-2,-1, 0,1,2,3,4,5,6,7,8
左移 << 移动1位扩大2倍 扩大2的n次幂
右移 >> 移动1位缩小2倍 缩小2的n次幂
>>> 会移动符号位