java学习笔记-流程控制

Java流程控制

01-用户交互Scanner

Scanner对象

  • java.util.Scanner,可以通过Scanner类来获取用户的输入
  • 基本语法Scanner s = new Scanner(System.in);
  • 通过Scanner类的next()nextLine()方法获取输入的字符串,在读取前一般需要使用haasNext()hasNextLine()判断是否还有输入的数据
import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        //通过System.in接收用户的输入,并且把它封装成scanner对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收");
        //判断用户有没有输入字符串
        if(scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next(); //程序会等待用户输入完毕
            System.out.println("输入的内容为:"+str);
        }
        //属于IO流的类使用完成后要关掉,否则会占用资源
        scanner.close();
    }
}
  • next()方法
    • 一定要读取到有效字符后才可以结束输入
    • 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
    • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
    • next()不能得到带有空格的字符串
  • nextline()方法
    • 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
      • 可以获得空白

02. 顺序结构

  • 定义

    顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行

  • 举例:

/*
 * 顺序结构:从上往下,依次执行
 */
public class OrderDemo {
	public static void main(String[] args) {
		System.out.println("开始");
		System.out.println("1");
		System.out.println("2");
		System.out.println("3");
		System.out.println("结束");
	}
}

03. 选择结构

  • if选择结构
if(条件){
  代码块 //条件成立之后要执行的代码,可以是一条语句,也可以是一组语句      
}
  • if-else选择结构
if(条件){
  //代码块1  
}else{
  //代码块2  
}
  • 多重if选择结构
if(条件1){
  //代码块1
}else if(条件2){
  //代码块2
}else{
  //代码块3
}
  • 嵌套if选择结构
if(条件1){
  if(条件2){
    //代码块1
  }else{
    //代码块2
  }
}else{
  //代码块3
}

04. switch选择结构

switch(表达式){
  case 常量1:
      //代码块1;
      break;
  case 常量2:
      //代码块2;
      break;
  ... ...
  default:
      //代码块n;
      break;
}
  • 注意:

    • 为了防止case穿透问题,一般在使用switch语句时都必须加上break(跳出),否则case下余的代码也会被编译执行,就毫无意义)
    • 在JDK7之后的版本,switch语句还支持String类型,也就是说case后面的值不仅可以为数字,也可以为字符/字符串等。但是如果使用float与double会出现丢失精度的问题)
  • case穿透的理解:

  当条件表达式计算完成后,程序开始执行,如果结果为1,则执行case1的代码块1。当代码块1执行完毕后,程序还会继续执行case2的代码块2,直至执行完所有case。

05. 循环结构

while循环

while(布尔表达式) {
	//循环内容
}

只要布尔表达式为 true,循环就会一直执行下去

猜你喜欢

转载自www.cnblogs.com/goodluckya/p/12577900.html