新兵日记---java语法初体验

  刚刚结束了java语法的学习,和之前学习的c++做一下对比.

  1. 主要用途方面 

     java 适合待在服务器里,适合于后端开发,尤其是Web后端 ,有各种成熟的框架 , 有健全的生态环境。

  手机领域,大数据领域等等

    c++ 原本是想着做GUI, 结果发现MFC早就衰落,  GUI逐渐脚本化。

  c++用于底层开发,高性能领域 ,如游戏服务器后台,游戏开发,图像,流视频,引擎,底层通信等等

  2.初始java语法

    java语法比c++简单,提供了健全的内置类,如:String,StringBuffer。

    

    最大的感受就是java舍弃了指针.  

    c++:

     创建对象两种方法 ,讨论明示创建对象,返回对象不算

    (1)类  对象();         如:   Student stu();

      在函数(方法)栈区分配Student 对象,对象是临时对象,用stu变量名标示,函数结束即被销毁

     (2)   类 对象=new 对象;    如:   Student * stu=new Student();

      在堆区分配Student对象,用 stu 指针标识,该对象不会自动销毁,需要由程序员决定何时销毁.

  

    java : 

    Student stu=new Student();

    对象全部在存储在 堆区,由 stu 标识符标识,此标识符不是指针,底层是指针,是引用数据类型,和c++语法中的引用类似,标识这保存在堆区的Student对象

    可以标识其他对象 :    Student stu1=new Student();      stu=stu1;    stu转向标识stu1的对象,stu原本标识的对象就找不到了。

    找不到不用担心,java由虚拟机释放内存,不用担心内存管理问题,所以学习c/c++的基础现在看来十分重要,因为有了底层的指针知识,才能更好地抽象

    

    String str="123";       

    "123"会隐式地创建了String对象   

     str 标识该对象

      str="321";    

     str并非赋值,而是重新标识到 "321"对象;

    此时原来的"123"对象没有被引用,就可能被虚拟机销毁

    数组也改成了堆区分配,数组类型是引用类型

   

    今天先学习了这么多,也是我的第一篇博客,可能有很多写的不好的地方,和知识点理解错误,我会日后重新纠正,也欢迎大家批评建议

猜你喜欢

转载自www.cnblogs.com/xiejianan/p/11331273.html