知识屋:更实用的电脑技术知识网站
所在位置:首页 > 教育

时隔三年的Java再再学习 DAY2 数据类型转换、运算符

发表时间:2022-03-25来源:网络

1. 数据类型转换

1.1 自动转换

自动转换:取值范围小的类型自动的转化为取值范围大的类型。
例如:一个int类型变量和一个byte类型变量相加,结果将是int类型,这就是期间发生了数据类型的自动转换。
同样的道理再举一个例子:
当一个int类型变量和一个double类型变量运算时,int类型会自动提升为double类型进行运算。

转换规则:范围小的类型向着范围大的类型提升,byte、short、char运算时直接提升为int。

// An highlighted block byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double

1.2 强制类型转换

// An highlighted block int i = 1.5; // 错误 // double类型数据强制转成int类型,直接去掉小数点。 int i = (int)1.5;

强制类型转换需要注意:
浮点数转成整数,直接取消小数点,可能造成数据损失精度;
int转short,实质是损失两个字节可能造成数据丢失。

1.3 ASCLL编码表

常见的编码表:

2. 运算符

2.1 常见运算符


特别的:
++、-- 运算符:++变量自己增长1,–变量自己减少1
++在变量前后的位置在独立运算时没有区别,但是在混合运算中和其他的运算放在一起就需要注意了:
前++,变量a先加1再将值赋给b;
后++,变量a先将值赋给b再加1.

另外的,+符号在遇到字符串的时候,表示连接拼接的含义。
“a”+“b” 的结果是“ab”,连接含义。

2.2 赋值运算符

// An highlighted block i+=5;//计算方式 i=i+5 变量i先加5,再赋值变量i

2.3 比较运算符


比较运算符的运算结果是布尔值:true或false

2.4 逻辑运算符


逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false。

2.5 三元运算符

// An highlighted block 数据类型 变量名 = 布尔类型表达式?结果1:结果2

计算方式:
布尔类型表达式是true,结果1赋值给变量;
布尔类型表达式是false,结果2赋值给变量。

3. 说一说方法

什么是方法:就是把一个功能抽取出来把代码单独定义在大括号内,形成一个单独的功能。
注意事项:
方法必须定义在一类中方法外;
方法不能定义在另一个方法里面。

4. 小细节

// An highlighted block public static void main(String[] args){ byte b1=1; byte b2=2; byte b3=1 + 2; //正确赋值 byte b4=b1 + b2; //错误 System.out.println(b3); System.out.println(b4); }

b1、b2是变量,变量的值是可能变化的,所以javac编译的时候不确定两者相加的结果,就会自动将结果以int类型处理,因此会出现编译失败。

// An highlighted block public static void main(String[] args){ short s = 1; s+=1; System.out.println(s); //正确赋值 }

表面上看似会发生和上一代码段一样的编译错误,因为在我们的认识里面 s+=1等价于s=s+1,但是这里需要指出赋值运算符号只运算一次,并带有强制转换的特点,因此没有问题编译通过。

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