zoukankan      html  css  js  c++  java
  • Java语法学习1

    //Type.java 学习类型系统:基本,引用
    class Type {
        //主方法【函数】
        public static void main(String[] args) {
            //Java变量命名和C有区别的一点就是首字母可以为美元符号
            byte b,b1;
            b = 100;
            b1 = (byte)128;
            System.out.println(b);
            System.out.print(b1);
        }
    }
    


    一:

    byte存储的取值范围是-128-127,注意整数是从0开始的,1个字节8位,所以2^8-1是最大存储极限。

    但是如果超出了这个范围,在b1中存储的会是什么呢,在命令框用javac Type.java 编译很定会出错,但是b1 = (byte)128,加上括号说明类型后编译(用tuf8编码方式)后显示打印的是-127,这里说明一下超出的就按照走循环路线显示比如byte类型就是0,1,2,3......126,127,-128,-127.....-2,-1,0,1,2,3.............。

    javac -encoding utf8 Type.java

    编译后生成Type.class

    再输入java Type (默认Type后缀有class)

    二:

    100 十进制

    010 八进制

    0xffff 十六进制

    0b1111 二进制

    123L long长整形

    3.1234567F 单精度float型,显示小数点最多7位,不加F是默认双精度double类型

    double最多显示小数点9位,对于金融行业的开发一般用double和float一般精度问题都很糟糕(涛哥说的..)


    三:

    在类型运算上,好像和C/C++差不多,不同类型之间的运算遵循类型自动提升规则,即自动转向存储字节大的类型。

    System.out.println(2.0-1.9),结果打印是0.100000009,因为10进制的小数点转计算机存储2进制比如1/10,不断乘2,进位取进位数,继续乘,直到结果为0.但是1/10转成计算机存储的二进制会一直循环下去,就得到不确定的数值,所以一般金融行业不用Java的浮点数,用Java的大整数类。


  • 相关阅读:
    网络协议
    面向对象三大特性之多态
    面向对象三大特性之封装
    面向对象三大特性之继承
    python面向对象编程
    常用模块之configpaser与shutil
    XML模块
    Python模块之OS,subprocess
    Python日志(logging)模块,shelve,sys模块
    Linux 配置 Nginx
  • 原文地址:https://www.cnblogs.com/mingrigongchang/p/6246189.html
Copyright © 2011-2022 走看看