1.Java基本数据类型
数据类型分为两大类:一类是基本数据类型,另一类是复合数据类型。基本数据类型分为4个小类,包括整数类型,浮点类型。字符类型和布尔类型。复合数据类型包括类(class),接口(interface)以及数组等。
1.整数类型
Java语言中有4种整数类型,分别是byte,short,int和long。它们的数据长度不一样,分别是1byte(8位),2byte(16位),4byte(32位)和8byte(64位)。
2.实型(浮点类型)
Java中的浮点类型有两种:单精度浮点数float和双精度浮点数double。
3.字符类型
单个字符用char类型表示,char类型的常量必须用一对单引号(‘ ’)括起来一个char表示一个16位Unicode字符,字符可以用来表示包括中文在内的多国语言文字,另外一些不可见的字符(比如回车,换行,制表符等)可以通过特殊字符“/“加另一个字母表示。
4.布尔类型
布尔类型的变量主要是用于开关量,有两种状态,booleam有两种常量值:true和false。
5.类型转化
自动转化类型
低-----------------------------------------------高
byte,short,char->int->long->float->double
强制转化类型
高级数据(位数多的类型)要转化成低级数据
int i;
byte b=(byte)i;//把int型转化成byte型
数组
1.创建和初始化数组
数组是用来储存一组相同类型数据的数据结构,可以通过整型下标(index)访问数组中每一个值。例如,a是一整数数组,a[i]就是数组中第i个整数,通过指定数组类型——元素类型后跟[]——和数组变量名可以声明数组变量。例子:
int[]a;
给数组分配内存空间,要使用new操作符创建数组
int[]a=new int[100];
可以使用arrayName.length得到数组长度,例如:
int []a=new int[100];
for(int i=0;i<a.length;i++) system.out.println(a[i]);
Java中有个创建数组对象并同时赋予其初始值的简写形式:
int[]a={1,2,3};
甚至还可以初始化一个匿名数组:
int[]={1,2,3};
2.多维数组
Java中其实没有多维数组,如果需要使用多维数组,可以生成数组类型的数组,例如:
String months[][]={
{"Jan",31},
{"Fab",28},
{"Mar",31},
{"Apr",30},
{"May",31},
{"Jun",30},
{"Jnl",31},
{"Aug",31},
{"Sep",30},
{"Oct",31},
{"Nov",30},
{"Dec",31},
}
这里month.length等于12,因为外层数组有12个字符串数组。每个数组的长度为2,因为每个内数组有两个元素。多维数组不一定是矩形的,每个内数组可以不同长度。例如:
int a[][]={{1},{2,3},{4,5,6}};
3.数组复制
可以把一个数组变量赋值给另一个。这时,两个变量都指向相同的数组:
int[] luckyNumber=smallPrimes;
luckNumber[5]=12;//现在smallPrimes[5]的值也是12
如果实际上只是想一个数组中的值复制给另一个变量,那么需要使用System类中的arraycopy方法。其语法如下:
System.arraycopy(from,fromIndex,to,toIndex,count);
注意:to数组必须有足够的空间来容纳复制的元素。例如:下面的语句创建了两个数组,然后把第一个数组的最后4个元素复制到第二个数组。复制从原数组的位置2开始,共复制4个元素,目标数组的开始位置为3。
int[] luckyNumber={101,102,103,104,105,106,107};
int[] smallPrimes={2,3,5,7,11,13};
System.arraycopy(smallPrimes,2,luckyNumber,3,4);
for(int i=0;i<luckyNumber.length;i++) System.out.println(i+":"+luckyNumber[i]);
输出结果为:
0:101
1:102
2:103
3:5
4:7
5:11
6:13
字符串类型
1.概述
字符串是内存中连续排列的一个或多个字符。Java语言针对处理不可变字符串和可变字符串分别提供了String和StringBuffer两个类。不可变字符串是指一旦创建其内容就不能改变,也就是说对String类可以进行查找,比较,或连接等操作,但是不能对字符串进行长度更改操作。如果有更改需要可以使用StringBuffer类。
2.字符串的声明和初始化
Java程序中字符串分为常量和变量两种。对于字符串常量,系统会自动创建String对象。对于字符串变量,在使用前要进行显示声明,并进行初始化:
String st;
StringBuffer sb;
也可以创建一个空的字符串:
String st=new String;
还可以由字符数组创建字符串。比如:
char chars[]={'a','b','c'};
String st1=new String(chars);
或者可以用字符串常量来初始化一个字符串:
String st2="hello";
3.字符串操作
1.String类
String类的对象实例是不可改变的。String类中常用的方法有:
(1)length()用于返回字符串中字符个数。
(2)charAt(int index)用于返回字符串中index位置的字符。
(3)toLowerCase()将当前字符串中所有字符转化为小写。
(4)toUpperCase()将当前字符串中所有字符转化为小写。
(5)subString(int beginIndex)截取当前字符串中从beginIndex开始到末尾的子串。
(6)replace(char oldchar,char newchar)将当前字符串中的oldchar转化为newchar。
2.StringBuffer类
StringBuffer类处理可变字符串。