基本类型
整数类型
byte
-128—127
short
32767—32768
int
正负两亿
long
long型要在数字后边加上L
浮点型
float
在数字后面加F
double
double精度比float高
字符
是指一个字,只能定义单个字、字母等
字符串
string 可以定义多个字符(string不是关键字,是类)
Boolean型
只有true和false两个值
运算的转换
强制转换
-
强制转换是由内存大的转向内存小的
-
加(要转换的类型)+变量名
-
可能会发生内存溢出现象,变量会被转换为内存内的任一值
自动转换
自动转换是由内存小的向内存大的方向转换
注意问题
-
不能对boolean值进行转换
-
不能把对象类型转换为不相干的类型
-
在把大容量转换成小容量问题时是强制转换
-
注意存在内存溢出和精度问题(double比float精度高0.01转换成float型就会出现精度问题)
典型错误
public class Dem1 {
public static void main(String[] args) {
int a=10_0000_0000;
int b=20;
int c=a*b;
System.out.print(c);
System.out.print((long)c);
在以上代码中连个输出的结果都是一样的,因为第二个类型的转换是在a和b计算完成也就是溢出之后再转成long型所以结果是一样的
今天还有一个问题,我在用ideal写代码时\总是出现非法字符是怎么回事,求解啊