zoukankan      html  css  js  c++  java
  • java课后作业

     数据存储在内存中都是存储的二进制,其中首位是符号位,二进制又可分为原码、反码、补码。最终存储在内存中的是“补码”, 一个正数的原码、反码、补码都是它的二进制表现形式。一个负数的原码是首位为1的二进制数。反码是符号位不变,其他位取反。补码是反码加1。Java在计算机中,数值一律使用补码来表示的。正数:补码=反码=原码;  负数:负数反码除了符号位不变,其他位取反,补码=反码+1;

       在Java中,short是16位,范围是-128到127,int是32位,范围是-32768到32767,long是64位,范围是-2147483648到2147483647,float是32位,范围是1.4E-45到3.4028235E38,double是64位,范围是4.9E-324到1.7976931348623157E308。从表中可以看出来浮点数的范围比整形到大,但是从整形到浮点型强制转换的时候会出现精度损失。

    1. java的基本运行单位是类。
    2. 类是由数据成员,方法(函数)构成的。
    3. 变量的类型之间可以互相转换,即强制类型转换,但是由整形转化为浮点类型会有精度损失。
    4. String是一个类而不是数据类型。
    5. Static是静态数据类型。

    java里面,在同一个作用域下,不能定义一样的标识符。因为,他需要保证你在某个作用于下使用某个标识符的时候,JVM能够正确进行区分!所以,实际上,全局变量和局部变量和内存并不存在绝对直接的关系。实际上,不管是全局的还是局部的变量,他的标识都是保存在栈里面的。

    成员变量作用域在整个类,但是可以重复定义。成员变量会被屏蔽,如果想获得成员变量,需要使用this操作符。

    public static void main(String[] args) {

            int x=100,y=200;

            System.out.println("x+y="+x+y);

          System.out.println(x+y+"=x+y");

    原因是只要+运算符的一个操作数类型是字符串类型,编译器就会把另一个操作数转换成字符串类型。

    Double 类型计算精度问题:

    我们输入的十进制数字会先转换成二进制,进行运算后再转换为十进制输出。然而问题在于转换为二进制的时候,有些数字不能完全转换,只能无限接近于原本的值,这就导致了在后来的运算会出现不正确结果的情况。

  • 相关阅读:
    关联本地代码的方式 HTTPS和SSH---Gitee码云
    详解elementUI表单的验证规则---vue(基本用法)
    vscode 设置缩进 4
    vue的图片懒加载
    A complete log of this run can be found in问题解决
    简单直观的搞懂Vue3的ref、reactive、toRef、toRefs
    vue-cli3.0 引入外部字体并使用
    迅为与龙芯强强联合匠心之作iTOP-2K1000开发板正式发布
    迅为RK3399开发板外接固态硬盘测试
    迅为i.MX6Q开发板Ubuntu20.04 Can通信
  • 原文地址:https://www.cnblogs.com/g414056667/p/11544069.html
Copyright © 2011-2022 走看看