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

Posted xiejianan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新兵日记---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"对象没有被引用,就可能被虚拟机销毁

 

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

   

 

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

以上是关于新兵日记---java语法初体验的主要内容,如果未能解决你的问题,请参考以下文章

Java8初体验Stream语法详解

Java8初体验Stream语法详解

新兵日记--java多线程学习  --如何创建线程

golang 初体验 - 令人惊叹的语法 - defer.1

学习日记——Java循环结构

我的Go+语言初体验——Go+ 基本语法之 Switch