复习了上节课的内容,逻辑运算符,位逻辑运算符,位移运算符。
(一)三元运算符
A?B:C A:一定是个条件语句,如果A为真那么执行B,反之取C;例:
int a=3; int b=a>2?7:8; //b=7
int a=3; int b>2?++a:8;//a=4 b=4
int a=3; int b>5?++a:8;//a=3 b=8
三元运算符的语法为: 返回值=判断公式?结果1:结果2;上述代码等价于:
int a=3;
if(a>5){
b=++a;
}else{
b=8;
}
(二)隐式类型转换
(1)自动类型转换(隐式类型转换):一定不会丢失数据;
下列基本数据类型会涉及数据转换,不包括逻辑类型和字符类型。这些类型按精度从低往高排列的顺序为byte<short<int<long<float<double 一般默认都是自动类型转换;
![](https://img-blog.csdnimg.cn/img_convert/586b0443444d65a851e208040c95475a.png)
文字描述代码:
(1.创建项目类自动类型转换
(2.输入函数构造框架 public static void main(String[]args){};
(3.定义int型,byte型,float型,char型,double型的变量且赋值;
(4.最后输出打印运算结果
代码:
public class 自动类型转换 {
public static void main(String[] args) {
byte mybyte=127;//定义一个变量mybyte,且把127赋值给mybyte;
int myint=150;//定义一个变量 myint,并赋值150
float myfloat=452.12f;//定义一个myfloat变量,并赋值
char mychar=10;//定义一个mychar变量,并赋值
double mydouble=45.46546;//定义一个mydouble变量,并赋值
//将运算结果打印输出
System.out.println("byte型和float型进行转换运算为"+(mybyte+myfloat));
System.out.println("byte型和int型进行转换运算为"+(mybyte*myint));
System.out.println("byte型和char型进行转换运算为"+(mybyte/mychar));
System.out.println("double型和char型进行转换运算为"+(mydouble+mychar));
}
}
强制类型转化(显示类型转化):有可能丢失数据;
注意:要清晰告诉转化需要的数据类型,如
int a=(int)40.2;