Java数据类型总结

Java数据类型总结
Java中的数据类型分为两大类,即原始类型和对象类型(或称引用类型)。
一、原始类型
1).Java中的原始类型有八种,即八大基本类型。具体如下:
类型 称呼 值域 表示范围
byte 字节型 8 bits -128~127
int 整型 32 bits -2^31~(2^31-1)
short 短整型 16 bits -2^15~(2^15-1)
long 长整型 64 bits -2^63~(2^63-1)
char 字符型 16 bits(Unicode) 0~65535
float 浮点型 32 bits
double 双精度 64 bits
boolean 布尔型 true/false 只有“真”或“假”两种结果

2)补充:char(字符型)中的一个字母或一个汉字对应一个整数,在ASCII中它的范围为0~255。

3)其他:a. 定义一个byte变量,如: byte b = -256;
由于-256超出了字节型的范围,所以要使程序不报错,可有如下几种解决方法:
1.更改变量的数据类型(如:将byte改为int);
2.更改赋给变量的数值,使其包括在变量的数据类型的值域内;
3.进行强制转换: 如: byte b=(byte)-256;
N.B:进行强制转换后,虽然程序不再报错,但是有可能会使原值的精度受到影响,即出现“溢出”现象。得到原值的方法为:“负溢加范围转正,正溢减范围转负”。
b.自动转换:小范围的整数类型值可通过赋值运算直接转换为大范围的原始类型值。从byte->short->char->int->long->float->double可以进行自动转换;反之,则进行强制转换。(如:假设i为int型,b为byte型,可有:int i=b;假设f为float型,要把它赋值给long型的变量,可有:long l = (long)f)
c.定义一个浮点型数时,记得要在数值后面加上“f”或“F”。(如:float f = 10000.0f;)
d.若定义char c=’a’;定义int n=c;则输出的n值为“a”的ASCII值,即97。

二、对象类型
1).对象类型(引用类型或者类类型)包括:
类,接口,抽象类,数组
2)String在Java中是一个类,由class定义的类。

A. String类中的一些常用方法(以下字符串均为str):
1.str.charAt(n):查找字符串第n个索引位置的字符,返回值类型为char。
2.str.contains(“a”):判断字符串中是否有子字符串“a”,返回值类型为boolean。
3.str.equals(str2):判断两个字符串(str和str2)是否相等,返回值类型为boolean。
4.str.indexOf(‘d’,n):从索引值为n的地方起开始向后查找,返回第一次出现‘d’的位置的索引值,返回值类型为int。
5.str.length():计算字符串的长度,结果的返回值类型为int。
6.str.split(“d”):以子字符串“d”为分割点,将字符串分为几部分,但不包括子字符串本身。exp:
String [] array = str.split("d");
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
7.str.substring(“d”,”e”):取子字符串“d”和“e”之间的子字符串,但不包括“e”。exp://取字符串中第一个“d”和最后一个“d”之间的字符串。
String str1 = str.substring(str.indexOf("d")+1,str.lastIndexOf("d"));
System.out.println("str1 = "+str1);
B.string类中我很不熟悉的一些方法
1. getBytes:使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。返回值类型为byte。
exp: String str=”ababababa”;
byte [] array=str.getBytes();
2.getChars: 将字符从此字符串复制到目标字符数组。返回值类型为void。
srcBegin - 字符串中要复制的第一个字符的索引。
srcEnd - 字符串中要复制的最后一个字符之后的索引。
dst - 目标数组。
dstBegin - 目标数组中的起始偏移量。
3.hashCode: 返回此字符串的哈希码(哈希码是虾米?)。
返回值类型为int。
4. intern : 返回字符串对象的规范化表示形式。
一个初始为空的字符串池,它由类 String 私有地维护。返回值类型为String。
exp: String str=”ababababa”;
String a=str.intern();
System.out.println(a);
输出的结果为:ababababa。
5. trim: 返回字符串的副本,忽略前导空白和尾部空白。返回值类型为String。
exp:给字符串“ defgb ”,则输出结果将为“defgb”。

三、练习:统计一段字符串中每一个字符出现的次数。
//定义一个类
public class TongJi3{
//定义一个主函数
public static void main(String [] args){
//定义一个字符串
String str="abcabce";
//将字符串长度赋值给n
int n=str.length();
//定义一个字符常量
char ch;
//定义一个整型变量
int m;
//遍历字符串中的每个字符
for(int i=0;i<n;i++){
//将目标字符赋值给ch
ch =str.charAt(i);
//定义及初始化比较字符的索引
int j=0;
//用于统计每个字符出现的次数
m=0;
//将目标字符与比较字符逐一比较
while(j<n){

if(str.charAt(j)==ch){

m++;

}
j++;
}

//控制每个不同的字符只出现一次
for(int l=0;l<n;l++){
//将字符串中相同的其他字符用空格覆盖掉
str=str.replace(ch,' ');

}
if(ch!=' '){

System.out.println(ch+"在此字符串中出现的次数为:"+m+"次");
}
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值