首页 > 编程语言 > 详细

Java流程控制

时间:2020-12-17 22:15:47      阅读:32      评论:0      收藏:0      [点我收藏+]

Java流程控制

用户交互Scanner
  • Java.util.Scanner是Java5的新特征,可以通过 scanner类来过去用户输入

  • 基本语法

    • Scanner s = new Scanner(System.in);
      
  • 通过Scanner类的 next() 与 nextLine() 方法获取输入的字符串,再 读取前 我们一般需要 使用 hasNext() 与 hasNextLine()判断是否还有输入的数据。

  • 使用 next() 输入 next()不能得到带有空格的字符串

import java.util.Scanner;

Public class Demo(){
	public static void main(String[] args){
        
        //创建一个扫描器对象,用于接收键盘数据
		Scanner scanner = new Scanner(System.in);
        
        System.out.println("使用next方式接受:");
            
        //使用next方式接收
        String str = scanner.next();
        System.out.println("输入的内容为:"+str);
            
        //凡是输入IO流的类,如果不关掉会一直占用资源,养成良好的习惯,用完就关掉。
        scanner.close();
    }	
}

使用next方式接收:
hello word
输出内容为:hello    
  • 使用 nextline() 接收输入 以Enter为结束符,可以获得空白
import java.util.Scanner;

Public class Demo(){
	public static void main(String[] args){
        
        //创建一个扫描器对象,用于接收键盘数据
		Scanner scanner = new Scanner(System.in);
        
        System.out.println("使用nextline方式接受:");

        //使用nextline方式接收
        String str = scanner.nextline();
        System.out.println("输入的内容为:"+str);
        
        //凡是输入IO流的类,如果不关掉会一直占用资源,养成良好的习惯,用完就关掉。
        scanner.close();
    }	
}

使用nextline方式接收:
hello word
输出内容为:hello word 
scanner的进阶使用
import java.util.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("你输入的不是浮点数!")
        }
        scanner.close();
    }	
}
计算输入数据的和和平均数
import java.util.Scanner;

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 x = scanner.nextDouble();
            System.out.println("你输入了第"+ (m+1) + "个数据,然后当前结果为sum=" +sum);
            m++;
            sum = sum + x;
        }

        System.out.println(m + "个数的和为" + sum);
        System.out.println(m + "个数的平均值是" + sum/m);

        scanner.close();
    }
}

顺序结构

任何 算法 都离不开 顺序结构

顺序结构

//判断字符串是否相等
if (s.equals("hello"))

多选择结构

switch(expression){
    case value:
        //语句
        break;
    case value:
        //语句
        break;
    default://可选
        //语句
}
  • switch语句的变量类型可以是:

    • byteshort ,int , char

    • Java SE7开始支持 String 类型(字符的本质还是数字 .hashcode),同时case标签必须为字符串常量或字面量

    • 反编译 java --> class(字节码文件) --->反编译 java文件(IDEA)

      String name = "name":{
          case "good":
          	System.out.println("good");
          case "name":
          	System.out.println("name");
          default:
          	System.out.println("default")
      }
      //JDK7的新特性,表达式结果可以是字符串!
      

      循环结构

      • while循环
      • do...while循环 (至少让程序执行 一次
      • for 循环 (循环结构变得更简单
        • 再Java5中引入了一种主要用于数组的增强型for循环(遍历数组和对象

      少部分循环 一直 执行 , 比如 服务器的请求 相应监听等

      练习:用while或for循环输出1--1000之间能被

      public class ForDemo {
          public static void main(String[] args) {
          //练习:用while或for循环输出1--1000之间能被5整除的数,并且每行输出3个
      
              for (int i = 0; i < 1000; i++) {
                  if(i%5==0){
                      System.out.print(i+"\t");//打印一个table
                  }
                  if(i%(5*3) == 0){ //换行
                      System.out.println();
                      //System.out.print("\n");
                  }
              }    
          }
      }
      
      

      练习:打印99乘法表

      //输出九九乘法表
      public class For99Multication {
          public static void main(String[] args) {
      
              for (int j = 1; j <= 9; j++) {
      
                  for (int i = 1; i <= j; i++) {
                      System.out.print(j + "*" + i + "=" + (1 * j)+ "\t");
                  }
                  System.out.println();
              }
          }
      }
      
      
      增强for循环
      public class ForEnhance {
          public static void main(String[] args) {
              int[] numbers = {10,20,30,40};
              
              for(int x:numbers){
                  System.out.println(x);
                  
              }
          }
      }
      
      
      break

      跳出循环

      continue

      跳出一次循环

      实验题

      打印一个三角形

      public class Textdemo
      {
          public static void main(String[] args) {
              for (int i = 1; i <= 5; i++) {
                  for (int j = 5; j >=i; j--) {
                      System.out.print(" ");
                  }
                  for (int j = 1; j <=i; j++) {
                      System.out.print("*");
                  }
                  for (int j = 1; j < i; j++) {
                      System.out.print("*");
                  }
                  System.out.println();
              }
          }
      }
      

Java流程控制

原文:https://www.cnblogs.com/AronJudge/p/14152001.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!