• Java基础——基础数据类型与读入输出


    首先我们写完了HelloWorld就学会了java的一种输出

    System.out.println()

    用起来就像是被强化过的C++的puts函数

    或者就是自带endl的cout函数,中间的" << " 直接用“ +”代替了

    非常直观的一个输出函数,同理

    System.out.print() 就是个不带endl的cout

    再然后我们可以发现还有System.out.printf()

    这个方法是和C++的printf基本一样的

    这3个输出方法都是不需要导入任何库的

    然后我们尝试拿java写简单题目

    遇到的第一个困难就是如何读入数字

    然后看别人的java代码就发现了一个东西

    Scanner类!直接上怎么用!

    1 import java.util.Scanner;
    2 
    3 public class C {
    4     public static void main(String []args) {
    5         Scanner input = new Scanner(System.in);
    6         int a = input.nextInt();
    7         double b = input.nextDouble();
    8     }
    9 }

    看起来System.in就像C++的stdin标准输入流

    然后重定向一下,用不同的Scanner类中方法来读入

    (上面是我脑补+口胡的...如有错误欢迎指出)

    记得导入java.util.Scanner

    然后读入数字的问题就解决了

    接下来很快遇到了下一个问题

    读入一个字符矩阵!

    我们选择使用String数组来存储

    那选择的方法呢?Scanner类中有方法nextLine()

    其功能就类似于C++的getline,获取一行的读入并返回一个String类型

    那么如何遍历String中的字符呢,很不幸对于String类的对象s

    我们并不能像C++一样使用s[i] 来遍历元素

    幸好String类中有方法 charAt() 

    s.charAt(i) 就起到了s[i] 的作用

    那么这个问题就解决了。

    最后是乱七八糟的碎碎念:

    1.整数类型有byte, short, int, long,多了个byte比较猎奇...范围大小分别 2^8, 2^16, 2^ 32, 2^64

       浮点型float, double, 倒是没有了肥肠奇妙的long double

       整数数字默认为int类型,浮点数数字默认为double类型

       所以给一个long类型变量赋初值,需要在数字最后面加上L,比如

       long x = 123456789123456L;

    2.奇妙的类型转换

       整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算

       从低级到高级可以实现自动类型转换

        ------------------------------------>

    byte,short,char—> int —> long—> float —> double      

    3.数据类型转换有几个规则...

      (1)不能转换boolean类型...已经习惯了true当1, false当0的我非常难受...

      (2)高级到低级必须强制类型转换,举个例子 short x = (short)233

           这里233被默认为int类型,赋值给short类型的变量要经过这样的强制类型转换

      (3)高级到低级的强制类型转换可能损失精度或者溢出

      比如byte x = (byte)128 输出结果 x = -128 就是因为溢出

            比如float x = (float)0.111111111111 输出 x = 0.11111111 就是损失了精度

      (4)浮点数到整数是舍去小数得到,不是四舍五入!(int)4.9 = 4

      (5)不能把对象类型转换成不相关类的对象

    4.啊!Java没有逗号!超级难受!

  • 相关阅读:
    Java——多线程之方法详解
    Java——深入理解Java异常体系
    Java——Java代码的执行顺序
    Java——抽象类与接口的前世今生
    存储系列之 LUN 和 LVM
    存储系列之 RAID技术原理简介
    存储系列之 硬盘接口与SCSI总线协议
    存储系列之 介质(软盘、硬盘、固态)和磁盘寻址
    Redis设计原理简介
    MySQL InnoDB索引介绍以及在线添加索引实例分析
  • 原文地址:https://www.cnblogs.com/ytytzzz/p/7161271.html
Copyright © 2020-2023  润新知