Java数据类型:
8种基本数据类型:
byte、short、int、long、float、double、char、boolean、
3种引用数据类型:
class、interface、array、
数据类型的取值范围:
数据类型都是有其取值范围的,要使用一个类型必须按照一个范围指定其内容。
Double类型可以装下全宇宙的数据
一个数据有自己的保存范围,如果数据超出了其范围,则编译时有会出错。
举例:
public class DataDemo01{
public static void main(String args[]){
//数据太大出现错误信息
int num = 99999999999999999999999999999999999999999;
}
}
数据溢出
当整数的数据大小超出了可以表示的范围,而程序没有作相应的判断时,数据就会溢出。
public class DataDemo02{
public static void main(String args[]){
int max = Integer.MAX_VALUE; //求出最大值
System.out.println("整数的最大值:" + max); //得到整数的最大值
System.out.println("整数最大值 + 1" + (max + 1)); //最大值+1
System.out.println("整数最大值 + 2" + (max + 2)); //最大值+2
}
}
整形的最大值+1之后变成了整型的最小值,加2之后变成了最小值+1
总之就是位的运算的问题。
数据类型的转换:
(long) max
如果要解决数据溢出问题,则可以采用过大数据类型的方式。
public class DataDemo03{
public static void main(String args[]){
int max = Integer.MAX_VALUE; //求出最大值
System.out.println("整数的最大值:" + max); //得到整数的最大值
System.out.println("整数最大值 + 1" + ((long)max + 1)); //最大值+1
System.out.println("整数最大值 + 2" + ((long)max + 2)); //最大值+2
}
}
字符型(char)
字符类型,严格来说也可整数类型。
字符是使用“'”括起来的数据
字符也可以使用数字定义
举例:
错误显示
char a = 'a';
char b = 97;
public class DataDemo04{
public static void main(String args[]){
char ch1 = 'a'; // 字符是使用“'”括起来的数据
char ch2 = 97; // 通过数字定义字符变量
System.out.println("ch1 = " + ch1);
System.out.println("ch2 = " + ch2);
}
}
DataDemo04.java
使用转义字符
\f换页
\b倒退一格
\r归位
\t制表符Tab
\\
\'
\"
\n换行
public class DataDemo05{
public static void main(String args[]){
char ch1 = '\"'; // 表示一个“
char ch2 = '\\'; // 表示一个\
System.out.println("ch1 = " + ch1);
System.out.println("ch2 = " + ch2);
System.out.println("\"Hello World!\"");
}
}
DataDemo05.java
浮点类型(float、double)
float 与 double 的举例
在java中一个数字或者一个小数实际上也存在默认类型的:
小数 1.2
整数: 1,2,3
public class DataDemo06{
public static void main(String args[]){
float num = 3.0; //定义一个浮点型变量
System.out.println("两个小数相乘:" + num*num);
}
}
DataDemo06.java
表示单精度的数字可以使用1.2f来表示
public class DataDemo06{
public static void main(String args[]){
float num = 3.0f; //定义一个浮点型变量
System.out.println("两个小数相乘:" + num*num);
}
}
DataDemo06.java
布尔类型boolean
判断真还是假可以使用true或者false
数据类型转换
public class DataDemo03{
public static void main(String args[]){
int max = Integer.MAX_VALUE; //求出最大值
System.out.println("整数的最大值:" + max); //得到整数的最大值
System.out.println("整数最大值 + 1" + ((long)max + 1)); //最大值+1
System.out.println("整数最大值 + 2" + ((long)max + 2)); //最大值+2
}
}
自动转化数据类型规则
1.转换前后数据类型兼容。
2.转换后台数据类型的表示范围比转换前的大。
3.数字与数字可以相互转换。只要看谁的位数大就行。
自动转型注意如下:
1.只要小数后面不加f的都表示double类型
2.整形与浮点型相除则为浮点型
3.整形与double相除则为浮点型
4.整形与整形相除则为浮点型
5.10/3因为其默认的类型为int型,所以所有数据都会以整形的形式出现,那么结果为3,小数会省略掉。
6.任何类型都会自动向string转型。所以如果需要进行运算操作时需要加(1+2)
举例1:
public class DataDemo08{
public static void main(String args[]){
int x = 30; //定义整形变量
float y = 22.19f; //定义浮点型变量
System.out.println("x / y = " + (x /y ));
System.out.println("10 / 3.5 = " + (10 / 3.5));
System.out.println("10 / 3 = " + (10 / 3));
}
}
DataDemo08.java
public class DataDemo09{
public static void main(String args[]){
String str = "niuyufu"; // 定义字符串变量
int x = 30;
str = str + x;
System.out.println("str = " + str);
}
}
DataDemo09.java
public class DataDemo10{
public static void main(String args[]){
int i = 1; // 定义整型变量
int j = 2; // 定义整型变量
System.out.println("1 + 2 =" + 1 + 2);
System.out.println("1 + 2 =" + (1 + 2));
}
}
DataDemo10.java
举例2:
数据类型的强制转换
1. (int)
2. (float) 10/3
举例:
public class DataDemo11{
public static void main(String args[]){
float f = 30.3f; //浮点型
int x = (int) f; //强制类型转换
System.out.println("x = " + x);
System.out.println("10 / 3 = " + ((float)10 / 3));
}
}
DataDemo11.java