新兵日记---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"对象没有被引用,就可能被虚拟机销毁

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

   

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

原文地址:https://www.cnblogs.com/xiejianan/p/11331273.html

时间: 2024-12-01 19:37:18

新兵日记---java语法初体验的相关文章

黑马程序员------Objective-C语言概述及语法初体验

一.Objective-C(以下简称OC)简介 Objective-C 是在 C 的基础上,加入面向对象特性扩充而成的通用型高级编程语言,也写作 ObjC .Obj-C 和较少用的   Objective C.Objective-C主要应用于 Mac OS X 和 iOS 系统及其相关 API 如Cocoa.Cocoa Touch.Objective-C 最初源于 NeXTSTEP 系统,尔后由 OS X 和 iOS 继承下来.目前主要支持的编译器有 GCC 与 Clang. 在C语言的基础上,

JAVA 8 初体验

Java 8 发布两个多月了,更新了一些特性,其中有接口中可以有默认的实现,lambda表达式.重复注解.时间等等. 今天先探究一下这新增的lambda 表达式功能特性,其他的日后待解. 先来看一个例子,以往版本的实现方法: Runnable oldRunnable = new Runnable() { @Override public void run() { System.out.println("hello,I am panpan"); } }; oldRunnable.run(

Java爬虫初体验

年关将近,工作上该完成的都差不多了,就剩些测试完改改的活,上午闲着就接触学习了一下爬虫,收益还是有的,纠结了很久的正则表达式终于搞得差不多了,Java的Regex和JS上还是有区别的,JS上的"\w"Java得写成"\\w",因为Java会对字符串中的"\"做转义,还有JS中"\S\s"的写法(指任意多的任意字符),Java可以写成".*" 博主刚接触爬虫,参考了许多博客和问答贴,先写个爬虫的Overvie

JAVA的初体验

jdk的地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 第一步:找到相应的JAVA SE版本,点击download 第二步:同意,并下载相应版本 下载慢的请到我百度云下载: 链接:https://pan.baidu.com/s/1_rdWVB0G8b0tvcpsrXcq8Q 提取码:d8pc 第三步:jdk的安装 1.运行,下一步 2.目标文件夹,选择安装目录,下一步 3.安装完成 4.添加系统环境变量

Java8初体验(二)Stream语法详解

原文链接:http://ifeve.com/stream/ 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel aggregate operations. 我们来解读一下上面的那句话: Stream是元素的集合,这点让Stream看起来用些类似Iterator: 可以支持顺序和并行的对原Stream进行汇聚的操作: 大家可以把Stream当成一个高级版本的

Java8初体验(1):lambda表达式语法

原文出处: 一冰_天锦 本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘.因为本人也是刚刚开始学习Java8,所以文中肯定有错误和理解偏差的地方,希望大家帮忙指出,我会持续修改和优化.本文是该系列的第一篇,主要介绍Java8对屌丝码农最有吸引力的一个特性—lambda表达式. java8的安装 工欲善其器必先利其器,首先安装JDK8.过程省略,大家应该都可以自己搞定.但是有一点这里强调一下(Windows系统):目前我们工作的版本一般是java 6或者java 7,所以很多人安

Java8初体验(2):Stream语法详解

原文出处: 一冰_天锦 上篇文章Java8初体验(1):lambda表达式语法比较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例子中有很多Stream的例子.这些Stream的例子可能让你产生疑惑,本文将会详细讲解Stream的使用方法(不会涉及Stream的原理,因为这个系列的文章还是一个快速学习如何使用的). 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequent

【转】Java8初体验(二)Stream语法详解

原文链接 http://ifeve.com/stream/ Java8初体验(二)Stream语法详解 感谢同事[天锦]的投稿.投稿请联系 [email protected]上篇文章Java8初体验(一)lambda表达式语法比较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例子中有很多Stream的例子.这些Stream的例子可能让你产生疑惑,本文将会详细讲解Stream的使用方法(不会涉及Stream的原理,因为这个系列的文章还是一个快速学习如何使用的). 1. Str

Protocol Buffers(protobuf)java初体验

由于项目需要所以简单的研究了下protobuf.我也是参照网上的博客,所以大部分内容我也就不重复造轮子了.首先protobuf介绍点击这里,使用介绍点击这里,使用demo看这里.我个人的第一个例子也是参照这个demo来的,不过其中我有遇到一些问题,所以揪出来说说,也就给自己做个笔记,方便查阅. 基本的东西相信大家也了解了,直接步入主题了: 1.限定修饰符介绍 required\optional\repeated,之前给定的博客已经有这个介绍了我也不多说,这里把一些小玩儿拿出来讲讲 ①.requi