`
rita_ka
  • 浏览: 10927 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

数据类型总结

    博客分类:
  • Java
阅读更多
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定义的类。



附上String的函数使用方法 代码:

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);
    

   }
}






附上统计字符串中每个字符的个数代码:

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语句控制不输出空格。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics