java语法怎么绑定键盘_Java基础语法学习(四、键盘输入和流程控制语句)

文章目录

一、 键盘输入

1. Scanner类使用

1.1 导包

1.2 创建对象实例

1.3 调用方法

2. Scanner类代码示例

二、流程控制语句

1.选择结构

1.1 if 单选择结构

1.2 if-else双选择结构

1.3 if-else if-else多选择结构

1.4 switch结构

2. 循环结构

2.1 whlie循环

2.2 do-while循环

2.3 for循环

2.4 无限循环

2.5 break、continue和return

一、 键盘输入

1. Scanner类使用

Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据。

1.1 导包

import java.util.Scanner;

1.2 创建对象实例

Scanner sc = new Scanner(System.in);

1.3 调用方法

常用的方法有:

d9077316ab144c96a16014c42e75da38.png

eg.

int i = sc.nextInt();//用来接收控制台录入的数字;

String s = sc.next(); //next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。

String s = sc.nextLine();//nextLine()方法,可以扫描到一行内容并作为一个字符串而被获取到。

note:

nextLine()方法比较特殊,返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。但是该方法会把nextInt(),next(),nextDouble(),nextFloat()的结束换行符作为字符串读入,进而不需要从键盘输入字符串nextLine()便已经转向了下一条语句执行。

因此,如果需要在nextInt(),next(),nextDouble(),nextFloat()这些方法之后使用nextLine(),我们首先需要一个nextLine()来吸收掉上面方法的结束换行符。

2. Scanner类代码示例

import java.util.Scanner;

public class TestScanner {

public static void main(String[] args) {

//创建Scanner引用类型的变量

Scanner sc = new Scanner(System.in);

/*

nextLine()方法比较特殊,返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

但是该方法会把nextInt(),next(),nextDouble(),nextFloat()的结束换行符作为字符串读入,进而不需要从键盘输入字符串nextLine便已经转向了下一条语句执行。

因此,如果需要在nextInt(),next(),nextDouble(),nextFloat()这些方法之后使用nextLine(),我们首先需要一个nextLine()来吸收掉上面方法的结束换行符。

*/

//获取一行内容

System.out.println("请输入一行内容");

String str1 = sc.nextLine();

System.out.println("str1的值为" + str1);

//获取数字

System.out.println("请输入一个数字");

int n = sc.nextInt();

System.out.println("n的值为" + n);

//获取字符串

System.out.println("请输入一个字符串");

String str = sc.next();

System.out.println("str的值为" + str);

//获取一行内容

System.out.println("请输入一行内容");

String str12 = sc.nextLine();

String str123 = sc.nextLine();

System.out.println("str12的值为" + str12+"str123的值为"+str123);

}

}

输出为:

4254a20eeae7c2e15017745aaaa81599.png

我们可以看到sc.next()方法输出是空格之前的内容second,遇到空格后直接结束,剩余部分保留到了缓冲区,而第一个sc.nextLine()没有输入,直接输出sc.next()的未输出内容,遇到我们敲的回车后结束。第二个sc.nextLine()才是正常获取用户的输入。

二、流程控制语句

1.选择结构

1.1 if 单选择结构

语法结构

if(布尔表达式){

语句块

}

流程图

0704e556b42930642e003b8180b8c29e.png

1.2 if-else双选择结构

语法结构

if(布尔表达式){

语句块1

}else{

语句块2

}

流程图

2157580ba89617ce1a2e284287c91667.png

1.3 if-else if-else多选择结构

语法结构

if(布尔表达式1) {

语句块1;

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

语句块2;

}……

else if(布尔表达式n){

语句块n;

} else {

语句块n+1;

}

流程图

ef07ec2d359aae213b772d41341daf6f.png

1.4 switch结构

语法结构

switch (表达式) {

case 值1:

语句序列1;

[break];

case 值2:

语句序列2;

[break];

… … … … …

[default:

默认语句;]

}

流程图

16b30573a9520bef2c2e4f986fb62ee1.png

示例

public class Test6 {

public static void main(String[] args) {

char c = 'a';

int rand = (int) (26 * Math.random());

char c2 = (char) (c + rand);

System.out.print(c2 + ": ");

switch (c2) {

case 'a':

case 'e':

case 'i':

case 'o':

case 'u':

System.out.println("元音");

break;

case 'y':

case 'w':

System.out.println("半元音");

break;

default:

System.out.println("辅音");

}

}

}

2. 循环结构

2.1 whlie循环

语法结构

while (布尔表达式) {

循环体;

}

在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。

流程图

b72cccf0c7f69af996c9ec0f1a9c9c73.png

2.2 do-while循环

语法结构

do {

循环体;

} while(布尔表达式) ;

do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。

流程图

caaab561e8f92d51d6fe45e52ffc37e5.png

2.3 for循环

语法结构

for (初始表达式; 布尔表达式; 迭代因子) {

循环体;

}

流程图

2c95ab24c40dd10048597b62ec6cd243.png

2.4 无限循环

for ( ; ; )

or

while(true)//Java中不可有while(1)

2.5 break、continue和return

在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出整个循环体,不执行循环中剩余的语句。

continue 语句用在循环语句体中,用于终止某次循环过程,即跳出当前的这一次循环,继续下一次循环。

return语句用于跳出所在方法,结束该方法的运行。一般有两种用法:

1.return;直接使用return结束方法执行,用于没有返回值的函数方法

2.return value;return一个特定值,用于有返回值的函数方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值