首页 > 编程语言 >Day3 java数组和方法的学习

Day3 java数组和方法的学习

时间:2022-09-18 00:01:31浏览次数:68  
标签:调用 java Day3 C++ 参数 数组 方法

Day3

Java方法

什么是方法

理解上,方法和C++的函数差不多,即实现某个功能语句块的集合,尽量保证一个方法只完成一个功能。

命名规则,首字母小写后面新单词大写 类似 studentLearn

方法的重载

在一个类里面方法名称相同但参数不同,名字可以相同

仅仅返回类型不同是无法构成重载的

编译器根据调用方法的参数个数,参数类型去匹配,如果失败,则报错

不过倒是想到一个,如果在不同的类但是有一个相同名称的方法需要调用,实验了一下发现只需要把这个类的包补缺就可以了

命令行传参

传递命令行参数给main函数实现,这个是第一次见,使用main函数

在实验的时候还爆了一个错,看了一会才发现用的for循环的变量i,设置的是<=args.length,导致数组溢出.

可变参数

也叫不定项参数,在方法声明中,在指定参数类型后面加一个省略号(...)

一个方法中只能声明一个可变参数,而且必须是方法的最后一个参数

也就是最后的一个参数相当于一个数组 这样相当于C++在调用数组是用指针来调用差不多,也差挺多,这个是直接就把数组取出来了

递归

总的来说就是自己调用自己,java运行死循环递归后会报错栈溢出

递归分两个部分

一个递归头,不调用自身,如果没有就会陷入死循环

一个递归体,调用自身

当初用C++递归来实现深搜,可以用java试一下

C++做一道算法题先

一道数学算法题,优化一下公式,把O(n3)优化到O(n2)结束,比较常规,可能给的数值比较小

不过做这个的时候倒是学了一个新方法,判断整数,因为浮点数有误差只能0.00000001,所以我用来判断整数的方式是一个向上取整一个向下取整,来判断两个值是否相等。这样就完成了判断整数。

数组

数组的声明和创建

int[] nums;  //首选
int nums[];  //和c++定义方法一样,但不是java的首选  就是让C++程序员适应的

使用new操作符来创建数组

int [] arrayname=new int[arraySize]

获取数组长度

array.length

内存分析

存放new的对象和数组

可以被所有线程共享,不会被存放在别的对象引用

存放基本变量类型(会包含基本变量的数值)

引用对象的变量(会存放这个引用在堆里的具体地址)

数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

方法区

可以被所有线程共享

包含了所有class和static变量

数组初始化

静态初始化和动态初始化

静态就是在声明的时候直接赋值,以后也就不能改了

动态初始化是声明后没赋值,数组一但分配空间之后,每个元素都会被隐式初始化。

下标越界

下标的合法区域在[0,length-1]

思考

方法就和C++的函数一样,比较容易理解。

数组的声明[]是连着类型符号一起的,当然C++那种创建数组的方式也可以。

数组也是对象,数组元素相当于对象的成员变量,毕竟和C++不同,java的数组还有方法可以用

明天继续二维数组和面向对象的学习。

标签:调用,java,Day3,C++,参数,数组,方法
From: https://www.cnblogs.com/guoyifan/p/16703992.html

相关文章

  • Java 序列化
    Java序列化当一个对象需要持久化(存储)或者传输的时候,就用到了序列化。对象可以转换成字节序列,该字节序列包括这个对象的数据和类型信息也包括存储在对象中数据的类型。将......
  • 第 30 题:两个数组合并成一个数组
    请把两个数组['A1','A2','B1','B2','C1','C2','D1','D2']和['A','B','C','D'],合并为['A1','A2','A',......
  • Java
    Java概念简述基本环境JVM:Java虚拟机(Java程序是运行在JVM上的,不同平台的JVM实现了Java程序的跨平台运行)JRE:Java运行环境(JRE=JDK+核心类库和相关文件)JDK:J......
  • Java报错Failed to read candidate component class: file
    java.io.IOException:ServerreturnedHTTPresponsecode:500forURL:http://localhost:8080/xxxxxx/getJcpeizhisatsun.net.www.protocol.http.HttpURLConnection.......
  • JAVA 环境搭建(java 8为例)
    JAVA环境搭建下载JDK(java8为例)JDK下载地址:直达JDK镜像网站:编程宝库 javajdk镜像  安装JDK(java8为例)双击启动下载的exe文件单击下一步   可以......
  • JavaSe-day02-基本概念
    Java基本语法本章内容有注释,关键字,字面量,变量!注释什么是注释注释是在程序指定位置添加的说明性信息,就是对代码的一种解释。注释的分类1.单行注释格式://注释信息......
  • 微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(一) 之 环境搭建及
    一、前言半年前,偶然在视频号刷到某机构正在直播讲解Playwright框架的使用,就看了一会,感觉还不错,便被种草,就想着自己有时间也可以自己学一下,这一想着就半年多过去了。读到......
  • JavaGUI(一)——布局
    AWT编程AWT简介当JDK1.0发布时,Sun公司提供了一套基本的GUI类库,这个GUI类库希望可以在所有平台下都能运行,这套基本类库被称为“抽象窗口工具集(AbstractWindowToolkit)”,......
  • Java学习心得1
    学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘......
  • Java学习心得2
    在学习Java的过程中我得出这样的结论:1.学习中,要养成良好的习惯(写括号时要成对,字母大小写要区分,单词拼写要准确)。2.在学习的过程中,最好不是仅仅停留在java表层,不是抄书上的......