2022-7-19--java基础-01
3.类型转换

public class demo04 {
public static void main(String[] args) {
int i = 165;
// 高到低————强制转换
// 低到高————自动转换
byte a = (byte) i;
System.out.println(i);
System.out.println(a);
double c = i;
System.out.println(c);
/*注意点
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换成不相干的类型
* 3.在高容量转换到低容量时,强制转换
* 4.转换的时候可能存在内存溢出和精度问题
* */
System.out.println((int)24.8);
System.out.println((int)-23.4);
}
}
输出结果
165
-91
165.0
24
-23
4.变量、常量



5.运算符

public class Demo06 {
//运算符
public static void main(String[] args) {
//模运算就是取余(%)
//ctrl+D:复制当前行至下一行
/* int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println((double) a/(double)b);
*/
long a = 1212315343545332L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a + b + c + d);
System.out.println(b + c + d);
System.out.println(c + d);
System.out.println(a + b + c + d);
//结果向上转型,低类型向高类型转,只要出现一个高类型,结果就是高类型,
}
}
输出结果
1212315343545473
141
18
1212315343545473
运算符扩展 ++ --
public static void main(String[] args) {
int a = 3;
int b = a++;
//这句是先把3赋值给b,a再自己加一,此时输出的a为4,
int c = ++a;
//执行这句代码前,先自增再给c赋值;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
输出结果
5
3
5
幂运算
double pow = Math.pow(2, 3);//这个代表2的3次方
System.out.println(pow); //输出结果为8.0
与或非运算
public class Demo08 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a&&b:" + (a && b));
System.out.println("a||b:" + (a || b));
System.out.println("!(a&&b):" + !(a && b));
int c = 5; //短路运算
boolean d = (c <= 5) && (c++ < 7);
//&&时,前为假,则后面不执行(全真才真,有假则假)
//||时,前为真,则后面不执行(有真则真,全假才假)
System.out.println(c);
System.out.println(d);
}
}
位运算
int A= 0011_1100;
int B= 0000_1101;
A&B = 0000_1100;//与运算,全1才1
A|B = 0011_1101;//或运算,有1则1
A^B = 0011_0001;//异或运算,异为真(1),同为假(0)
~B = 1111_0010;//非运算,按位取反
在二进制中,把2往箭头反向移动相应的位数,左移一位相当于*2,右移以为相当于/2
System.out.println(2<<3);//(0000 0010)——(0001 0000);2——16
System.out.println(2>>1);//(0000 0010)——(0000 0001);2——1
System.out.println(2<<1);//(0000 0010)——(0000 0100);2——4
System.out.println(2<<2);//(0000 0010)——(0000 1000);2——8
扩展
int a = 10;
int b = 20;
// a+=b;意思为把a+b的值重新赋值给a,a=a+b;
System.out.println(a + b); //30
System.out.println("" + a + b);//1020,字符串在前,后面就会进行拼接
System.out.println(a + b + "");//30,字符串在后,前面会正常进行运算
boolean x = false;
int y = 0, z = 1;
System.out.println(x ? y : z);
//x为真则输出y,为假则输出z。
包命名规范

浙公网安备 33010602011771号