我们在Java中,如果遇到两个不同类型的操作数,同样可以进行二元运算。例如其中一个操作数是整数,而另一个操作数是浮点数,Java会自动将整数转换成为浮点值,比如说3*3.5就被转换成了3.0*3.5.
Java中可以将一个数值赋给支持更大数值范围类型的变量,例如说可以将long型的值赋给float型变量。但是如果不进行类型转换,就不能将一个值赋给范围较小的变量。类型转换是一种将一种数据的值转换成另一种数据类型的操作,拓宽类型不需要显式转换,可以自动执行转换,缩窄类型必须显式完成。
类型转换的语法要求目标类型放在括号内,紧跟其后的是要转换的变量名或值,举个例子:
System.out.prinrln((int)1.7);显示结果为1,当double型值被转换为int型时,小数部分被截去。
System.out.println((double)1/4);显示结果为0.25,因为1首先被转换为1.0,然后用1.0除以4.
System.out.println(1/2); 显示结果为0,因为1和2都是整数,那么对他们做除法的结果也必须是整数。
如果将一个值赋给一个范围较小类型的变量,就必须进行类型转换,如果没有使用类型转换,就会出现编译错误,要注意,类型转换不改变被转换的变量,例如:
double a=2.5;
int i=(int)a;
a变成了2,不过a的值依然没变,依旧为2.5
我们拿书上的一个例子来看一下,我们要给出保留营业额税小数点后两位的程序:
import java.util.Scanner;
/**
*
* @author mjd
*/
public class SalesTax {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner input = new Scanner(System.in);
System.out.print(\”Please enter purchase amount:\”);
double purchase = input.nextDouble();
double tax = purchase*0.06;
System.out.println(\”SalesTax is\”+(int)(tax*100)/100.0);
}
}
字符数据类型char用来表示单个字符,字符型直接量用单引号括住。
char letter = \’A\’;
char numChar = \’3\’;
第一条语句将字符A赋值给char型变量letter。第二条语句将数字字符4赋值给char型变量numChar
转义字符
假如我们想输出时打印带引号的信息,我们就需要用到转义字符,接下来我们将一些常用的转义字符列举出来。
\\b 退格键 \\t Tab键 \\n 换行符号 \\r 回车键 \\f 进纸 \\\\ 反斜杠
\\\’ 单引号 \\\” 双引号
System.out.println(\”He said\\\”Java is fun\\\”\”);
它的输出才是 He said\”ava is fun\”