javaSE21/9/4
javaSE流程控制
Scanner对象
- Scanner类可以获取用户的输入
- 基本语法:Scanner s = new Scanner(System.in)
- 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
next();
- 一定要读取到有效字符后才可以结束输入
- 会将空格看做结束符
- next()不能得到带有空格的字符串
import java.util.Scanner;//导入Scanner包
public class Demo{
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收:");//输入Hello World
String str = scanner.next();
System.out.println("输出的内容为:"+str);//输出Hello
//凡是属于IO流的类如不关闭会一直占用资源,要用完就关掉
scanner.close();
}
}
nextLine();
- 以Enter为结束符,会返回输入回车之前的所有字符串
- 可以得到空格
public class Demo{
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方法接收:");//输入Hello World
//判断用户有没有输入字符串
//使用nextLine方法接收
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);//输出Hello World
scanner.close();
}
}
}
Scanner进阶
public class Demo{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = 0;
float f = 0.0f;
System.out.println("请输入整数:");
if(scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("整数为:"+i);
}else{
System.out.println("输入的值不是整数!");
}
System.out.println("请输入小数:");
if(scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("小数为:"+f);
}else{
System.out.println("输入的值不是小数!");
}
}
}
输入多个数字,求总数和,平均值
public class Demo{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum = 0;
int m = 0;
while (scanner.hasNextDouble()) {
double i = scanner.nextDouble();
m++;
sum = sum + i;
}
System.out.println(m+"个数字的总和为:"+sum);
System.out.println(m+"个数的平均数为:"+sum/m);
scanner.close();
}
}
顺序结构
- 从上到下按顺序执行,除非特别指明,否则按顺序一句一句执行
选择结构
if单选择结构
- if(){
}
if双选择结构
- if(){
}else{
}
if多选择结构
if(){
}else if(){
}else if(){
}else{
}
if嵌套结构
switch多选择结构
- switch case语句
- 判断一个变量与一系列值中某个值是否相等,每个值成为一个分支
public class Demo{
public static void main(String[] args) {
char grade = 'D';
//case穿透现象:没有break会一直向下运行,遇到break就停止
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("不及格");
break;
default:
System.out.println("没有找到");
}
}
}
循环结构
while结构
- 如果不满足条件,就不能进入循环
- 结构:while(布尔表达式){
//循环内容
}
public class Demo{
public static void main(String[] args) {
int i = 0;
int sum = 0;
while (i<=100){
sum = sum + i;
i++;
}
System.out.println(sum);
}
}
do...while循环
- 至少会执行一次
- 格式:do{
//循环内容
}while(布尔表达式) - while先判断再执行,do while先执行再判断
public class Demo{
public static void main(String[] args) {
int i = 0;
int sum = 0;
do{
sum = sum + i;
i++;
}while (i<=100);
System.out.println(sum);
}
}
for循环
- 格式:for(初始化;布尔表达式;更新){
//代码语句
} - IDEA中可用100.for表示i从0到100的for循环
计算0到100之间的奇数和偶数的和
public class Demo{
public static void main(String[] args) {
int sum1 = 0;
int sum2 = 0;
for (int i = 1; i<100; i++) {
if(i%2==1){
sum1 = sum1 +i;
}else{
sum2 = sum2 +i;
}
}
System.out.println("0到100之间奇数的和为:"+sum1);
System.out.println("0到100之间偶数的和为:"+sum2 );
}
}
浙公网安备 33010602011771号