目录
2.使用char,byte,short类型的变量进行运算,结果是什么类型的?
4.赋值运算符:在使用+=,-=,/=,*=,%=时,如果赋值运算符左边与右边的变量类型不一致,会怎么样?
1.如果在计算中有小数参与,计算结果有可能不精确
public class demo31 {
public static void main(String[] args) {
System.out.println(1.1+1.01);
System.out.println();
System.out.println(3.01%2);//取余也能用在浮点数上面
}
}
运行结果:
2.使用char,byte,short类型的变量进行运算,结果是什么类型的?
在使用char,byte,short类型的变量中进行运算会把变量类型先转换为int类型,即使进行运算的是两个相同类型的变量
public class demo32 {
public static void main(String[] args) {
byte b1=1;
byte b2=2;
short s=3;
char c='嘎';
//两个byte类型变量运算
//如果这么写会报错的:byte b3=(b1+b2);
int b3=b1+b2;
System.out.println(b3);
//char,byte,short类型的变量的运算
int sum=b1+b2+s+c;
System.out.println(sum);
}
}
运行结果:
3.字符串后面能直接“+”整数或浮点数嘛,前面呢?
都是可以的,当”+“的操作中出现字符串时,这个符号便是字符串连接符,用于字符串的连接,最后的结果全变为字符串
public class demo33 {
public static void main(String[] args) {
String s="字符串一号";
s=s+111;
s=222+s;
System.out.println(s);
String a="字符串二号";
//从左到右依次计算,a1是先把前面的都加起来再连接,a2是一个一个字符连接
String a1=1+2+3+a;
String a2=a+1+2+3;
System.out.println(a1);
System.out.println(a2);
}
}
运行结果:
4.赋值运算符:在使用+=,-=,/=,*=,%=时,如果赋值运算符左边与右边的变量类型不一致,会怎么样?
赋值运算符左边的变量的变量类型不会变:
public class demo34 {
public static void main(String[] args) {
byte b=2;
short s=3;
char c='嘎';
int a=1;
a+=1.5;//相当于:a=(int)(a+1.5);
//如果这么写是会报错的:b=b+1;
b+=1;//相当于:b=(byte)(b+1);
s+=1;//相当于:s=(short)(s+1);
c+=1;//相当于:c=(char)(c+1);
System.out.println(a+" "+b+" "+s+" "+c);
a=(int)(a+1.5);
b=(byte)(b+1);
s=(short)(s+1);
c=(char)(c+1);
System.out.println(a+" "+b+" "+s+" "+c);
}
}
运行结果:
5.不同类型的变量可以用关系运算符进行比较吗?
可以进行比较:(并不是说所有变量都可以用关系运算符比较(比如char与String),以下是一些实验案例)
public class demo35 {
public static void main(String[] args) {
byte a1=65;
short a2=65;
int a3=65;
double a4=65.00000000;
char a5=65;
System.out.println(a1==a2&&a3==a4&&a4==a5);
}
}
运行结果为true