java基础案列B

遍历字符串

需求:键盘输入一个字符串,使用程序实现在遍历控制台·

思路:

键盘输入一个数据;Scanner

获取每一个字符:public char charAt(index):返回值指定索引char值,字符串索引也是从0开始的

遍历字符串,其次要回去字符串长度

  • public int length():返回字符串长度

  • 数组的长度:数组名.length

  • 字符串的长度:字符串对象.length()


    字符串遍历


public class Application {
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入字符串");
       String s1 = sc.nextLine();
       //System.out.println("length:"+s1.length());
        // System.out.println(s1.charAt(0));
        // System.out.println(s1.charAt(1));
        // System.out.println(s1.charAt(2));
        for (int i = 0; i < s1.length(); i++) {
            System.out.println(s1.charAt(i));
        }

        }

    }

统计字符次数

  • 键盘(Scanner)输入一个数据
  • 定义三个变量,初始值都为0
  • 遍历字符串,得到每一个字符
  • 判断属于哪一种类型,然后对应类型+1
import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入字符串");
       String s1 = sc.nextLine();
      int sd1 = 0;
      int sd2 = 0;
      int sd3 = 0;
        for (int i = 0; i < s1.length(); i++) {
           char ch = s1.charAt(i);
        if(ch>='A'&&ch<='Z') {
            sd1++;
        }else if (ch>='a'&&ch<='z') {
                sd2++;
            }else  if (ch>'0'&&ch<'9'){
                    sd3++;
                }
            }
        System.out.println("大写字母:"+sd1+","+"小写字母:"+sd2+","+"数字:"+sd3);

            }
          }

拼接字符串

需求:定义一个方法,吧int数组中的数据按照格式拼接成一个字符串返回,调用该方法,并且在控制台输出

思路

  1. 定义一个数组
  2. 定义一个方法,返回值String
  3. 遍历数组在方法中
  4. 调用方法
  5. 输出结果

public class Application {
    public static void main(String[] args) {
    int[] arr = {1,5,1,56,5,1,4,};
       System.out.println(arrayToString(arr));
            }public static String arrayToString(int[] arr){
        String s = "";
        s  += "[";
        for (int i = 0; i < arr.length; i++) {
            if(i==arr.length-1){
              s+=arr[i]+"]";
            }else {
             s+=arr[i]+",";
            }
        }

        return  s;
    }
          }

字符串反转

需求:如:输入abc,输出cba,实现反转

思路:

  1. 输入一个字符串(Scanner)
  2. 定义一个方法,实现反转,返回值String,参数String s
  3. 倒着遍历字符串,然后拼接
  4. 调用方法
  5. 输出
public class Application {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个字符串");
    String s1 = sc.nextLine();
    System.out.println(reverse(s1));

    }public static String reverse(String s ){
        String ss = "";
        for (int i = s.length()-1; i >0 ; i--) {
          ss +=s.charAt(i);
        }
        return  ss;
    }
          }


通过帮助文档查看String中的方法

方法名说明
public boolean equals(Object anObject)比较字符串的内容,严格区分大小写(用户名和密码)
public char charAt(int index)返回指定索引处char值
public int length()返回此字符串长度

StringBuilder

  • 进行字符拼接 ,占用堆内存栈内存较小
  • StringBuilder 和String的区别
    1. String:内容是不可变的
    2. StringBuilde:内容是可变的

StringBuilder构造方法

方法名说明
public StringBuilder()创建一个空白可变字符对象,不包含任何内容
public StringBuilder(String str)根据字符串内容,来创建可变字符串对象
import sun.awt.geom.AreaOp;

import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
    StringBuilder sc = new StringBuilder();
    System.out.println("sc:"+sc);
    System.out.println("sc:"+sc.length());
        StringBuilder sc1 = new StringBuilder("Hello");
        System.out.println("sc1:"+sc1);
        System.out.println("sc1:"+sc1.length());
    }
          }

方法名说明
public StringBuilder append(任意类型)添加数据,并返回对象本身
public StringBuilder()返回相反的字符串
public String toString()通过toString就可以实现把StringBuilder转换为String
import sun.awt.geom.AreaOp;

import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
    StringBuilder sc = new StringBuilder();
 StringBuilder sc1 = sc.append("hello");
 sc.append(12324);
 sc.append("cecec");
 sc.append('c');
 sc.append(232);
 System.out.println("sc: "+sc);
 System.out.println("sc1: "+sc1);
 System.out.println(sc==sc1);
    }
          }



import sun.awt.geom.AreaOp;

import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
    StringBuilder sc = new StringBuilder();
sc= sc.append("Hello").append("大家好").append("3").append('A');
System.out.println(sc);
System.out.println(sc.reverse());
    }
          }

StringBuilder和String相互转换

  1. StringBuilder转换为String

    public String toString():通过toString()就可以实现把StringBuilder转换为String

  2. String 转换为StirngBuilder

​ public StringBuilder(String s) :通过构造后方法就可以实现把String 转换为StringBuilder

mport sun.awt.geom.AreaOp;

import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
  String s = "Hello";
  s.toString();
  StringBuilder s1 = new StringBuilder(s);
System.out.println(s);
System.out.println(s1);
    }
    }

StringBuilder改进字符拼接

import sun.awt.geom.AreaOp;

import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
   int[] arr = {1,5,1,4,5,1,};
   String s =arrayToSting(arr);
   System.out.println(s);
    }public static String arrayToSting(int[] arr){
        StringBuilder sc = new StringBuilder();
        sc.append("[");
        for (int i = 0; i <arr.length ; i++) {
            if(i==arr.length-1){
                sc.append(arr[i]+"]");
            }else{
                sc.append(arr[i]+",");
            }
        }
        String s = sc.toString();
        return  s ;
    }
    }

字符串反转升级版

需求:如:输入abc,输出cba,实现反转

思路:

  1. 输入一个字符串(Scanner)
  2. 定义一个方法,实现反转,返回值String,参数String s
  3. 在方法中使用StringBuilder实现字符串反转,并把结果转换成Sstring返回
  4. 调用方法
  5. 输出
import sun.awt.geom.AreaOp;

import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  String s1 = sc.nextLine();
  String s = myReverse(s1);
  System.out.println(s);
    }public static String myReverse(String s){
        StringBuilder s2 = new StringBuilder(s);
        s2.reverse();
        String s3 = s2.toString() ;
    return  s3;
       // return  new StringBuilder(s).reverse().toString();
    
    }
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pofenx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值