java基础系列(二)

1.前言

        在上一节中,我们讲述了java的基本数据类型、逻辑运算符、“+”号等基础知识,这一节,我们继续来学习java基础部分,当然在开始前,我仍然建议大家在看看面向对象的编程思想!

       【5分钟通俗讲解面向对象编程】

      https://www.bilibili.com/video/BV1pq4y1t7nAshare_source=copy_web&vd_source=9e33e4032ae15af481a3da44421b2170

2.控制流程

        java的控制流程与C语言基本一致,都是顺序编译,使用if 、while 、for 、switch等语句来进行逻辑控制,但是java也有自身的特点,那就是代码块的应用,中断方法,但这一些内容我打算在后面介绍,接下来我们先简单介绍我们熟悉的老朋友。

        首先,对于IF语句,我相信大家都不会感到陌生,这里我也不过多的去说明,只想说一些小的细节点,java中的IF语句,是不存在像C语言一样可以以1为真,0为假的判断的 。原因也很清楚,IF语句需要传入的是一个布尔值,而java中的布尔值只能是true or false。

        其次,对于while语句、switch ,他们的用法也基本与C语言的用法保持一致,这里不过多赘述,当然while语句中也存在着和IF一样的要求,不能写成while(1)的形式。

        对于for循环,在java中,for循环有两种,第一种就是我们最常见到的一种,如图所示,这一种写法基本没有什么难度,这里就不多讲了。

         对于第二种写法,我们称之为增强for循环,这是一种不需要赋值变量来控制的for循环,他的右边是一个引用对象,如数组,列表等。它的左边是数组中对应的值。这一种写法我们可以先在这里简单的了解,在后面我们会有深入的说明。

3.数组

        3.1、一维数组

        还记得我们在上一章讲到的String吗?我们说过String是一个引用类型,那么构成String类型的数组类型是不是引用类型呢?毫无疑问数组当然也是一种引用类型。

        这里类比一下C语言的数组,我们都知道在C语言中,数组其实是地址,那么对于java中的数组,是不是也是一样的呢?答案是是一样的。所以数组所引用的地址,就是首元素的地址。

        首先,我先演示一下数组是如何创建的,以整形数组为例子, int[] arr = new int[size];

        

         看到这个我想,小伙伴们一时有些冲击感,为什么【】写在前面,new又是什么?别着急,听我仔细讲解。

        对于【】的位置,java中既可以写在数组名的前面,也可以写在数组名的后面。

        至于new是什么,new是一个很神奇的东西,从我个人认知来说,基本等于“创造”这个词,上面这句话可以解释为,创造一个大小为5的数组赋值到arr上。我们说过数组是一个引用类型,那么他引用的地址从何而来呢?当然是new出来的了。我们本质上是在堆中开辟(new)了一个地址,在栈中引用这个地址。

         明白了这些,我们开始正式的介绍数组了。

         int[] 是数组类型,arr是数组名,new是创造,int【size】是创建的数组有size大小

         在java中,创建数组有三种方式:

         第一种 : 直接new;

         第二种 : 先设置一个空壳,在后面new;

         第三种 : 直接赋值;

         这三种方式各有各的好处,具体的使用要看场景的不同而选择。

        前面说过,数组是一种引用类型,我们在数组与数组,数组与元素之间赋值时,一定要注意以下情况:

        同时,我们需要要求出数组的长度,不是C语言中的sizeof或strlen,而是arr.length;

         3.2、二维数组

        java中的二维数组,与C语言中一样是以两个【】【】来表示,其创建方法与上面讲解的一维数组一致,以整形数组为例子,int【】【】 arr = new  int【2】【3】,这就表示创建一个2行三列的二维数组。

        当然,除了储存的用法和C语言差不多外,java的二维数组有其自身的特殊性,可以允许每一行的元素不一致,准确的说是允许每一个一维数组所含的元素不一致。在回答这个问题前,让我们来看看它的内存图。

        

        我们可以看到,数组名引用的是,堆中的一个内存地址,这个内存地址又包含了两个小的内存地址,两个小的内存地址又分别指向了新的内存地址,这样说可能会比较抽象,arr一开始引用的小内存地址中包含的两个,便是一维数组,每一个一维数组又分别指向了新的内存地址,这也就是允许元素不一致的根本原因,我们之间相互不影响。

        

         其他的用法基本是C语言中的了,如果还有什么其他用法,我会在之后的章节中进行补充。

4.结语

        本章讲述了进入java前的最后一个版块,从明天开始,我们将正式进入到java的世界,类与对象中去深入学习,谢谢观看!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值