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(); }}
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); }}
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()); //判断字符串是否为空 }}
12.07 常见对象(模拟用户)
需求:模拟登陆,给三次机会,并且还有几次提示 用户名是admin,密码是12345612.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); }}
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); } }}
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
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); }}
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
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); }}
12.15 常见对象(字符串反转)
需求:字符串反转 键盘录入:abc 输出结果:cbapackage 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); }}
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); }}