数学函数
随机数
// 得到一个随机数
double value = Math.random();
System.out.println(value);
如上代码,Math时Java提供的类用于提供数学计算的,random就是方法,其中Math.random()方法用于返回一个随机数,范围在0.0=<Math.random<1.0(随机数是任意位小数)
为了得到0-9之间的随机数,需要乘10
// (value*10) 用小括号包围是因为先乘10得到结果在转化为整数
// 要不然得不到结果,这个就是数学的优先级
int nValue = (int) (value*10);
为了让第一位不永远是1,我们可以做出以下修改:
/**
* 得到验证码
*/
public static void code(int len){
// 得到随机数结果
double val = Math.random();
// 随机数结果*9+1 然后再乘以位数得到验证码
int result = (int)((val*9+1)*len);
}
自定义方法
main方法
main方法是程序执行的入口
// 固定的方法格式,main方法用于启动程序
public static void main(String[] args){
}
总结一下方法的语法就是
// public(公共的) static(静态) void(空类型)
public static void 方法名称(方法参数){
代码块
}
这里除了main和Java的关键字之外,方法名称可以任意的英文单词。
驼峰式命名
这是Java里的命名规范,比如用户名称是UserName,这个大写的U和N就像驼峰一样。
小驼峰
方法名遵守的是小驼峰,和驼峰的区别是第一个单词是小写的
// 密码
public static void password(){
//代码块
}
// 我的文档
public static void myDocument(){
//代码块
}
自定义方法调用
方法创建成功后去执行这个方法的行为称为:方法调用
public class Custom {
public static void main(String[] args){
System.out.println("测试");
// 这里执行一下 newLine 这个自定义方法的调用
newLine();
System.out.println("结束");
}
public static void newLine(){
System.out.println("");
}
}
代码编写时,一定是先定义方法,再调用方法。但是自定义的方法都是在class类中的,方法的顺序无所谓,放在main的前后都可以,但是方法内不能这样新建方法。
实际上方法可以被任意调用多次,newline方法里面也可以调用其他方法:
public class Custom {
public static void main(String[] args){
System.out.println("测试");
newLine();
newLine();
System.out.println("结束");
}
public static void newLine(){
System.out.println("");
// 调用下面的 format 方法
format();
}
//格式化输出内容,这里只是为了测试方法的调用
public static void format(){
System.out.println("------------");
}
}
方法参数
public class Custom {
public static void main(String[] args) {
random();
code();
}
/**
*生成6位随机数
*/
public static void random(){
int code = (int) ((Math.random()+1) * 100000);
System.out.println(code);
}
/**
*生成4位随机数
*/
public static void code(){
int code = (int) ((Math.random()+1) * 1000);
System.out.println(code);
}
}
上面的代码中,random和code函数没有太大的区别,只有*10000和*1000这个行为的区别
而方法参数可以解决这个问题。
public class Custom {
public static void main(String[] args) {
random(100000);
random(1000);
}
/**
*生成随机数
*/
public static void random(int length){
int code = (int) ((Math.random()+1) * length);
System.out.println(code);
}
}
其中random后面的括号里就是方法参数(参数类型+参数变量名),实际上方法参数和声明变量没有区别,只是这个变量是要定义在方法参数这个位置里,编程语言里把这个声明的变量叫做形参。
方法调用
如果方法有了参数声明,就必须要传入参数,否则会编译失败。这个参数可以是变量,也可以是数值,但数据类型要匹配,这个传递的变量就是实参。
// 直接传值
random(100000);
// 传递变量
int len = 100000;
random(len);
多参数方法
public class MessageCode {
public static void main(String[] args) {
String text = "亲爱的优快云用户,你本次的验证码是";
code(text,1000);
}
public static void code(String text,int len){
int code = (int)((Math.random()+1)*len);
System.out.println(text+"【"+code+"】");
}
}