JAVA为强语言类型
强语言类型需每个变量都要明确定义,其好处是安全性高,但处理慢。(弱语言与之相反)
一、数据类型
1.基本类型
数据类型 长度 字节 位数
byte -128~127 1 8
boolean -128~127 1 8
short -32768 ~ 32767 2 16
char -32768 ~ 32767 2 16
int 最大整数 2^31-1 4 32
long 最大整数 2^63-1 8 64
float 最大整数2^31-1 4 32
double 最大整数2^63-1 8 64
2.引用类型
引用数据类型的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。
null是所有引用类型的默认值。
java里面除去基本数据类型的其它类型都是引用数据类型,自己定义的class类也是引用类型,可以像基本类型一样使用。
引用类型常见的有:String,StringBuffer,ArrayList,HashMap等。
相关代码:
public class datatpye { public static void main(String[] args) { //整数,int,byte,short long num1 =30;//long类型要在数字后面个L //小数:浮点数,float,double float num2=50.1F;//其后要加F //字符 char name ='国'; //字符串,String不是关键字,是类。 //String name="qwuquio"; //布尔值 boolean flag = ture; boolean flag = false; } }
二、
扩展题
1.整数扩展: 进制,2 0b,10 ,8 0,16 0x
2.浮点数:银行业务金额表示最好完全使用浮点数。
public class expand { public static void main(String[] args) { float f =0.1f; double d=1.0/10; System.out.println(f==d); float d1=121212121212f; float d2=d1+1; System.out.println(d1==d2); } } false ture
3.字符扩展
public class expand { public static void main(String[] args) { //强制转换,所有的字符本质还是数字。 char c1='a'; char c2='中'; System.out.println(c1); System.out.println((int)c1); System.out.println(c2); System.out.println((int)c2); //下为unicode表的一个编码。 char c3 = '\u0061'; System.out.println(c3); } } 输出结果:a 97 中 20013 a
4转义字符
//转义字符 \t制表符,\n换行符 System.out.println("Hello\tworld");
输出:Hello world
三、类型转换
1.由于java是强类型语言,所以要进行有些运算的时候,需要类型转换。但只是由高到低需要,低到高会自动进行转换。类型高低由字节决定。
byte,short,char<int<long<float<double
运算中不同类型的数据先转换为同一类型。
public class expand { public static void main(String[] args) { int c=128; byte i=(byte)c; /* 注意点: 1.不能对布尔值进行转换 2.不能把对象类型转换为不相干的类型 3.在把高容量1转换到低容量的时候,强制转换 4.转换的时候可能存在内存溢出,或精度问题! */ System.out.println((int)12.3); System.out.println((int)-45.12f); } } 输出结果:-128 12 -45