做logo什么网站,佛山手机网站建设,各类网站网站建设的目标是什么,win7 asp网站发布第3节 流程控制
一、接收用户输入
使用Scanner类来接收用户的输入。
新建一个Scanner对象#xff1a;Scanner input new Scanner(System.in);
input可以接收各种数据类型的输入#xff1a;比如nextInt、nextByte等#xff0c;但是这样不太安全#xff0c;因为如果输入…第3节 流程控制
一、接收用户输入
使用Scanner类来接收用户的输入。
新建一个Scanner对象Scanner input new Scanner(System.in);
input可以接收各种数据类型的输入比如nextInt、nextByte等但是这样不太安全因为如果输入了别的类型的数据代码就会直接报错
所以比较常用的是next()和nextLine()它们都返回的是String类型 其中next会从第一个不为空格的字符开始接收然后遇到空格或换行符结束接收 nextLine会接收一整行内容直到遇到换行符结束接收 注意不要同时使用next和nextLine会得不到想要的结果。
import java.util.Scanner;public class input {public static void main(String[] args) {Scanner input new Scanner(System.in);System.out.println(请输入next接收的内容);String str1 input.next();System.out.println(str1);}
}结果如下
请输入next接收的内容24dg 78tyu
24dgimport java.util.Scanner;public class input {public static void main(String[] args) {Scanner input new Scanner(System.in);System.out.println(请输入nextLine接收的内容);String str2 input.nextLine();System.out.println(str2);}
}
结果如下
请输入nextLine接收的内容ud78 56dgy__#$ !~ud78 56dgy__#$ !~二、执行结构 1996 年 计算机科学家 Bohm 和 Jacopini 证明了 任何简单或复杂的算法都可以由顺序结构、 分支结构和循环结构这三种基本结构组合而成。它们的共同点是都包含一个入口和一个出口 它们的每个代码都有机会被执行 不会出现死循环。顺序结构 一种基本的控制结构按照语句出现的顺序执行操作 分支结构 又称为选择结构根据条件成立与否来执行操作 循环结构 一种重复结构如果条件成立它会重复执行某一循环体直到出现不满足的条件为止。
三、分支结构
3.1 if条件语句
if 条件结构是根据条件判断之后再做处理 if(条件语句){…} if (条件语句){…}else{…} if (条件语句){…}else if(条件语句){…} if (条件语句){…}else if(条件语句){…}else{…}
例子 用户输入学生成绩 判断成绩是否及格 判断条件为 优良 90、 良好 81-90、 中 60-80、 不及格 60
import java.util.Scanner;public class ifelse {public static void main(String[] args) {System.out.println(请输入考试成绩);Scanner input new Scanner(System.in);int s input.nextInt();if(s 120 || s 0) {System.out.println(输入成绩有误);}else if(s 90) {System.out.println(成绩优秀);}else if(s 80) {System.out.println(成绩良好);}else if(s 70) {System.out.println(成绩合格);}else {System.out.println(成绩不合格);}}
}
3.2 switch语句
switch(表达式){ case 取值 1: 语句块 1;break; case 取值 n: 语句块 n;break; default: 语句块 n1;break; }switch 语句有关规则 表达式的返回值必须是下述几种类型之一 int, byte, char, short,String case 子句中的取值必须是常量 且所有 case 子句中的取值应是不同的 default 子句是可选的 break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块 如果 case 后面没有写 break 则直接往下面执行 case 后面的执行体可写{ }也可以不写{ }
例题 多分支月份输出天数充分利用语句特性
import java.util.Scanner;public class switchcase {public static void main(String[] args) {System.out.println(请输入一个月份1-12);Scanner input new Scanner(System.in);String text input.next();switch (text) {case 1:case 2:case 3:System.out.println(春季);break;case 4:case 5:case 6:System.out.println(夏季);break;case 7:case 8:case 9:System.out.println(秋季);break;case 10:case 11:case 12:System.out.println(冬季);break;default:System.out.println(输入月份有误);break;}}
}
四、循环结构
**循环语句功能 ** 在循环条件满足的情况下 反复执行特定代码
**循环语句分类 ** for 循环 while 循环 do/while 循环
4.1 while循环语句
符合条件 循环继续执行 否则 循环退出
特点 先判断 再执行
语法
while(条件表达式){ //语句块 }使用 while 循环的步骤 1、 分析循环条件和循环操作 2、 套用 while 语法写出代码 3、 检查循环是否能够退出
实现示例
录入班级人数和学员成绩 计算班级学员的平均成绩
import java.util.Scanner;public class whiledemo {public static void main(String[] args) {Scanner input new Scanner(System.in);System.out.println(请输入班级总人数);//使用变量studentNum记录班级总人数int studentNum input.nextInt();//用于记录循环的次数以及控制循环何时结束int i 0;//定义变量sum用于统计总分数int sum 0;while(i studentNum) {i;System.out.println(请输入第i个学生的成绩);int s input.nextInt();sum s;}System.out.println(学生的平均成绩为sum/studentNum);}
}
4.2 do-while循环语句
先执行一遍循环操作 符合条件 循环继续执行 否则 循环退出
特点 先执行 再判断
语法
do { //循环操作 }while ( 条件表达式 );**while 循环和 do-while 循环的区别 ** while:先判断条件 如果条件满足 再执行循环操作 do while:先执行一遍循环操作 然后再判读条件 如果条件满足 继续执行循环操作。
4.3 for循环语句
语法
for(初始化参数; 判断条件; 更新循环变量){ //循环体; }4.4 break与continue
break是用于终止本轮所有次循环即不执行本次循环中break后面的语句直接退出循环
continue是用于终止本轮本次循环即本次循环中continue后面的代码不执行进行下一次循环的入口判断。
4.5 如何退出多重循环
在要退出到的地方起个别名然后break XXX;
public class exit_many_xunhuan {public static void main(String[] args) {haha:for(int i0;i10;i) {for(int j0;j10;j) {System.out.println(ii , jj);if (i5 j5) {break haha;}}}}
}
补充如何判断用户输入类型
import java.util.Scanner;public class panduan_input_leixing {public static void main(String[] args) {System.out.println(请输入一个数字);Scanner input new Scanner(System.in);//在接收输入之前判断输入的类型是否为intif(input.hasNextInt()) {int num input.nextInt();System.out.println(你输入的是num);}else {System.out.println(你输入的类型不是int);}}
}