IDEA输入及流程(选择、循环)

  • Post author:
  • Post category:其他



目录


Scanner对象


流程


顺序


选择


if单选择结构


嵌套的if结构


switch多选择结构


循环


while 循环


do…while 循环


For循环


增强for循环


break & continue


Scanner对象

Scanner 对象的基本语法:
Scanner s = new Scanner(System.in);

nextLine()
public static void main(String[] args) { 

Scanner scan = new Scanner(System.in); // 从键盘接收数据

System.out.println("nextLine方式接收:");// nextLine方式接收字符串,也可以为next方式接收。 

// 判断是否还有输入 
if (scan.hasNextLine()) { 
String str2 = scan.nextLine(); 
System.out.println("输入内容:" + str2); 
}

scan.close(); 
}
next() 不能得到带有空格的字符串;

nextLine()方法返回的是输入回车之前的所有字符,可以获得空白。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_13,color_FFFFFF,t_70,g_se,x_16

如果要输入 int 或 flfloat 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取;

流程

顺序

选择


if


单选择结构

if(布尔表达式){ 
        //如果布尔表达式为true将执行的语句 
}

if


双选择结构
if(布尔表达式){
 //如果布尔表达式的值为true 
}else{ 
//如果布尔表达式的值为false 
}

if


多选择结构
if(布尔表达式 1){
 
//如果布尔表达式 1的值为true执行代码 

}else if(布尔表达式 2){

 //如果布尔表达式 2的值为true执行代码 

}else if(布尔表达式 3){
 
//如果布尔表达式 3的值为true执行代码 

}else { //如果以上布尔表达式都不为true执行代码 

}
  • if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
  • if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
  • 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。


嵌套的


if


结构


switch


多选择结构

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression){
 case value :
 //语句
 break; //可选
 case value :
 //语句
 break; //可选
 //你可以有任意数量的case语句
 default : //可选
 //语句
 }
  • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现,才会跳出 switch 语句。

  • switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支;default 在没有 case 语句的值和变量值相等的时候执行。
  • 如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。如果后续的 case 语句块有 break 语句则会跳出判断。【case穿透】

循环


while


循环

while( 布尔表达式 ) {
 //循环内容
 }
只要布尔表达式为 true,循环就会一直执行下去。
少部分情况需要循环一直执行,比如服务器的请求响应监听等。


do…while


循环

do {
 //代码语句
 }while(布尔表达式);
对于 while 语句而言,如果不满足条件,则不能进入循环;do…while 循环至少会执行一次。

while先判断后执行。dowhile是先执行后判断!


For


循环

for(初始化; 布尔表达式; 更新) { /
/代码语句
 }

练习:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

\n换行;\t空格;


增强


for


循环

for(声明语句 : 表达式) {
 //代码句子
 } 


声明语句:

声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

表达式:

表达式是要访问的数组名,或者是返回值为数组的方法。
//增强for循环遍历输出数组元素

public static void main(String[] args) {

 int [] numbers = {10, 20, 30, 40, 50};
 for(int x : numbers ){
 System.out.print( x );  //  10,20,30,40,50,
 System.out.print(",");
 }

System.out.print("\n");

 String [] names ={"James", "Larry", "Tom", "Lacy"};
 for( String name : names ) {
 System.out.print( name );  //James,Larry,Tom,Lacy,
 System.out.print(",");


 }
 }


break & continue


break

break 跳出最里层的循环,并且继续执行该循环外面的语句。


continue

作用是让程序立刻跳转到下一次循环的迭代(不退出循环,只是不执行本次循环);

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,

    不执行循环中剩余的语句

    。(break语句也在switch语句中使用)
  • continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

习题:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16



版权声明:本文为weixin_63262602原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。