这两天学习了基本的数据类型还有运算符.
分享一下学习过程还有写作~
数据类型分为基本数据类型还有引用数据类型,基本数据类型有4类8种:
整型: byte,short,int,long
浮点型:float和double
字符型:char
布尔型型:boolean(只有true和false两个值,用作判断的条件)
引用数据类型有数组,类和接口.
变量:在程序运行过程中可以重新赋值,声明变量会向计算机申请内存空间(其申请空间大小与数据类型相对应)
public static void main(String[] args){
/* 整型:byte,short,int,long
byte:1个字节(-2^7~2^7-1)===>-128~127
short:2个字节(-2^15~2^15-1)===>-32768~32767
int:4个字节(-2^31~2^31-1)===>大约在21亿
long:8个字节(-2^63~2^63-1)
注意问题:
5555555555默认int类型,必须添加L代表声明的变量为long类型
3.14默认为double类型,3.14f为float
浮点类型:float,double
float:4个字节,单精度浮点类型,精确到小数点后7位
double:8个字节,双精度浮点类型
*/
byte b=20;//范围-128~127
System.out.println("byte--->b="+b);
byte b2=012;//八进制,八进制以0开头
System.out.println("byte--->八进制b2="+b2);//将八进制12--->十进制10
byte b3=0x12 ;//十六进制,十六进制以0X开头
System.out.println("byte--->十六进制b2="+b3);//将十六进制12--->十进制18
short s=300;//范围-32768~32767
System.out.println("short--->s="+s);
int i=10000;//范围大约21亿
System.out.println("int--->i="+i);
long l=5555555555L ;//5555555555默认int类型,5555555555L为long类型
System.out.println("long---->l="+l);
float f=3.14f; //3.14默认为double类型,3.14f为float
System.out.println("float--->f="+f);
//科学计数法:314E2=314*10^2
float f2=314e2F ;//314e2默认为double类型
System.out.println("科学计数法的314E12==>"+f2);
double d=314e2;
System.out.println("double科学计数法的314E12==>"+d);
double d2=1.123456789012345678;//精度四舍五入
System.out.println("double--->d2="+d2);
常量:在程序运行过程不能更改其值的变量,在java中声明常量使用final,一旦变量使用final修饰,该变量为常量,无法为其重新赋值。变量命名经常大写(便于与变量进行区分)。
public static void main(String[] args){
/*
常量:在程序运行过程中不能被修改,
在java中使用final修饰,常量的命名一般为大写单词或字符
3.1415926
*/
final double PI=3.1415926;
//PI=3.14; 常量无法重新赋值
double r=5;
double s=5*5*PI;
double c=2*5*PI;
System.out.println("圆的面积为:"+s);
System.out.println("圆的周长为:"+c);
}
类型转换:
自动转化: 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。
byte--short--int--float--double
可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围
强制类型转换,又被称为造型,用于显式的转换一个数值的类型. 在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出.
当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值。
//这就是现在的进度