day12

12.01 常见对象(Scanner的概述和方法介绍)
 A.Scanner的概述
 B.Scanner的构造方法原理
  public static final InputStream in; 标准的输入流.对应着键盘录入
 C.一般方法
  hasNextXxx() 判断是否还有下一个输入项,Xxx()可以是Int,Double
  nextXXX() 获取下一个输入项
12.02 常见对象(Scanner获取数据出现的小问题及解决方案)
 A.两个方法
  public int nextInt() 获取一个int类型的值
  public String nextLine() 获取一个String类型的值
 B.案例演示
  a.先演示获取多个int值,多个String类型的值
    注:获取两个字符串,只需要将上面的int i = sc.nextInt()改为int i = sc.nextLine().
  b.再演示先获取int值,然后获取String值出现问题
  c.问题解决方案 (***************************001)
    1.创建两个对象,分别接收int,String类型(注:这样会浪费空间)
    2.把所有的数据都先按照字符串获取,然后要什么,你要对应的转换什么

package day12;
import java.util.Scanner;                                    //1.导包
public class day12_02_普通版 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);                //2.Scanner录入
        System.out.println("程传政,请输入第一个数:");            //3.窗口输入
        int i = sc.nextInt();                                //4.系统录入数据
        
        System.out.println("程传政,请输入第二个数:");        //1.两个int
        int j = sc.nextInt();
        
        System.out.println("i="+i+",j+"+j);
        System.out.println("----------------------------------------");
        System.out.println("程传政,请输入第一个字符串:");        //2.两个String
        String ii = sc.nextLine();
        System.out.println("程传政,请输入第二个字符串:");
        String jj = sc.nextLine();
        System.out.println("ii="+ii+",jj="+jj);
        System.out.println("----------------------------------------");
        System.out.println("程传政,请输入第一个数:");        //3.int+String    
        int iii = sc.nextInt();
        System.out.println("程传政,请输入第二个字符串:");
        String jjj = sc.nextLine();
        System.out.println("iii="+iii+",jjj="+jjj);
    }
}
/*注:获取两个字符串,只需要将上面的sc.nextInt()改为String ii = sc.nextLine();*/
--------------------------------
package day12;
import java.util.Scanner;
public class day12_02_高级 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);                //2.Scanner录入
        System.out.println("程传政,请输入第一个数:");            //3.窗口输入
        int i = sc.nextInt();                                //4.系统录入数据
        
        System.out.println("程传政,请输入第二个数:");        //1.两个int
        int j = sc.nextInt();
    }
}
View Code

12.03 常见对象(String类的概述)
 A.String类的概述
  1.字符串"abc"也可以看成一个字符串对象
  2.字符串都是常量,一旦被复制就不可改变

12.04 常见对象(String类的构造方法)
 A.常见构造方法(关于字节数组和字符数组 转字符串)
  public String() 空字符串
  public String(byte[] bytes) 字节数组转成字符串
  public String(byte[] bytes,int index,int length):字节数组的一部分转成字符串,注:从index开始,转length长度个
  public String(char[] value) 字符数组转成字符串
  public String(char[] value,int index,int count):字符数组的一部分转成字符串
  public String(String original) 把字符串常量值转成字符串

package day12;
public class day12_04 {
    public static void main(String[] args) {
        String s1 = new String();                //1.空字符串
        System.out.println(s1);
        
        byte[] arr1 = {97,98,99};                //2.字节数组转成字符串
        String s2 = new String (arr1);
        System.out.println(s2);
        
        byte[] arr3 = {97,98,99,100,101,102,103};  //3.字节数组的一部分转成字符串
        String s3 = new String (arr3,2,3);                //注:从2开始,转3个
        System.out.println(s3);
        
        byte[] arr4 = {'a','b','c','d','e'};        //4.字符数组转成字符串
        String s4 = new String (arr4);
        System.out.println(s4);
        
        byte[] arr5 = {'a','b','c','d','e'};        //5.字符数组转成字符串
        String s5 = new String (arr5,2,3);                //注:从2开始,转3个    
        System.out.println(s5);
        
        String s6 = new String("heima");            //6.把字符串常量值转成字符串
        System.out.println(s6);
    }
}
View Code

