java笔记之String类

字符串构造的3种方法
字符串直接创建的1种方法
使用String str = “”;//不管new不new直接写上""就是字符串对象。jvm会自动给new

package cn.study.String类;

public class StringClassDemo {
    public static void main(String[] args) {
        //1使用空参数构造
        String str1 = new String();
        int len1 = str1.length();
        System.out.println("使用空参数构造的字符串"+str1+":"+"长度:"+len1);

        //根据字符数组创建字符串
        char str2[] = {'a','b','c'};
        String str2_2 = new String(str2);
        System.out.println("使用字符数组构造的字符串"+str2_2);
        //根据字节数组创建的字符串
        byte str3[] = {97,98,99};
        String str33 = new String(str3);
        System.out.println("使用byte字节数组构造的字符串"+str33);

        //直接创建字符串
        String str4 = "abc";
        System.out.println(""+str4);
    }
}

字符串的常量值

堆内存中有一块字符串常量此

对于引用类型来说,==是进行内存地址值的比较
双引号直接写的字符串在常量池中。new的不值池中

小练习 把一个数组按照自定的格式 拼接成一个字符串

package Demo1;

import java.lang.reflect.Array;

public class connect {
    public static void main(String[] args) {
        //把一个数字安装自定的格式输出 [1#2#3#4]
        int[] arrayA = new int[]{
                1,2,3,4
        };
        System.out.println(arToStr(arrayA));


    }
    public static String arToStr(int[] array1){
        String connectStr = "[";
        for (int i = 0; i < array1.length; i++) {
            if(i != array1.length-1){
                connectStr += array1[i]+"@";
            }else {
                connectStr += array1[i];
            }
        }

        return connectStr+"]";
    }
}

小练习

package Demo1;

import java.util.Scanner;

public class Practice002 {
//    是用键盘输入,并且统计其中各种字符输入的次数
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入");
        String input = sc.next();
        int daxie=0;
        int xiaoxie=0;
        int qita=0;
        int shuzi=0;
        char[] inputA = input.toCharArray();
        for (int i = 0; i < inputA.length; i++) {
            if(inputA[i]>='0' && inputA[i]<='9' ){
                shuzi++;
            }else if (inputA[i]>='A'  && inputA[i]<='Z' ){
                daxie++;
            }else if(inputA[i]>='a' && inputA[i]<='z'){
                xiaoxie++;
            }else{
                qita+=1;
            }
        }
        System.out.println("当前大写:"+daxie);
        System.out.println("当前小写:"+xiaoxie);
        System.out.println("当前数字:"+shuzi);
        System.out.println("当前其他字符:"+qita);
    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值