Java数据类型总结

一、Java的基本数据类型

       

                                                                    八大基本数据类型

       

类型称呼值域范围
byte字节型8 bits-128~127
int整型32 bits-2147483648 ~ 2147483647
short短整型16 bits-32768~32767
long长整型64 bits 
char字符型16 bits0~65535
float单精度浮点型32 bits 
double双精度浮点型64 bits 
boolean布尔型true/false

 

 

 

 

 

二、数据类型的定义

       

        1.程序中整数默认为int型

        2.整数转型:小范围的整数类型值可以通过赋值运算直接转为大范围的类型,方向为byte-short-char-int-long-float-double;反之,需要强制转换,方式为在值前加括号,括号内输入需转的类型。输出结果只取该类型可取到的后n位数。

 

 

 

三、引用数据类型(对象类型或者类类型)

    

         类,接口,抽象类,数组

         String是Java中的一个类,由class定义。可以直接赋值创建,也可通过String类创建对象。

         常见调用方法:

               

 

 注意有的字符、字符串均可用,有的只能用字符串

//String调用方式
public class StringTrain{
      public static void main(String [] args){
            String st1 = "abababab";
            String st2 = "abcdabcd";
            String st3 = "abcdabcd";
             
            System.out.println("st1 = "+st1+"\nst2 = "+st2+"\nst3 = "+st3);

            //返回指定索引处的 char 值
            char c = st2.charAt(4);
            System.out.println("c = "+c);

            //将此字符串与指定的对象比较
            boolean state = st2.equals(st3);
            System.out.println("state = "+state);

            //当且仅当此字符串包含指定的 char 值序列时,返回 true
            state = st2.contains("abc");
            System.out.println("state = "+state);

            //返回在此字符(串)中第一次出现指定字符处的索引,从指定的索引开始搜索
            int index = st2.indexOf("c",4);
            System.out.println("index = "+index); 

            //返回指定字符(串)在此字符串中最后一次出现处的索引
            index=st1.lastIndexOf('b');
            System.out.println("index = "+index); 

            //返回此字符串的长度
            int l = st2.length();
            System.out.println("st2 l = "+l);

            //根据给定正则表达式的匹配拆分此字符串(分割,不再有"b",不能是字符)
            String [] array = st1.split("b");
            for(int i=0;i<array.length;i++){
                   System.out.print(array[i]+"\0");
            }
            System.out.println();

            //返回一个新字符串,它是此字符串的一个子字符串(截取)
            String s = st2.substring(2,5);
            System.out.println("s = "+s);

            //按字典顺序比较两个字符串
            int i = st1.compareTo(st2);
            System.out.println("i = "+i);
 
            //将指定字符串连接到此字符串的结尾
            String str = st1.concat("cd");
            System.out.println("str = "+str);
     
            //测试此字符串是否以指定的后缀(字符串)结束(开始用startsWith)
            boolean bl1 = str.endsWith("cd");
            System.out.println("bl1 = "+bl1);

            //当且仅当 length() 为 0 时返回 true
            boolean bl = st1.isEmpty();
            System.out.println("bl = "+bl);

            //返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
            String st4 = st1.replace('a','e');
            System.out.println("st4 = "+st4);

            //使用默认语言环境的规则将此 String 中的所有字符都转换为大写(转小写为toLowerCase)
            String st5 = st2.toUpperCase();
            System.out.println("st5 = "+st5);

            //返回int参数的字符串表示形式(boolean,char,char[],int,float,doub,long,object)       
            String st6 = String.valueOf(i);
            System.out.println("st6 = "+st6);

     }

}

 

 

//统计某字符串中各字符出现次数
public class StringCount{
       public static void main(String [] args){
             String str = "abcdgedgedsleidgd";
             int l = str.length(),bl = 1;

             System.out.println("str = "+str);
             
             for(int i = 0;i < l;i++){
                 int n = 0;
                 for(int j = 0;j < l;j++){
                      if(str.charAt(i)==str.charAt(j))
                            n++;
                 }
                 //如果只用两个for循环会依次列出每个字符出现的次数,包括重复的
                 if(n==1)
                      System.out.println(str.charAt(i)+" appears "+n+" time");
                 else{
                      for(int k = 0;k<i;k++){
                          if(str.charAt(i)!=str.charAt(k))
                               bl = 1;
                          //只要字符在前边出现过,立即跳出循环,不输出
                          else{
                               bl = 0;
                               break;
                          }
                       }
                       if(bl == 1)
                          System.out.println(str.charAt(i)+" appears "+n+" times");              
                  } 
           
            }                

      }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值