Java——不同数据类型的输入输出方式与转化方式

Java 类型输入输出与转化方式

  • 1.Java中八种数据类型输入输出方式
    • (1)输入方式 创建Scanner对象
    • (2)输出的不同格式
    • * 格式化输出方式:System.out.printf("%?",变量名)
    • * 不换行输出方式:System.out.print(变量名)
    • * 自动换行输出方式:System.out.println(变量名)
  • 2.在线编程用到的输入结束的判断 hasnext-()
  • 3.整数与浮点数(强制类型转化)
  • 4.字符、整型、字符串类型转化方式
    • (1)int 转化为 char 类型
    • (2)char 转化为 int 类型
    • (3)int 转化为 String 类型
    • (4)String 转化为 int 类型
    • (5)String 转化为 char 类型
    • (6)char 转化为 String 类型

======================================================================================

1.Java中八种数据类型输入输出方式

(1)输入方式 创建Scanner对象

  • Scanner:一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。
  • 借助此类,可以允许用户从System.in读取一个数据传给创建的该数据类型;
  • Scanner分隔符模式将输入传给令牌,默认情况下匹配空格。
    然后可以使用各种next()方法将得到的令牌转换成不同类型的值。
public class CinPrint {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        byte b=sc.nextByte();
        short s=sc.nextShort();
        int i=sc.nextInt();
        long l=sc.nextLong();
        float f=sc.nextFloat();
        double d=sc.nextDouble();
        char c=sc.next().charAt(0);
        boolean n=sc.nextBoolean();
        String s1=sc.next();  //读取输入一个字符串(不含空格)
        String s2=sc.nextLine(); //读取输入一行字符串(可以含空字符)
        sc.close();  //结束读取,关闭扫描
        System.out.println(b);
        System.out.println(s);
        System.out.println(i);
        System.out.println(f);
        System.out.println(d);
        System.out.println(c);
        System.out.println(n);
        System.out.println(s1);
        System.out.println(s2); 
    }
}
  • // 一次可从键盘多个输入,并正确输出,因为扫描一旦开始,截至close()关闭扫描,可以一直读取多个数据,默认以空格分隔;
    Java——不同数据类型的输入输出方式与转化方式_第1张图片

// 对于s1、s2的区别 ,如果输入的字符串中含有空字符,最终读取的只有空字符前的字符串给s1;而s2 的nextLine()方法可以读取包括空字符的字符串;
Java——不同数据类型的输入输出方式与转化方式_第2张图片
Java——不同数据类型的输入输出方式与转化方式_第3张图片

  • //扫描仪也可以从自定义内容输入,以别的分隔符分割,通过不同的next()方法读取,并输出:
public class CinPrint {
    public static void main(String[] args) {
        String input = "1 fish 2 fish red fish blue fish";
        Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
        System.out.println(s.nextInt());
        System.out.println(s.nextInt());
        System.out.println(s.next());
        System.out.println(s.next());
        s.close();
    }
}

// 上述代码 以空格finsh空格作为分隔符,输出结果如下:
Java——不同数据类型的输入输出方式与转化方式_第4张图片

  • 详细信息、更多方法可在Java帮助文档中查看
    Java——不同数据类型的输入输出方式与转化方式_第5张图片

(2)输出的不同格式

* 格式化输出方式:System.out.printf("%?",变量名)

标识符 含义
%c 输出单个字符
%d 十进制整数
%f 十进制浮点数
%s 字符串
%b boolean类型
%o 八进制
%x 十六进制
%% 仅输出百分号%
  • 另外,在格式化输出时,可以借助转义字符进行限制,比如 制表符’\t’,换行符’\n’Java中的转义字符与c语言中用法相同 转义字符表查看链接
        int a=12;
        double d=2.12324;
        System.out.printf("%x\n",a);
        System.out.printf("%f\t",(float)a);
        System.out.printf("%.02f",d); //对浮点型数据 使其保留两位小数输出

Java——不同数据类型的输入输出方式与转化方式_第6张图片