12.05 常见对象(String类的面试题)
  1.
  2.下面这句话再内存中创建了几次对象
    String s1 = new String("abc")
  3.判断定义为String类型的s1和s2是否相等
    String s1 = new String("abc");
    String s2 = "abc";
  4.判断定义为String类型的s1和s2是否相等
  5.判断定义为String类型的s1和s2是否相等
    String s1 = "ab";
    String s2 = "abc";
    String s3 = "s1+c";
    System.out println(s3==s2);
    System.out.println(s3.equals(s2));
12.06 常见对象(String类的方法)
  boolean equals(Object obj): 比较字符串的内容是否相同,区分大小写
  boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽视大小写
  boolean contains(String str):判断大字符串是否包含小字符串
  boolean startWith(String str):判断字符串是否以某个指定的字符串开头
  boolean endWith(String str):判断字符串是否以某个指定的字符串结尾
  boolean isEmpty(): 判断字符串是否为空

package day12;
public class day12_06 {
    /*""是字符串常量,同时也是一个String类的对象
     * null是空常量*/
    public static void main(String[] args) {
        String s1 = "heima";
        String s2 = "heima";
        String s3 = "heiMa";
        String s4 = "我爱heima,haha";
        String s5 = "";
        String s55=null;
        System.out.println(s1.equals(s2));        //1. 比较字符串的内容是否相同,区分大小写
        System.out.println(s1.equals(s3));
        
        System.out.println(s4.contains(s1));    //3.判断大字符串是否包含小字符串
        System.out.println(s5.isEmpty());
        System.out.println(s55.isEmpty());        //判断字符串是否为空
    }
}
View Code

12.07 常见对象(模拟用户)
  需求:模拟登陆,给三次机会,并且还有几次提示
    用户名是admin,密码是123456
12.08 常见对象(String类的获取方法)
  int length(): 获取字符串的长度
  char charAt(int index):        获取指定索引位置的字符
  int indexOf(int ch):         返回指定字符 在此字符串中第一次出现的索引
  int indexOf(String ch):        返回指定字符串 在此字符串中第一次出现的索引
  int inderOf(int ch,int formIndex):    返回指定字符在此字符串中从指定位置后第一次
  int indexOf(String ch,int formIndex): 返回指定字符串在此字符串中从指定位置后第一次出现处的索引
  lastIndexOf()
  String substring(int start);      从指定位置开始截取字符串,默认到末尾
  String substring(int start,int String类的构造方法)

package day12;
public class day12_08 {
    public static void main(String[] args) {
        String s1 = "heima";                
        System.out.println("获取字符串的长度:"+s1.length());                //1.获取字符串的长度
        int[] arr = {11,22,33,44,55};
        System.out.println("数组的长度:"+arr.length);        //1.1数组的长度
        
        int index = s1.indexOf('e');        //3.返回指定字符在此字符串中第一次出现的索引
        System.out.println(index);
        int index2 = s1.indexOf("ma");        //4.返回指定字符串在此字符串中第一次出现的索引
        System.out.println(index2);
    }
}
View Code

12.09 常见对象(字符串的遍历)
  遍历所有字符串

package day12;
public class day12_09 {
    public static void main(String[] args) {
        String s = "heima";
        for (int i = 0; i < s.length(); i++) {
            char c= s.charAt(i);
            System.out.print(" "+ c);
        }
    }
}
View Code

12.10 常见对象(统计不同类型的字符个数)
  一个大字符串中大写,小写,数字出现的次数
12.11 常见对象(String类的转换功能)
  byte[] getBytes():                 1.字节数组
  char[] toCharArray():      字符串转成   2.字符数组

  static String valueOf(char[] chs):  1.字符数组
  static String valuef(int i):       2.int        转成字符串

  String toLowerCase():              1.小写
  String toUpperCase():        字符串      2.大写
  String concat(String str):              3.拼接

