zoukankan      html  css  js  c++  java
  • 变量 声明、存储和范围

    变量声明

    最终基类。

    java在所有的类的从单个基类终于继承——Object

    向上转型:子类转换为基类。向下转型与之相反。

    String str; //仅仅是创建引用,并没有创建对象。

    变量存放

    寄存器

    c++能够向编译器建议变量存放在寄存器中。而java不能。

    栈(一些书称为“堆栈”)

    位于内存中。

    创建的引用位于栈中。

    位于内存中。

    java全部对象都存在这里。

    代码段

    代码与常量。

    RAM(即内存)

    主要的样例是 流对象 和 持久化对象。在流对象中。对象转化成字节流,通常被发送给另外一台机器。在持久化对象中。对象被存放在磁盘上,因此即便程序终止。对象仍能够保持自己的状态。

    基本类型

    用 new 创建容量小的、简单的变量效率不是非常高。

    因此对于int char float等基本类型。javac採用同样方法。不使用“new”来创建,存放于栈中。

    java中基本类型所占字节大小不随硬件不同而不同,故更具有可移植性。

    java元素类型 所占字节 包装器类型
    boolean - Boolean
    void - Void
    byte 1 Byte
    char 2 Character
    short 2 Short
    int 4 Integer
    float 4 Float
    long 8 Long
    double 8 Double

    java不会将int自己主动转换为boolean。所以if(intNum){...}不会通过编译!

    基本类型相应的包装器类,使得能够在堆中创建一个非基本对象。用来表示相应的基本类型。

     全部数值类型都是有符号的。

    高精度数字

    BingInteger 和 BigDecimal

    类型转换

    float或double转为int型时,会截尾而不是四舍五入!

    如 float a=0.7;(int)a会得到0.

    double%10 不是整数!

    !!

    。!

    void IntToBytes(){
    		int x=257;
    		byte[] b2=new byte[2];
    		b2=new byte[2];
    		b2[0]=(byte)x;//溢出是不做检查的  c#会
    		b2[1]=(byte)(x>>8);
    		//此时b2为 [1,1]=2的8次方+2的1次方=257
    	}


    结构全然一样的不同名字的类也不能互转。

    public class A {
    	int x,y;
    	public static void main(String[] args) {
    		Object x=new A();
    		B z=(B)x;//Exception in thread "main" java.lang.ClassCastException: A cannot be cast to B
    				//at A.main(A.java:8)
    	}
    }
     class B {
    	 int x,y;
    }
    

    数组

    C中为了提高执行效率。不检查数组下标越界,程序就能够跑得快。

    java永远都做越界检查。

    作用域

    C++中,变量作用域由花括号的位置决定。java与此既有联系又有差不要。

    在同一个地方:可变范围由放置花括号的决定。

    差异:



  • 相关阅读:
    IconRes提供免费高质量的Material风格android官方图标库
    android中的所谓观察者模式
    Android总结篇——Intent机制详解及示例总结
    SpringMVC注解@initbinder解决类型转换问题
    ubuntu16.04上安装tomcat7
    ImportError: No module named corsheaders
    linux 网卡
    工控机安装Ubuntu14.04
    python2安装django
    Ubuntu14.04 terminal添加右键
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4750232.html
Copyright © 2011-2022 走看看