public class JavaLearn.datastructure.datastructure.linkedList.bannerySearchTree.Main {
public static void main(String[] args) {
// 小球10次跳动问题
double initialHeight = 100.00; //这个是初试的高度
double currentHeight = initialHeight; // 记录当前周期的高度
double sumOver = 0.0; // 记录经过的路径
for (int i = 0;i < 10; i++){
sumOver += currentHeight * 1.5;
currentHeight /= 2.0;
}
sumOver -= currentHeight;
System.out.println(sumOver); // 第十次弹跳的高度。
System.out.println(currentHeight); // 第十次反弹后的高度。
}
}byte a = 10; // 正确
a += 5; // 正确
a = a + 5; //错误
byte b = a + 5; // 错误
byte c = 6;
byte d = 7;
byte f = c + d; // 错误由于自动转换为int类型进行计算,
byte res = 5 + 6; // 正确,因为右侧全是常量,这种叫做常量优化机制
都会被提升为int类型,然后进行运算,注意:这里的char运算会涉及到ASCII操作,与C/C++强类型语言类似,却要与JavaScript、Python等弱语言区分开boolean类型不能发生数据类型转换
48 '0'
65 'A'
97 'a'
public class JavaLearn.ChangeStyle {
public static void main(String[] args){
// 强制类型转换,适用于高转低,大转小
int num = (int) 123.456;
int num2 = (int)6000000000L; // 数据溢出
System.out.println(num2); //1705032704
System.out.println('A' + 1); // 66 ASCII码操作
byte num4 = 40;
byte num5 = 50;
// byte/short/char计算时会提升为int进行计算
// 右侧的数值大小不能超过左侧的类型范围
int result1 = (int)(num4 + num5);
System.out.println(result1);
char zifu3 = 'c';
int znum = zifu3; // char --> int 从小到大
System.out.println(znum);
}
}运算符的优先级:括号 . ! (乘|除|模) (加|减) 比较运算符 && || 赋值运算符 ==
注意 System.out.println(5 / 2);的结果为2,因为默认为int类型,值也是int类型
自增 ++ 分为前加加(先加后用),后加加(先用后加)
自减 -- (与++一样的效果)
| i++ | ++i | a = i ++ | a = ++i | System.out.print(i++) |
| 11 | 11 | a = 10 | a = 11 | 10 |
"&&" 、 "||" 具有短路效果,如果左边的判断已经确定了结果,这是右边的判断不会执行,这是底层优化
int a = 10, b = 20; c = 30;
int max = a > b ? (a > c ? a : b) : (b > c ? b : c);
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |