Java学习--Day4

Java学习–Day4

Java流程控制

用户交互Scanner

Scanner s= new Scanner(System.in);

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();
    }
}
//输入:Hello World 输出:Hello
/*scanner.nextLine()输出*/
public class Demo01 {
    public static void main(String[] args) {
           //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner=new Scanner(System.in);
        System.out.println("使用next方式接收:");
        //判断用户有没有输入字符串
        if(scanner.hasNextLine()){
            //使用next方法接收
            String str = scanner.nextLine();
            System.out.println("输出内容为:"+str);
        }

        //凡是属于IO流的类,如果不关闭会一直占用资源,养成良好习惯用完就关掉
        scanner.close();
    }
    }
}
//输入:Hello World 输出:Hello World

两种方法对比:

next():

  1. 一定要读取到有效字符后才可以结束
  2. 有效字符前的空白,自动去掉
  3. 输入有效字符后才将后面输入的空白作为分隔符或结束符
  4. 不能得到带有空格的字符串

nextLine():

  1. 以Enter为结束符,此方法返回的是输入回车之前的所有字符。
  2. 可以获得空白

Scanner输入类型判断

public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner=new Scanner(System.in);
        //从键盘接收数据
        int i=0;
        float f=0.0f;
        if(scanner.hasNextInt()){
            i=scanner.nextInt();
            System.out.println("整数数据:"+i);
        }else {
            System.out.println("输入的不是整数数据!!");
        }
        if(scanner.hasNextFloat()){
            f=scanner.nextFloat();
            System.out.println("小数数据:"+f);
        }else {
            System.out.println("输入的不是小数数据!!");
        }
        scanner.close();
    }
}

除了判断输入为int,float,还有double,byte…

流程控制(此部分C++有涉及,不多赘述)

顺序流程

就是程序从上到下,一句一句流行

选择结构

  1. if语句
  2. if…else语句
  3. if多选择结构if…elseif…elseif…else
  4. if…else…语句中是可以嵌套的
  5. switch多选择结构(JDK7后支持字符串比较了,用hashCode来比较)

循环结构

  1. while循环

  2. do…while循环,能至少执行一次

  3. for循环(快捷键100.for)

  4. 增强for循环(JDK5新提出)

    public class Demo01 {
        public static void main(String[] args) {
           //定义一个数组
            int[] numbers={10,11,12,13,14,15};
            for (int x:numbers){
                System.out.println(x);
            }
        }
    }
    

break和continue

break:跳出最内层循环,强制退出,不继续执行剩余语句

continue:此次循环操作跳出,继续下一次循环操作

上一篇:day4-JAVA重要概念&特征


下一篇:JavaSE Day4