Java流程控制
用户交互Scanner
Scanner对象
-
next();不能得到带有空格的字符串 空白为结束符 public class Demo01 {
? ?public static void main(String[] args) {
? ? ? ?//创建一个扫描器对象,用于接收键盘数据
? ? ? ?Scanner scanner = new Scanner(System.in);
?
? ? ? ?System.out.println("使用next接受:");
? ? ? ?//判断用户有没有输入字符串
? ? ? ?if (scanner.hasNext()){
? ? ? ? ? ?//使用next方式接收
? ? ? ? ? ?String str=scanner.next();
? ? ? ? ? ?System.out.println("输入的内容为:"+str);
? ? ? }
? ? ? ?//属于io流的类不关闭会一直占用资源,要记得关闭。
? ? ? ?scanner.close();
? }
} -
nextline();可获得空白 enter为结束符 public class Demo02 {
? ?public static void main(String[] args) {
? ? ? ?Scanner scanner = new Scanner(System.in);
? ? ? ?System.out.println("nextline接受");
?
? ? ? ?if(scanner.hasNextLine()){
? ? ? ? ? ?String s = scanner.nextLine();
? ? ? ? ? ?System.out.println("内容是"+s);
? ? ? }
? ? ? ?scanner.close();
? }
}//if可要可不要 例题:输入多个数字,求总和和平均数,每输入一个数字用回车确认,通过输入的非数字结束输入并跳出结果 public class Demo04 {
? ?public static void main(String[] args) {
? ? ? ?//输入多个数字,求总和和平均数,每输入一个数字用回车确认,通过输入的非数字结束输入并跳出结果,
? ? ? ?Scanner scanner=new Scanner(System.in);
// ? ? ? ? 和
? ? ? ?double sum =0;
// ? ? ? ? 输入了多少个数字
? ? ? ?int m=0;
// ? ? ? ? 通过循环判断是否还有输入,并在里面对每一次进行求和统计
? ? ? while(scanner.hasNextDouble()){
? ? ? ? ? double v = scanner.nextDouble();
? ? ? ? ? m++;
? ? ? ? ? sum=sum+v;
? ? ? ? ? System.out.println("输入了"+m+"个数字,总和为"+sum);
? ? ? }
? ? ? ?System.out.println(m+"个数的和为"+sum);
? ? ? ?System.out.println(m+"个数的平均值为"+(sum/m));
? ? ? ?scanner.close();
? }
顺序结构
从上到下
选择结构***
if单选择结构
public class Demo01 {
? ?public static void main(String[] args) {
? ? ? ?Scanner scanner=new Scanner(System.in);
? ? ? ?System.out.println("请输入内容:");
? ? ? ?String s=scanner.nextLine();
?
? ? ? ?if (s.equals("hello")){
? ? ? ? ? ?System.out.println(s);
?
? ? ? }
? ? ? ?System.out.println("ENd");
? ? ? ?scanner.close();
? }
}
if双选择结构
public class ShunXuDemo {
? ?public static void main(String[] args) {
? ? ? ?Scanner scanner = new Scanner(System.in);
//输出成绩大于60及格小于60不及格
? ? ? ?System.out.println("请输入成绩:");
? ? ? ?int i = scanner.nextInt();
? ? ? ?if(i>60){
? ? ? ? ? ?System.out.println("及格");
? ? ? }else{
? ? ? ? ? ?System.out.println("不及格");
? ? ? }
?
?
? ? ? ?scanner.close();
? }
}
if多选择结构
public static void main(String[] args) {
? ? ? ?Scanner scanner = new Scanner(System.in);
?
? ? ? ?System.out.println("请输入成绩:");
? ? ? ?int score = scanner.nextInt();
?
?
? ? ? ?if(score==100){
? ? ? ? ? ?System.out.println("满分");
? ? ? }else if(score<100 && score>80){
? ? ? ? ? ?System.out.println("良好");
? ? ? } else if(score<80 && score>60){
? ? ? ? ? ?System.out.println("及格");
? ? ? } else if(score<60 && score>0){
? ? ? ? ? ?System.out.println("不及格");
? ? ? }else{
? ? ? ? ? ?System.out.println("成绩不合法!");
? ? ? }
?
?
? ? ? ?scanner.close();
? }
嵌套的if结构
//例
if(1000<= num && num<=9999) {
? ? ? ? ? ?int ge = num / 1 %10;
? ? ? ? ? ?int shi = num /10 % 10;
? ? ? ? ? ?int bai = num /100 % 10;
? ? ? ? ? ?int qian = num /1000 %10;
? ? ? ? ? if(ge +shi+bai+qian>20) {
? ? ? ? ? ? ? System.out.println("恭喜您成为本店的幸运顾客!");
Switch多选择结构
|