zoukankan      html  css  js  c++  java
  • Java学习(一)

    在Eclipse中使用快捷键:

    main+ Alt+/ 得到publi static void main(String[] args){}

    sysout+Alt+/ 得到System.out.println();

    编写hello world。主要是输入输出字符串。

    package helloWorld;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Scanner;
    
    
    public class HelloWorld {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            System.out.println("Hello world!");// 输出流
            System.err.println("请输入一个错误信息:");// 错误流
            // 创建文本扫描器,扫描输入的一行文本,遇到'
    '终止
            Scanner scanner = new Scanner(System.in);
            //Scanner的用法
            /**
             * 利用scanner读取字符
             */
            String line = scanner.nextLine();
            System.out.print(line);
            int i=scanner.nextInt();
            System.out.println(i);
            double d=scanner.nextDouble();
            System.out.println(d);
            
            /**
             * 利用System.in.read()读取字符
             */
            int ci = 0;//整型需要初始化
            char c=' ';//字符需要初始化
            try {
                ci = System.in.read();// 将ASC码转换成int型字符串
                c=(char)System.in.read();
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println(ci);
            System.out.println(c);
            
            /**
             * 利用bufferdReader读取数据
             */
            String s1 = null;
            String s2=null;
            BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
            try {
                //读入一行字符串
                s1 = read.readLine();
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
            System.out.println(s1);
            System.out.println(Integer.parseInt(s2));

    Scanner与BufferedReader的区别:

     1 /**
     2          * 
     3          * 
     4          * BufferedReader与Scanner的区别
     5          */
     6         Scanner scanner1 =new Scanner(System.in);
     7         int s1=scanner1.nextInt();
     8         String s2=scanner1.nextLine();
     9         System.out.println(s1+s2);
    10         
    11         BufferedReader read1=new BufferedReader(new InputStreamReader(System.in));
    12         String s3=null;
    13         String s4=null;
    14         try
    15         {
    16         s3=read1.readLine();
    17         s4=read1.readLine();
    18         }catch(IOException e){
    19             e.printStackTrace();
    20         }
    21         System.out.println(s3+s4);

    在Scanner中next.XXX有七种类型,nextInt、nextFloat、nextDouble 、nextByte、nextShort、nextLong、nextBooean,在其后面接nextLine时会造成nextLine读取换行符‘ ’,即读取字符无效。

    只有再接一个nextLine才能解除这种局面。这与C语言中的scanf的用法一致。但BufferedReader不存在此问题。

    除了上述问题,Scanner与BufferedReader还有如下不同:

    1.BufferedReader可以用于多线程的输入,而Scanner不能。

    2.BufferedReader是从缓存中读取数据,缓存大小为8K,而Scanner的缓存只有1K。

    3.BufferedReader是直接从缓存中读取数据流中的字符,而Scanner是将数据流中字符进行转码。那么前者比后者速度更快。

  • 相关阅读:
    Java知多少(28)super关键字
    Java知多少(27)继承的概念与实现
    Java知多少(26)源文件的声明规则
    Java知多少(25)再谈Java包
    Java知多少(24)包装类、拆箱和装箱详解
    Java知多少(23)类的基本运行顺序
    Java知多少(22)方法重载
    Java知多少(21)this关键字详解
    Java知多少(20)变量的作用域
    Java知多少(19)访问修饰符(访问控制符)
  • 原文地址:https://www.cnblogs.com/2Bthebest1/p/8400728.html
Copyright © 2011-2022 走看看