注意:声明变量尽量一行声明一个,提高可读性。
一.成员变量与局部变量
声明在方法内的变量是局部变量,而声明在类内部发放外部的变量是成员变量。成员变量有默认值,局部变量必须初始化。
二.Scanner扫描仪
Scanner对象帮助接受键盘的输入
Scanner.nextDouble()方法是阻塞方法 等待键盘输入数据
三.数据类型转换
1.在赋值运算或者算术运算时会有数据类型转换的问题,要求数据类型一致,否则要转换数据类型。
2.类型转换的方向:byte----short,char---int----long----float-----double
3.赋值运算中的数据类型转换
当左边类型大于右边数据类型是自动类型转换
当左边数据类型等于右边数据类型就不用转换了
当左边数据类型小于右边数据类型需要强制类型转换如:int a=(int)3F
运算时的数据类型转换
表达式的最大数据类型是什么类型,就是什么类型
byte short char是特殊情况 右边不超过左边类型可以直接赋值
四.运算符
1.Int
m=5+6;
5,6操作数,+操作符 运算符
5+6表达式
2.Java中的运算符
1.算术运算符
+ - * / % ++ --
int sum=num1+num2;//+是求和
String string =num1+"hello";//+拼接符号,有一个是字符串
n++ ++n作为单独运算 计算结果都是n=n++,即自增1
有赋值或运算
n++先把n的值放入操作数线然后自身++然后把操作数钱的值赋值num
++n先自身++ .再把这个值放入操作数栈,再把操作数的值赋给num
2.赋值运算符
= += -= *= /= %= 赋值运算符=优先级最低
3.关系运算符(比较运算符)
< > >= <= == !=(返回结果都是布尔类型)
4.逻辑运算符与布尔操作数一起使用,组成逻辑表达式,结果是布尔类型
!非 取反
& 与 都真为真
| 或 一个为真就为真
&&短路与
||短路或
短路与和 逻辑与 短路或与逻辑或结果一样
短路与和短路或 会先判断第一个表达式 如果能得出结果直接返回结果不再执行第二个表达式
逻辑与和逻辑或会执行两个表达式(操作数)
5.三目运算符(条件运算符)
exp1?result1:result2;exp1真返回result1否则返回result2