浮点型数据
浮点型数据描述的是小数,而在Java里面任意的一个小数常量其对应的类型为double,所以在以后描述小数的时候,都建议使用double来定义。
范例:定义一个double变量
public class JavaDemo{
public static void main(String args[]){
//10.2是一个小数其对应的类型为double
double x = 10.2;
int y = 10;
//double类型 * int类型 = double类型计算结果
double result = x * y;
System.out.println(result);
}
}
所有的数据类型进行自动转型的时候都是由小类型向大类型进行自动转换处理。默认的类型为double,但是也可以定义位数相对较少的float变量,此时从赋值的时候就必须采用强制类型的转换
范例:定义一个float类型的变量
public class JavaDemo{
public static void main(String args[]){
float x = 10.2;
}
}
会出现如下的错误:
原因在于10.2是默认的double类型,所以float类型的x不能够直接等于10.2,要进行类型的转换。
public class JavaDemo{
public static void main(String args[]){
float x = (float)10.2;
float y = 10.1f;
System.out.println(x * y);
}
}
通过一系列的代码分析发现,整型是不包括含有小数点,而浮点型是包含小数点的
下面来观察一段程序:
public class JavaDemo{
public static void main(String args[]){
int x = 10;
int y = 4;
System.out.println(x / y);
}
}
此时计算结果为2,得到2的主要原因在于:整型是不保存小数点的,所以现在的计算结果为“2.5”,抛开小数点不看,最终的结果只是2。如果说现在想要得到所需要的正确的计算,那么就需要进行转型处理。
范例:数据转型
public class JavaDemo{
public static void main(String args[]){
int x = 10;
int y = 4;
System.out.println((double)x / y);
}
}
在以后的计算的时候千万要注意选择的数据类型,将直接决定小数点的问题
字符型数据
字符型使用的是char进行定义的,在java中使用“‘ ’ ” 单引号定义的内容就是一个字符。
范例:定义一个字符型变量
public class JavaDemo{
public static void main(String args[]){
char c = 'B'; //一个字符变量
System.out.println(c);
}
}
在我们任何的编程语言之中,字符都可以与int相互转换,也就是说这个时候字符中所描述的内容可以通过int获取其对应的系统编码。
范例:观察char和int的关系
public class JavaDemo{
public static void main(String args[]){
char c = 'A'; //一个字符变量
int num = c; //可以获取字符的编码
System.out.println(c); //65
}
}
对于以上的程序获得了编码,这里面有几个范围需要注意一下:
- 大写字母范围:‘A’(65) ~ ‘Z’(90)
- 小写字母范围:‘a’(97) ~ ‘z’(122)
- “数字”的范围: ‘0’(48) ~ ‘9’(57)
通过编码范围可以发现大小写字母之间差了32个数字的长度,在这样的一个情况下就可以实现一个大小写转换的处理。
范例:将小写字母转换成大写字母
public class JavaDemo{
public static void main(String args[]){
char c = 'x'; //一个字符变量
int num = c; //可以获取字符的编码
num = num - 32 ; //让num的内容减少32
System.out.println((char)num); //
}
}
到此为止,所有的操作都与传统的c语言的方式是一样的,但是需要注意的是,在java里面char只要是进行中文的处理。所以一定要记住,Java中的char类型可以保存中文数据。
范例:保存中文数据
public class JavaDemo{
public static void main(String args[]){
char c = '仁'; //一个字符变量,只能是一个字
int num = c; //可以获取字符的编码
System.out.println(num);//20161
}
}
之所以在java语言里面可以使用char进行中文数据的保存,是因为java使用的是unicode这种16进制的编码,主要特点是可以包括任意的文字内容,所以使得程序开发更加的简单。
布尔型数据
布尔是一个数学家的名字,布尔主要描述的是一种逻辑的处理结果,在Java中使用boolean来进行布尔类型的变量定义,需要注意的是,布尔类型变量的取值范围只有两个数据:true,false。
范例:定义布尔型数据
public class JavaDemo{
public static void main(String args[]){
boolean flag = true;
if (flag) { //判断flag的内容,如果是true就执行
System.out.println("We're students.");
}
}
}
但是需要说明一点,像有一些编程语言由于没有提供有布尔类型,所以会使用0表示false,非零表示true,但是这样的逻辑在Java中是不存在。
String字符串
在任何语言里面都没有提供所谓的字符串这种数据,但是从实际的使用上来讲各个编程语言为了方便程序的开发,都是提供有字符串的相应描述,在Java里面使用的是String作为字符串的定义。
但是由于String类的存在较为特殊,所以其可以像普通变量那样采用直接赋值方式进行字符串的定义,并且要求使用 “ ” 来进行字符串的描述。
范例:定义一个字符串
public class JavaDemo{
public static void main(String args[]){
String str = "Hello world!";
System.out.println(str);
}
}
在进行字符串变量使用的时候也可以使用“+”来进行字符串的连接处理
范例:实现字符串的连接
public class JavaDemo{
public static void main(String args[]){
String str = "Hello ";
str = str + "world!";//字符串定义
//str += "world!"; 上述表达的另一种形式
System.out.println(str);
}
}
需要考虑另外一点,此时对于“+”就有了两种的描述:字符串的连接,数字的加法
范例:观察“+”的问题
public class JavaDemo{
public static void main(String args[]){
double x = 10.1;
int y = 20;
String str = "计算结果";
str += x + y;
System.out.println(str);
}
}
输出结果为:
计算结果:10.120
在java语言里面,数据范围大的数据类型与数据范围小的数据类型进行计算的时候,所有数据范围小的数据类型自动转换为数据范围大的数据类型。当此时有String类型的数据参与了计算的时候,所有类型都是无条件先转变成String,此时再有“+”,就表示字符串的连接。
public class JavaDemo{
public static void main(String args[]){
double x = 10.1;
int y = 20;
String str = "计算结果";
str += (x + y);
System.out.println(str);
}
}
输出结果为:
计算结果:30.1
在描述字符串的时候也可以使用转义字符进行一些处理,例如:TAB(\t)、"(")、’(’)、换行(\n)、\(\)等。
范例:观察转义字符
public class JavaDemo{
public static void main(String args[]){
System.out.println("\tHello World !!!! \n Hello \"Java\" !!!");
}
}
转义字符是可以在学习过程中进行一些简单的格式化显示处理。