java学习第三天
package base;
public class deomo3 {
public static void main(String[] args) {
int money = 10_0000_0000;//数字之间可以用下划线分割
int years = 20;
int total = money*years;
long total1 = money*years;//money和years都是先以int型计算,计算结果在转换为long型,所以在计算的时候就已经溢出
long total2 = money*((long)years);//先将一个数转换为long类型
System.out.println(total);//-1474836480,计算时数据溢出
System.out.println(total1);//-1474836480,计算时数据溢出
System.out.println(total2);
}
}
类型转换
package base;
public class deomo1 {
public static void main(String[] args) {
//强制转换 (类型)变量名 由高到低
int i = 128;
byte b = (byte) i;//内存溢出
System.out.println(i);
System.out.println(b);//byte范围为-128到127 i超过byte最大内存
System.out.println("===========================");
//自动转换 低到高
int i1 = 128;
double b1 = i1;
System.out.println(i1);
System.out.println(b1);
}
}
变量的命名规则
变量
package base;
public class deomo3 {
public static void main(String[] args) {
int money = 10_0000_0000;//数字之间可以用下划线分割
int years = 20;
int total = money*years;
long total1 = money*years;//money和years都是先以int型计算,计算结果在转换为long型,所以在计算的时候就已经溢出
long total2 = money*((long)years);//先将一个数转换为long类型
System.out.println(total);//-1474836480,计算时数据溢出
System.out.println(total1);//-1474836480,计算时数据溢出
System.out.println(total2);
}
}
位运算与2进制相关
package operater;
public class Demo1 {
//ctrl+d 复制当前行到下一行
public static void main(String[] args) {
long a = 123123221L;
int b = 123;
short c = 10;
byte d= 8;
System.out.println(a+b+c+d);//结果值为long 运算变量中有long,结果为long;没有结果为int
System.out.println(b+c+d);//int
System.out.println(c+d);//int
}
}
package operater;
public class Demo2 {
public static void main(String[] args) {
int a = 3;
int b = a++;//先把a的值赋值给b,a在自加1
//隐藏了a=a+1;
//a=a+1这两行代码
int c = ++a;//a先自加1,在赋值给c
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算2^3
double math = Math.pow(2,3);
System.out.println(math);
}
}
package operater;
public class Demo3 {
public static void main(String[] args) {
//字符串连接
int a = 10;
int b = 20;
System.out.println(""+a+b);
System.out.println(a+b+"");
//三元运算付
//x?y:z 如果x为true则返回y,否则为z
int score = 80;
String type = score < 60?"不及格":"及格";
System.out.println(type);
}
}