package day12;
public class day12_11 {
    public static void main(String[] args) {
        String s1 = "abc";
        byte[] arr = s1.getBytes();
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
        System.out.println("-----------------------------");
        String s2 = "你好你好";    
        byte[] arr2 = s2.getBytes();            //字符串转成 1.字节数组
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i]+" ");        //GBK码表
            
        System.out.println("----------------------------");    
        String s22 = "heima";
        char[] arr22 = s22.toCharArray();        //字符串转成   2.字符数组
        for (int j = 0; j < arr22.length; j++) {
            System.out.print("字符数组:"+ arr22[j]+" ");
        }
        
        System.out.println("----------------------------");    
        char[] arr3 ={'a','b','c','d'};
        String s3 = String.valueOf(arr3);        //1.字符数组 转成字符串
        System.out.println(s3);
        }
        System.out.println("----------------------------");    
        String s4 = "heiMA";
        String s5 = "chengxuYUAN";
        String s44 = s4.toLowerCase();
        String s55 = s5.toUpperCase();
        System.out.println("转小写:"+s44);
        System.out.println("转大写:"+s55);
        System.out.println("拼接:"+s4.concat(s5));
    }
}
View Code

12.12 常见对象(案例:转换字符)
  需求:把一个字符串的首字母转成大写,其余转成小写

package day12;
public class day12_12 {
    /**
     * 需求:把一个字符串的首字母转成大写,其余转成小写
     */
    public static void main(String[] args) {
        String s = "woaiheimaHEIMA";
        String s1 = s.substring(0,1).toUpperCase().concat(s.substring(1).toLowerCase());
        System.out.println(s1);
    }
}
View Code

12.13 常见对象(数组转成字符串)
  需求:将数组中的数据按要求拼接成一个字符串
    int[] arr = {1,2,3}
    结果是: [1,2,3]

package day12;
public class day12_13 {
    /**
     *int[] arr = {1,2,3}
        结果是:     [1,2,3]
     */
    public static void main(String[] args) {
        int [] arr =  {1,2,3};
        String s = "[";
        for(int i = 0;i<arr.length;i++){
            if(i == arr.length - 1){
                s = s + arr[i]+"]";
            }else{
                s = s + arr[i]+", ";
            }
        }
        System.out.println(s);
    }
}
View Code

12.14 常见对象(String类的其他方法)
 A. String的替换功能及案例演示
    String replace(char old,char new)
    String replace(String old,String new)
 B.String的去除字符串两端空格及案例演示
    String trim()
 C.String的按字典顺序比较两个字符串及案例演示
    int compareTo(String str)
    int compareToIgnoreCase(String str)

package day12;
public class day12_14 {
    public static void main(String[] args) {
        String s = "heima";
        String s1 = s.replace('i','o');
        System.out.println(s1);
        String s2 = s.replace("hei", "hao");
        System.out.println(s2);
    }
}
View Code

12.15 常见对象(字符串反转)
  需求:字符串反转
    键盘录入:abc
    输出结果:cba

package day12;
import java.util.Scanner;
public class day12_15 {
    /**
     * 1.键盘录入获取字符串Scanner
     * 2.字符串转字符数组
     * 3.倒着遍历字符数组
     * 4.打印
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("程传政请输入一个字符串:");
        String line = sc.nextLine();
        char[] arr = line.toCharArray();
        String s = "";            //键入一个空字符串循环使用
        for (int i = arr.length - 1; i >=0; i--) {
            s = s+arr[i];
        }
        System.out.println(s);
    }
}
View Code

12.16 常见对象(大窜中小窜的次数)

package day12;
public class day12_16 {
    /**
     * 1.定义计时器
     * 2.通过indexOf
     *         如果没有返回-1
     *         如果有返回索引值
     * 3.根据索引值加上小字符串的长度,截取大字符串,将截取到的结果赋值给大字符串
     */
    public static void main(String[] args) {
        //定义大字符串
        String max = "woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma";
        String min = "heima";
        int count = 0;
        int index = 0;
        while((index = max.indexOf(min)) != -1){
            count++;
            max = max.substring(index + min.length());
        }
        System.out.println(count);
    }

}
View Code















转载于:https://www.cnblogs.com/chengxiaofeng/p/10415078.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值