代码改变世界

方法

2019-09-29 17:58  老九君  阅读(131)  评论(0编辑  收藏  举报

方法

1.方法的种类

内置方法

●由JDK类库提供

●需要导入相应的包

 

java.lang.*(默认导入,不手动导入也可以使用)

System.out------输出

System.in------输入

System.out------退出程序

Math.random();------生成[0, 1)内的随机数

Integer.parseInt();------将括号内数据转换成整型

 java.util.*(java的工具包)

Calendar.getInstance();------获得指定时间点

Arrays.sort();------方法的种类

①内置方法

●由JDK类库提供

●需要导入相应的包

 

 

 

javax.swing.*

Collections.binarySearch();

JoptionPane.showMessageDialog();

 

②自定义方法

●不带参数

●带参数

 

可以发现,num1和num2的值并没有变化,原因是:方法里的num1和num2是形参,通俗来说是main函数内num1和num2的副本,它们虽然和main函数内的num1和num2的值一样,但是在虚拟机中的哈希码不一样(可以理解为地址不一样),改变方法中num1和num2的值不会改变main函数内num1和num2的值。

就好比你叫蔡徐坤,他也叫蔡徐坤(有着同样的名字),你们都会打篮球(有着同样的值),但是他练习时长两年半,而你没有练习,所以他当了NBA形象大使,他的值就改变成NBA形象大使,虽然你们都叫蔡徐坤,但是你的值没有变,你还是只会打篮球,没有成为NBA形象大使。

 

2.一些知识点

●static修饰的方法一般被称作静态方法。

●方法名前加上static方便在没有创建对象的时候调用,如果不在静态方法的类中,那么就需要使用类名.静态方法的方式调用静态方法。在调用不同包的静态方法时,需要首先导入包。

●java.util.*加*代表导入包内所有的类。

●静态方法的名字首字母1大写

 

3.三角函数

Math.PI/Math.E------圆周率的近似值/算术常量e的值

Math.sin(radians)------返回角度的三角正弦函数值(以弧度为单位)

Math.cos(radians)------返回角度的三角余弦函数值

Math.tan(radians)------返回角度的三角正切函数值

Math.toRadians(degress)------将以度为单位的值转换为弧度

Math.toDegress(Radians)------将以弧度为单位的值转换为度

Math.asin(radians)------返回角度的反三角正切函数值

Math.acos(radians)------返回角度的反三角余弦函数值

Math.atan(radians)-----返回角度的反三角正切函数值

 

4.数学函数

Math.exp(x)------返回算术常量e的x次方

Math.log(x)------返回以e为底x的对数--Math.log(Math.E)的值为1.0

Math.log10(x)------返回以10为底x的对数

Math.pow(a, b)------返回a的b次方

Math.sqrt(x)------对于0以上的数字,返回x的平方根

 

5.取整方法

Math.ceil(x)/Math.floor(x)------向上/向下取整最接近x的整数

Math.rint(x)------取整最接近x的的整数,如果距离相等,则返回偶数

Math.round(x)------四舍五入取整--返回(int/long)Math.floor(x + 0.5)

 

6.递归

递归需要包含:递归头(没有递归头将陷入死循环),递归体(什么时候需要调用自身的方法)

以下为我原来c语言老师所写

 

 

 

*************** 变量的存储类别,局部与全局变量 ***************

局部变量:函数内定义的变量,局部可见

全局变量:函数外定义的变量,全局可见

四种存储类别:auto, register, static, extern

 

 

生存期(变量在时间上的有效范围)

作用域(变量在空间上的有效范围)

(auto)局部变量

定义->所在函数(语句块{})执行结束

所在函数函数(语句块{})内部

(static)局部变量

定义->整个程序结束

所在函数函数(语句块{})内部

全局变量(默认为 extern)

定义->整个程序结束

定义->整个程序末尾

(static)全局变量

定义->整个程序结束

所在源程序文件内部

 

静态和全局变量都在静态数据区,变量默认初始值为 0;

形式参数的变量,本质是局部变量,属于其所在的函数,且只在其函数范围内有效。

 

***************  递归  ***************

递归:函数调用自身,就像电影中的“梦中梦”,梦醒的时刻所在的地方一定是当初做梦的地方;同样,某一次递归 调用结束时所在的地方一定是上一次函数调用的地方。

递归是函数层面上的循环,也要注意查看三要素。

函数调用是在栈上完成的,所以,递归调用后面的执行语句与调用顺序刚好相反。例如:

void digui(int a)

{    

if (a > 0)    

{        

digui(a-1); //递归调用        

printf("%d ", a); //输出语句在递归调用之后执行    

}

}

int main()

{    

digui(5); // 递归调用过程中,每次得到的参数顺序是 5 4 3 2 1,但是输出则是逆过程    

return 0;

}

板书代码:https://paste.ubuntu.com/p/NZqWGgPRRv/

 

***************  数组  ***************

数组是一种构造数据类型,特点:同类型,连续存放

 

数组定义格式: 类型名 数组名[常量(长度)]

注意:①数组长度用常量,长度最好比问题的边界值稍大;②数组之间不能整体直接赋值

 

数组元素的引用:数组名[下标]

注意:①下标从 0 开始;②不要越界访问

 

数组作为函数形式参数的格式: 类型名 数组名[]      函数调用时,实际参数格式: 数组名 数组做参数时,数组和数组长度成对出现于参数中;实参中的数组和形参中的数组,都是同一个数组,即 实参数组。 板书代码: https://paste.ubuntu.com/p/RQpFQyRhR3/ https://paste.ubuntu.com/p/8FcqMzMZMd/

 

老九学堂会员社群出品