数据类型转换
1. 自动类型转换
相互兼容的多种数据类型在运算时,小转大即为自动类型转换。如: 10 + 0.5 => 10.0 + 0.5
2. 强制类型转换
相互兼容的多种数据类型在运算时,大专小即为自动类型转换。如: 68.5 + 1.5 => (int)70.0 => 70
强制类型转换语法规则:
( 目标数据类型 ) 变量名
在 Java 中,数值类型互相兼容,在进行运算时,必须保证表达式中的参与运算的数据的所有数据类型保 持一致
3. 案例
小明考试的时候考了 59 分,小明感觉很憋屈,于是奋发图强,然后下一次考试比上一次考试多考了 1.5分,请问小明本次考试考了多少分?
4. 代码实现
public class Example5 {public static void main ( String [] args ) {int score = 59 ;//自动类型转换double nextScore = score + 1.5 ; // 59 + 1.5 => 59.0 + 1.5 => 60.5System . out . println ( nextScore );//强制类型转换int nScore = ( int )( score + 1.5 ); // 59 + 1.5 => 59.0 + 1.5 => 60.5System . out . println ( nScore );}}
Scanner的基本使用
1. Scanner的作用
提供一种与用户交互的方式,用户可以在控制台输入一些数据,程序来获取这些数据
2. 常用方法
方法名 | 解释说明 |
---|---|
nextDouble() | 获取用户从控制台输入的浮点数,如果输入的不是数字,就会出错 |
nextFloat() | 获取用户从控制台输入的浮点数,如果输入的不是数字,就会出错 |
nextInt() | 获取用户从控制台输入的整数,如果输入的不是整数,就会出错 |
nextByte() | 获取用户从控制台输入的整数,如果输入的不是整数,就会出错 |
nextShort() | 获取用户从控制台输入的整数,如果输入的不是整数,就会出错 |
nextLong() | 获取用户从控制台输入的整数,如果输入的不是整数,就会出错 |
nextBoolean() | 获取用户从控制台输入的boolean值,只能输入true或者false,否则就会出错 |
next() | 获取用户从控制台输入的字符串 |
3. 案例
从控制台输入 3 位学生的成绩,然后计算平均分
4. 代码实现
public class Example7 {public static void main ( String [] args ) {Scanner sc = new Scanner ( System . in );System . out . println ( " 请输入 3 位学生成绩(每一位学生成绩可以使用空格隔开): " );int score1 = sc . nextInt ();int score2 = sc . nextInt ();int score3 = sc . nextInt ();int avg = ( score1 + score2 + score3 ) / 3 ; // 在 Java 中,两个整数相除,得到的结果一定是整数System . out . println ( avg );}}