Day01
1.数据结构
- 整数
- byte 1个字节 -128-127
- short 2个字节 -32768-32767
- int 4个字节 10位数
- long 8个字节 19位数加后缀L或者l
- 小数
- double 8个字节
- float 4个字节 3.4*10**38加后缀F或者f
- 布尔值
- boolean 1个字节
- 字符
- char 2个字节
2.数据类型计算
数字运算:类型不一样不能运算,需要转成同类型的才能计算
类型转换
1.隐式转换
触发时机:不同类型的数据进行计算,默认采取隐式转换,java自动转换,无需写代码。
- byte->short->long->float->double
- 取值小的可以转换为取值大的
- byte,short类型先提升为int类型
bytea=10;byteb=20;intc=a+b;// c->int //将byte转换成intbytea=10;doubleb=20;doublec=a+b;//a->byte->int->double,b->double2.强制类型转换
触发时机:强制类型转换不会自动触发,需要手动书写代码。
inta=10;byteb=(byte)a;bytea=10;byteb=20;bytec=(byte)(a+b)//将a+b的结果进行强制类型转换3.字符运算
按照ascii码字母与数字一一对应
1.大写字母小写
chara='A';charb=(char)(a+32);2.字符串只有+操作,没有其他操作
3.任意数据+字符串都是拼接操作,并产生一个新的字符串。
123+”aaa"->"123aaa" 10+8+"岁"->"18岁" 10+8+"岁"+1+2->"18岁12"4.自增自减运算符
inta=10;a++;//a=11++a;//a=12--a;//a=11a--;//a=10a--;//a=9System.out.println(a);//a=95.赋值运算符
| 符号 | 说明 | 举例 |
|---|---|---|
| = | 直接赋值 | int a=10;将10赋值给a |
| += | 相加后赋值 | a+=b;将a+b赋值给a |
| -= | 相减后赋值 | a-=b;将a-b赋值给a |
| *= | 相乘后赋值 | a*=b;将a*b赋值给a |
| /= | 相除后赋值 | a/=b;将a/b赋值给a |
| %= | 取余后赋值 | a%=b;将a%b赋值给a |
6.关系运算符/比较运算符
| 符号 | 说明 |
|---|---|
| == | a==b 判断a是否等于b |
| != | a!=b 判断a是否不等于b |
| > | a>b 判断a是否大于b |
| >= | a>=b 判断a是否大于等于b |
| <= | a<=b 判断a是否小于等于b |
| < | a<b 判断a是否小于b |
结果:True(成立)/False(不成立)
7.逻辑运算符
| 符号 | 作用 | 说明 |
|---|---|---|
| & | 与(而且) | 同时成立才是符合要求的 |
| | | 或(或者) | 只要有一个符合要求即可 |
| ! | 非(取反) | 取反 |
8.短路逻辑运算符
| 符号 | 作用 | 案例 | 说明 |
|---|---|---|---|
| && | 短路与 | a>1&&a<10 | 左边为false,右边不执行 |
| || | 短路或 | a<1||a>10 | 左边为true,右边不执行 |
目的:提高效率
9.三元运算符
//需求:键盘录入两个整数,获取其中的较大值 //格式:关系表达式?表达式1:表达式2; inta=键盘录入;intb=键盘录入;intmax=a>b?a:b;10.运算符的优先级
()优先级最高,和数学中的运算符优先级一样。