Scanner类
获取用户的输入
- 基本语法:
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法来获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
- next()
例子:
package scanner;
import java.util.Scanner;
/**
* @author soso
* @PackageName:scanner
* @ClassName:demo01
* @Description:
* @date 2024/8/2018:33
*/
public class demo01 {
public static void main(String[] args) {
//创建一个扫描对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if (scanner.hasNext()){
//使用next方法接收
String str = scanner.next();
System.out.println("输出内容为:"+str);
//属于I/O流的类用完需要关闭
scanner.close();
}
}
}
结果:
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,自动将其去掉
- 只有输入有效字符后才能将其后面输入的空白作为分隔符或结束符
- 不能得到带有空白的字符串
- nextLine()
例子:
package scanner;
import java.util.Scanner;
/**
* @author soso
* @PackageName:scanner
* @ClassName:demo02
* @Description:
* @date 2024/8/2019:00
*/
public class demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收: ");
if (scanner.hasNextLine()) {
String str = scanner.nextLine();
System.out.println("输出内容为:"+str);
}
scanner.close();
}
}
- 以回车为结束符
- 可以获得空白
上述例子可以不使用if语句
顺序结构
一句一句执行
选择结构
- if
- switch
循环结构
- while(先判断后循环)
- do…while(先循环后判断)
- for
例子:九九乘法表
package struct;
/**
* @author soso
* @PackageName:struct
* @ClassName:fordemo02
* @Description:
* @date 2024/8/2019:55
*/
public class fordemo02 {
public static void main(String[] args) {
//打印九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
System.out.println();
}
}
}
- Java增强for循环语句(用于循环数组和集合)
语法格式:
for(声明语句:表达式)
{
//代码句子
}
跳出语句
- break彻底跳出循环
- continue跳出最近的一个循环
- continue+label=goto跳转到label所在处
打印三角形
package struct;
/**
* @author soso
* @PackageName:struct
* @ClassName:demo02
* @Description:
* @date 2024/8/2020:17
*/
public class demo02 {
public static void main(String[] args) {
//打印三角形
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
for (int j = 1;j<=i;j++) {
System.out.print("*");
}
for (int j = 1;j<i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
结果图: