java求学之路--流程控制篇

用户交互Scanner

  • 可以通过Scanner类来获取用户的输入
  • 基本语法:
// 创建一个扫描器对象,用于接收数据
Scanner s = new Scanner(System.in);
if(s.hasNextLine()){
//if(s.hasNext()){
//使用next方式接收
//String str = s.next();
String str = s.nextLine();
System.out.println("输出内容::"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成良好习惯
s.close();
  • 通过Scanner类的next()和nextLine()方法获取输入的字符串,用hasNext()与hasNextLine()判断是否还有输入的数据

接收字符串:next和nextLine
next:next不能接收带有空格的字符串(有效字符前的空格会被去除)
nextLine:以回车结束,可以接收回车前的所有字符。可以接收空格
接收整数:nextInt

//判断输入类型
if(s.hasNextInt()){
    int num = s.nextInt();
    System.out.println(num);
}else {
    System.out.println("输入的不是小数");
}
//输入多个数
while(s.hasNextInt()){
	int num = s.nextInt();
	System.out.println(num);
}

顺序结构

一行一行按顺序运行

选择结构

if单选择结构

if(布尔表达式){
	布尔表达式为True执行
}

if双选择结构

if(布尔表达式){
	布尔表达式为True执行
}else{
	布尔表达式为false执行
}

if多选择结构

if(布尔表达式1){
	布尔表达式1为True执行
}else if(布尔表达式2){
	布尔表达式2为True执行
}else{
	布尔表达式都为false执行
}

switch多选择结构

  • 判断一个变量与一个系列值中的某个是否相等
  • 变量类型(如下expression)可以是byte、short、int、char、String,也可以是一个已声明的变量
switch(expression){
	case value1 :
		//语句
		break;
	case value2 :
		//语句
		break;
	default:
		//语句
}
  • Sring作为switch语句的变量时,利用的是对String值的哈希值进行比较。(有IDEA的反编译功能能看出)

循环结构

while循环

  • 尽量避免死循环
  • 基本结构
while(布尔表达式){
}

do...while循环

  • 基本结构
do{
	//代码语句
}while(布尔表达式);
  • do....while先执行后判断,while先判断后执行
    for循环
  • 基本结构
for(初始化;布尔表达式;更新){
	//执行语句
}
//可以初始化一个或多个循环控制变量,也可以是空语句

增强for循环

  • 主要用于数组或集合的增强型for循环
  • 基本结构
for(声明语句 : 表达式){
	//代码句子
}
// 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。
// 表达式:表达式是要访问的数组名,或者返回值为数组的方法
// 样例:
int[] numbers = {10,20,30,40,50};
for(int x:numbers){
	System.out.println(x);
}

break continue

  • break用于强制退出循环
  • continue用于终止某次循环过程,即跳过循环体中尚未执行的语句。
posted @ 2022-02-13 00:18  坏人不会飞  阅读(25)  评论(0编辑  收藏  举报