目录
2.Scanner的hasNextXXX()方法和nextInt()方法
1.Scanner的概述和构造方法原理:


这里sc对象使用的构造方法是Scanner(InputStream source)而system类中的静态成员变量就是inputStream类型的。所以构造方法使用是 Scanner sc = new Scanner(System.in);
2.Scanner的hasNextXXX()方法和nextInt()方法

3.获取数据出现的小问题

4.String类的概述

5.String类的构造方法



6.String的特点一旦被赋值就不再改变

字符串的值意思是,字符串被创建后,字符串本身不会发生改变,而指向它的某个对象,是可以改变的。
7.String字面值对象和构造方法创建对象的区别

8.String面试题

注意字符串中变量和常量相加在内存上的区别

9.String类的判断功能

对于String s = ""; 对象s是存在的,内容为空,可以调用s的方法。
对于String s = null; 对象s是不存在的,对象为空,不能调用s的方法。

注意,对于对象不存在的时候却调用了方法,会出现空指针异常。
10.模拟用户登录
package cn.itcast_test;
import java.util.Scanner;
public class LoginTest {
public static void main(String[] args) {
//定义写死的账号的用户名和密码
String username = "admin";
String password = "123456";
//要求最大允许的登录失败次数为3,循环次数明确,使用for循环。
for (int i = 0; i < 3; i++) {
//使用scanner获取用户输入的用户名和密码
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名");
String une = sc.nextLine();
System.out.println("请输入密码");
String pwd = sc.nextLine();
//使用if,else语句判断字符串是否匹配
if (une.equals(username) && pwd.equals(password)) {
System.out.println("登陆成功");
//登陆成功使用break跳出循环
break;
} else {
//登陆失败时提示用户
if (i == 2) {
//最后一次提示与前两次不同
System.out.println("您登录失败次数过多,已冻结。");
} else {
//利用for循环中i的值来提示用户剩余可用的登录次数
System.out.println("登陆失败,您还有" + (2 - i) + "次机会。");
}
}
}
}
}
11. 10的断点测试

在main左侧这里点一下使用debug模式调试就可以进行断点测试
12. 用户登录案例之登陆成功后玩猜数字小游戏
GuessNubmerGame类。
package cn.itcast_test;
import java.util.Scanner;
public class GuessNumberGame {
private GuessNumberGame() {
}
public static void start() {
//定义随机数1-100
int number = (int) (Math.random() * 100 + 1);
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数来猜数字(1-100)。");
//猜数字的次数不明确,因此用while循环。
//这里不必将创建scanner对象和游戏前的输出语句包含到while下
//只将 int GN = sc.nextInt();包含进去即可
while (true) {
int GN = sc.nextInt();
//判断
if (GN > number) {
System.out.println("您输入的数字过大,请重新输入。");
} else if (GN < number) {
System.out.println("您输入的数字过小,请重新输入。");
} else {//若一致提示猜对了,使用break跳出循环,结束游戏。
System.out.println("恭喜您,猜对了!");
break;
}
}
}
}
LoginTest类。
package cn.itcast_test;
import java.util.Scanner;
public class LoginTest {
public static void main(String[] args) {
//定义写死的账号的用户名和密码
String username = "admin";
String password = "123456";
//要求最大允许的登录失败次数为3,循环次数明确,使用for循环。
for (int i = 0; i < 3; i++) {
//使用scanner获取用户输入的用户名和密码
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名");
String une = sc.nextLine();
System.out.println("请输入密码");
String pwd = sc.nextLine();
//使用if,else语句判断字符串是否匹配
if (une.equals(username) && pwd.equals(password)) {
System.out.println("登陆成功,您可以开始玩猜数字游戏了!");
//登陆成功使用break跳出循环
GuessNumberGame.start();
break;
} else {
//登陆失败时提示用户
if (i == 2) {
//最后一次提示与前两次不同
System.out.println("您登录失败次数过多,已冻结。");
} else {
//利用for循环中i的值来提示用户剩余可用的登录次数
System.out.println("登陆失败,您还有" + (2 - i) + "次机会。");
}
}
}
}
}
13.断点测试
注意要在GuessNumberGame中的start方法也添加断点
14.String类的获取功能


15.字符串的遍历

16.统计字符串中大写、小写、数字字符的个数



17.断点测试
18.String 类的转换功能

19.练习,把一个字符串首字母大写,其余小写


使用链式编程优化

20.String的其他功能

注意,使用比较时,是挨着比较,相同就看下一位,一旦有不同的字符,就用对应的 ASCII值相减,所以,返回值可能有负数、正数、0

21.20中的小问题
对于这种前三个字符一样但长度不一样的两个字符串使用比较方法,通过查看源码可知,当前几位字符相同,但长度不同时,直接返回了字符串长度相减。

22.把int数组按指定格式拼接为字符串

23.使用功能改进22


24.字符串反转案例


25.大的字符串中找小字符串出现的次数


26.在大的字符串中查找小字符串出现的次数代码案例
package cn.itcast_test;
import java.lang.module.FindException;
public class minString_count {
public static void main(String[] args) {
String maxString = "woaijavawoaijavawohenaijavajavajava";
String minString = "java";
System.out.println(minString+"在"+maxString+"中出现了"+getCount(maxString,minString)+"次。");
}
public static int getCount(String maxstr,String minstr){
int count = 0;
int index = maxstr.indexOf(minstr);
while(index!=-1){
count++;
maxstr = maxstr.substring(index+minstr.length());
index = maxstr.indexOf(minstr);
}
return count;
}
}
27.26中代码的改进优化
注意:while中的index = maxstr.indexOf(minstr)要用括号括起来,执行顺序是,索引,赋值,判断。
public static int getCount(String maxstr,String minstr){
int count = 0;
int index ;
while( (index=maxstr.indexOf(minstr)) != -1){
count++;
maxstr = maxstr.substring(index+minstr.length());
}
return count;
}
}
28.断点测试
29.总结







本文档详细介绍了Java编程的基础知识,包括Scanner类的使用方法、String类的各种功能及特性、字符串操作技巧等,并通过实例演示了如何实现用户登录验证及猜数字游戏。


644

被折叠的 条评论
为什么被折叠?



