Java基础:流程控制

Scanner对象

Scanner input = new Scanner(System.in);
String str = input.nextLine();
System.out.println("输入的内容是"+str);
input.close(); //凡是io类的流如果不关闭会一直占用资源,要养成及时关闭的习惯


  • next()

    • 一定要读取到有效字符后才会结束输入
    • 对有效字符前遇到的空白,next()方法会自动将其去掉
    • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
    • 不能得到带有空格的字符串
  • nextline()

    • 以回车键为结束键,返回回车之前的所有字符
    • 可以获得空白
//next()示例
import java.util.Scanner;
public class scanner {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); //输入hello world!后回车
        if(scanner.hasNext()){
            String str = scanner.next();
            System.out.println(str);  // 输出hello
            scanner.close();
        }
    }
}

//nextLine()示例
import java.util.Scanner;
public class scanner {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); //输入hello world!后回车
        if(scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println(str); //输出hello world!
            scanner.close();
        }
    }
}

switch多选择结构

  • 变量类型可以是byte、short、int、char、String(java SE 7开始)
  • case标签为字符串常量或字面量
import com.sun.org.apache.bcel.internal.generic.SWITCH;
import java.util.Scanner;
public class scanner {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);  //输入liu
        String xz = scanner.nextLine();
        switch (xz) {  //
            case ("liu"): {          
                System.out.println("no"); //输出no
                break;   //没有break语句,后面yes也会输出
            }
            case ("zhu"): {
                System.out.println("yes");  
                break;
            }

        }
    }
}

//使用IDEA反编译 java---class(字节码文件)
/*
将out文件夹中的class文件复制到str文件夹的对应java文件同目录下
在IDEA中打开查看反编译码
*/
  • println 输出完会换行

  • print 输出完不换行

for循环联系:打印三角形

public class forText {
    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();
        }
    }
}  //后两步可以合并
posted @   好奇的中胡  阅读(33)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示