JAVA中几个相似的方法的比较

1、println、print、printf

println:输出时为换行输出

比如:

代码:

package csdn;
public class c1 {
    public static void main(String[] args) {
        System.out.println("I love JAVA");
        System.out.println("I love JAVA");
        System.out.println("I love JAVA");
    }
}

运行结果:

print:直接同行输出,与普通输出无差异

代码:

package csdn;
public class c1 {
    public static void main(String[] args) {
        System.out.print("I love JAVA ");
        System.out.print("I love JAVA ");
        System.out.print("I love JAVA ");
    }
}

运行结果:

printf:可以改变数据的输出精度

是%m.nf的格式:m表示数据的列数(包括小数点),如果数据列数小于m,且m前为正,则左补空格,反之右补空格,如果 大于m,则原数据输出。n表示保留到小数点后n位输出。

代码:

package csdn;
public class c2 {
    public static void main(String[] args) {
        double a=4.59989;
        System.out.printf("%.3f",a);//将a保留三位小数输出
        System.out.print("\n");
        System.out.printf("%7.4f",a);//将a保留四位小数,如果数据的列数,包括小数点小于7,且为正,则左侧补空格
        System.out.print("\n");
        System.out.printf("%-7.4f",a);//将a保留四位小数,如果数据的列数,包括小数点小于7,且为负,则右侧补空格
    }
}

运行结果:

 2、用于接收String类型数据的next()、nextLine()

next():接受字符串,不包含带空格的字符串,即遇到空格就会结束字符串的读入

代码:

package csdn;
import java.util.Scanner;
public class c3 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        System.out.print(str);
    }
}

运行结果:

 nextLine():可以接收带空格的字符串

代码:

package csdn;
import java.util.Scanner;
public class c3 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String str=sc.nextLine();
        System.out.print(str);
    }
}


运行结果:

 3、字节输入流InputStream中的read方法、字符输入流FileReader中的read方法(write() 方法同理)

字节输入流InputStream中的read方法:

int read():无参方法,每次读取一个字节,并返回对应的ASCII码值,如果是字符,可以通过强制转换为对应的字符

代码:

package csdn;
import java.io.FileInputStream;
import java.io.IOException;
public class c4 {
    public static void main(String[] args) throws IOException {
        //创建一个文本文件,里面存放字符A
        FileInputStream is = new FileInputStream("E:\\test\\Touge\\src\\csdn\\text");
        int m=is.read();
        System.out.println(m);
        System.out.println((char)m);
    }
}

运行结果:

 int read(byte b[]):一次性读取所有字节,并将他们存放在一个字节数组中,同时返回整型字节数

代码:

package csdn;
import java.io.FileInputStream;
import java.io.IOException;
public class c4 {
    public static void main(String[] args) throws IOException {
        //创建一个文本文件,里面存放字符ABCD
        FileInputStream is = new FileInputStream("E:\\test\\Touge\\src\\csdn\\text");
        byte[] b=new byte[56];
        //返回字节数m
        int m=is.read(b);
        System.out.println(m);
        for(int i=0;i<m;i++)
        {
            System.out.print(b[i]+" ");
        }
    }
}

运行结果:(13是回车符,10是换行符, )

 int read(byte b[],int offset,int len):读取长度为len的字节,并存放在字节数组b中,offset表示数组开始的存放字节的下标

代码:

package csdn;
import java.io.FileInputStream;
import java.io.IOException;
public class c4 {
    public static void main(String[] args) throws IOException {
        //创建一个文本文件,里面存放字符ABCD
        FileInputStream is = new FileInputStream("E:\\test\\Touge\\src\\csdn\\text");
        byte[] b=new byte[56];
        //返回字节数m,读取长度为2的字节,并从数组下标为1的开始存放
        int m=is.read(b,1,2);
        System.out.println(m);
        for(int i=0;i<1+m;i++)
        {
            System.out.print(b[i]+" ");
        }
    }
}

运行结果:

 字符输入流FileReader方法:

int read():读取单个字符

代码:

package csdn;
import java.io.FileReader;
import java.io.IOException;
public class c5 {
    public static void main(String[] args) throws IOException {
        FileReader fr=new FileReader("E:\\test\\Touge\\src\\csdn\\text");
        int m=fr.read();
        System.out.println(m);
        System.out.print((char)m);
    }
}

运行结果:

  int read(char b[]):一次性读取所有字符,并将他们存放在一个字符数组中,同时返回整型字符数

代码:

package csdn;
import java.io.FileReader;
import java.io.IOException;
public class c5 {
    public static void main(String[] args) throws IOException {
        //文本文件中存放ABCD
        FileReader fr=new FileReader("E:\\test\\Touge\\src\\csdn\\text");
        char[] ch=new char[56];
        //返回字符个数,有6个字符,有两个是换行符和回车符
        int m=fr.read(ch);
        System.out.println(m);
        for(int i=0;i<m;i++)
        {
            System.out.print(ch[i]);
        }
    }
}

运行结果:

 int read(char b[],int offset,int len):读取长度为len的字符,并存放在字符数组b中,offset表示数组开始的存放字符的下标

代码:

import java.io.FileReader;
import java.io.IOException;
public class c4 {
    public static void main(String[] args) throws IOException {
        //创建一个文本文件,里面存放字符ABCD
       FileReader is = new FileReader("E:\\test\\Touge\\src\\csdn\\text");
        char[] b=new char[56];
        //返回字符数m,读取长度为2的字符,并从数组下标为1的开始存放
        int m=is.read(b,1,2);
        System.out.println(m);
        for(int i=0;i<1+m;i++)
        {
            System.out.print(b[i]+" ");
        }
    }
}


运行结果:

 总结:

该两种方法的主要区别是:字节流读取和输出的都是以字节的方式,字符流是以字符的形式读取和输出

4、compareTo(String s)与equals()的异同

同:都是可以用来比较两者的内容是否相同

异:equals()方法用来比较两个字符串对象的内容是否相同,返回值是布尔型

比如:

代码:

package csdn;
public class c6 {
    public static void main(String[] args) {
        String s="I love JAVA";
        String s1="I love JAVA";
        String s2="I love";
        System.out.println(s.equals(s1));
        System.out.print(s.equals(s2));
    }
}

运行结果:

compareTo(String s)方法用来直接比较两字符串大小(按照字典顺序进行比较),当返回值为0时,说明两字符串内容相同

代码:
 

package csdn;
public class c6 {
    public static void main(String[] args) {
        String s="I love JAVA";
        System.out.println(s.compareTo("I love JAVA"));
        System.out.print(s.compareTo("I love"));//当返回值大于0,则字符串s更大,小于0则字符串s更小
    }
}

运行结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值