数据类型总结

7.14 晚上今天上的是Java数据类型,才发现基本数据类型有8种~ 以前一直没记住,只有模糊的概念,今天总算清楚了。

Java的八大基本数据类型:
byte 字节型 8bit
short 短整型 16bit
int 整型 32bit
long 长整型 64bit

float 单精度 32bit
double 双精度 64bit

boolean 布尔类型 true和false

char 字符型 16bit 只有正整数,每一个整数对应一个字母

基本数据类型中,
1.小心溢出,溢出是正负就想一个手表表面,可以看成是个圆的。正负的大数都相邻~ 譬如: byte 里面,-129 = +127 就是一个循环,笨一点的就数下去吧~
课上没听懂熊哥说的什么后几位~ 不晓得~ 只会笨的方法。
2.可强制转换。从低字节的强制转换为高字节的是可以的,从高字节强制转换为低字节也行。譬如byte a = (int)i;int i = (byte)a and so forth.
3.不同类型的不能转换,int跟float就不能转换了。

引用数据类型(对象类型或者类类型):
类,接口,抽象类,数组
String 在Java中是一个类,由class定义的类。


附上[size=large]String的函数使用方法[/size] 代码:

public class StringDemo{

//String的方法摘要
public static void main(String[] args){


//定义字符串变量
String str1 = "weizanzhushang";
System.out.println("字符串1 = "+str1);


String str2 = "lengxiaohuazanzhu";
System.out.println("字符串2 = "+str2);


//charAt,找到字符串str1的第4个索引位置的字符
char ch = str1.charAt(3);
System.out.println("第4位字符为:"+ch);


//codePointAt,找到str2中第四位的字符对应的ASCII的值;
int a = str1.codePointAt(3);
System.out.println("str1第4位字符数值为:"+a);


//codePointBrfore,找到str2中第四位(index)的字符对应的ASCII的值;
int b = str1.codePointBefore(3);
System.out.println("str1前3位字符数值为:"+b);


//codePointCount,begin-end index文本范围的长度
int c = str1.codePointCount(2,6);
System.out.println("str1字符数值为:"+c);


//equals,判断两个字符串是否相等
boolean state = str1.equals(str2);
System.out.println("str1与str2相等"+state);


//compareTo,比较首字符ASCII码的位置
int d = str1.compareTo(str2);
System.out.println("str1排str2前"+d);


//startsWith,是否以特定字符串开始,用boolean
boolean state1 = str1.startsWith("wei",3);
System.out.println("str1以wei开头吗"+state1);


//endsWith,以特定字符串结束,用boolean
boolean state2 = str1.endsWith("shang");
System.out.println("str1以shang结尾吗"+state2);


//hashCode,哈希码
int e = str1.hashCode();
System.out.println("字符串哈希码:"+e);


//indexOf,返回指定字符在此字符串中第一次出现处的索引。
int f = str1.indexOf('b');
System.out.println("a第一次出现的位子"+f);


//indexOf,(char a,int i),从第i个位搜索a出现的位置
int g = str1.indexOf('a',f+1);
System.out.println("a第二次出现的位子"+g);


//lastIndexOf,字符最后一次出现的位子
int h = str1.lastIndexOf('a');
System.out.println("a最后出现的位子"+h);


//substring,取字符串
String str3 = str1.substring(3,7);
System.out.println("字符串3:"+str3);


//length,字符串长度
int i = str2.length();
System.out.println("str2长度"+i);


//concat,字符串连接
String str4 = str1.concat(str2);
System.out.println("字符串1跟2的连接"+str4);


//split,字符串分割
String [] array = str1.split("a");
for(int j=0;j<array.length;j++){
System.out.println(array[j]);
}

//toCharArray,把字符串转换为一个字符数组
char [] array1 = str1.toCharArray();
System.out.println(array1);


}
}


附上[size=large]统计字符串中每个字符的个数[/size]代码:

public class Tongji2{

//统计每个字符出现次数
public static void main(String [] args){

//定义字符串
String str = "nixiangzenmegaozenmegaone";


for(int m=0;m<str.length();m++){
//设置外部循环,取得每个字符
char ch = str.charAt(m);

//计算每个字符出现的次数
int i=0;
int j=0;
while(j<str.length()){

if(str.charAt(j)==ch){
i++;
}
j++;
}

//控制输出,同一个字符不再输出
for(int n=0;n<str.length();n++){
str=str.replace(ch,' ');
}
if(ch!=' ')
System.out.println(ch+"出现了"+i+"次");
}//for

}
}


本代码是经学长指导,自己再改编的。
开始还有一以为是统计一个字符的个数,然后后来再审题发现不对了。审题很重要!
一个良好的程序是离不开好的算法的,做题有多种方法,要选最优的。

先说说这个解题思路吧。

首先控制外部循环;
用for语句,得到字符串中字符;
各字符都在字符串中寻找一遍,得到各个字符的出现次数。
最后输出字符,因为字符可能重复出现,·用个replace函数把输出过的字符用“ ”(空格)代替,输出时,用if语句控制不输出空格。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值