* 不换行输出方式:System.out.print(变量名)

  • // 虽然该输出方式不会自动换行,但可以通过 +"\n" 进行换行;
  • //也可以通过 +“字符/字符串” 混合输出结果;
    Java——不同数据类型的输入输出方式与转化方式_第7张图片

* 自动换行输出方式:System.out.println(变量名)

  • // 该输出方法同样可以混合输出,可以实现数据加法+(参与运算,注意整形提升、强制类型转化);还可以连接多个字符串或字符或数字;
    Java——不同数据类型的输入输出方式与转化方式_第8张图片

2.在线编程用到的输入结束的判断 hasnext-()

  • Java帮助文档中有很多针对不同类型的方法判断输入的结束;
    Java——不同数据类型的输入输出方式与转化方式_第9张图片
    例:
        Scanner sc=new Scanner(System.in);
        while(sc.hasNextInt()){
            //如果没有扫描到下一个输入的int值 返回false;
            int num=sc.nextInt();
            String ss=String.valueOf(num);
            System.out.println(ss);
        }
        while(sc.hasNextLine()){
            String str=sc.nextLine();
            int n=Integer.parseInt(str);
            System.out.println(n);
        }

Java——不同数据类型的输入输出方式与转化方式_第10张图片

3.整数与浮点数(强制类型转化)

** // 直接赋值:取值范围小的数据类型数据 可以赋值给 取值范围更大的数据类型数据;
** // 强制类型转化:取值范围大的数据类型数据(数值需<被赋值的数据类型的取值范围)就可以进行强制类型转化为 更小类型的数据;

        byte a=1;
        short b=2;
        int d=4;
        long l=8;
        d=a;
        b=a;
        l=a;
        d=b;
        a=(byte)b; //强制类型转化
        // b=d;  //错误的;会造成数据丢失;必须加 (类型名)进行强制类型转化
        b=(short)d; //强制类型转化
        
        float e=1.1f;
        double f=2.2;
        boolean bool=true;
        e=b;
        f=a;
        d=f;
        d=(int)f;

Java——不同数据类型的输入输出方式与转化方式_第11张图片
Java——不同数据类型的输入输出方式与转化方式_第12张图片

4.字符、整型、字符串类型转化方式

(1)int 转化为 char 类型

        int a=2;
        char c1=(char)a;
        char c2 = (char) (a + '0');
        char c3 = String.valueOf(a).toCharArray()[0];
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
  • // 不可以直接加括号强制类型转化;

Java——不同数据类型的输入输出方式与转化方式_第13张图片

(2)char 转化为 int 类型

       char c = '1';
        // 不能直接转换
        int a1 = c;
        int a2 = c - '0';
        int a3 = Integer.parseInt(String.valueOf(c));
        System.out.println(c);
        System.out.println(a1);
        System.out.println(a2);
        System.out.println(a3);

// 还是不能强转;字符串有自己的数字字符对照编码,对于我们是未知的;
Java——不同数据类型的输入输出方式与转化方式_第14张图片

(3)int 转化为 String 类型

        int a=33;
        String s1 = a+"";
        String s2 = String.valueOf(a);
        String s3 = Integer.toString(a);
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);

Java——不同数据类型的输入输出方式与转化方式_第15张图片

(4)String 转化为 int 类型

        String s="12";
        int a1=Integer.parseInt(s);
        System.out.println(a1);

Java——不同数据类型的输入输出方式与转化方式_第16张图片

(5)String 转化为 char 类型

        String s="sos";
        char[] c=s.toCharArray();
        char c1 = s.charAt(0);
        char c2 = s.charAt(1);
        char c3 = s.charAt(2);
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);

Java——不同数据类型的输入输出方式与转化方式_第17张图片

(6)char 转化为 String 类型

        char[] ch= {'a','b','c'};
        String s = String.valueOf(ch);
        System.out.println(s);

Java——不同数据类型的输入输出方式与转化方式_第18张图片

你可能感兴趣的:(java,string,数据类型,character)