函数
方法定义
修饰符
返回值类型
函数名
参数列表
函数体
如果有返回值,则称为带返回值的方法,否则就称为void方法
1 修饰符 返回值类型 方法名(参数列表:参数类型 顺序 个数){
2//方法体;
3}
实际参数和形式参数
实际参数:当调用方法中,就给参数传递一个值,这个值就为实际参数
形式参数:定义在方法头中的变量为形式变量
参数传值
方法重载
方法重载的定义:方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。
方法重载的条件:Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数即参数个数不同或者类型不同。
方法重载的注意项:Java的方法重载要求同名的方法必须具有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。
具体规范:
一 方法名一定要相同
二 方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体
1 如果参数个数不同,就不管它的参数类型
2 如果参数个数相同,那么参数的类型必须不同
三 方法的返回类型、修饰符可以相同,也可不同
变量的作用域
局部变量:如果在成员内部定义一个变量,那么这个变量被称为局部变量;局部变量是在方法被执行时创建,在方法执行结束时被销毁。局部变量在使用时必须进行赋值操作或者被初始化。
局部变量的有效范围从该变量的声明开始到该变量的结束为止
1public void doString(String name){
2 int id=0;
3 for(int i=0;i<10;i++){
4 System.out.println(name+String.valueof(i));
5 }
6}
1-6是局部变量id的作用范围,3-4是局部变量i的作用范围
常用数学函数
三角函数:
指数函数:
取整函数:
min max和abs方法:
min和max用于返回两个数的最大最小值,abs返回绝对值
Math.max(2,3)返回3
Math.min(2,4,5,6)返回2
Math.abs(-2,1)返回2,1
random方法
生成大于等于0.0且小于1.0的double型随机数
(int)(Math.random()<1.0)*10 返回0-9之间的一个随机整数
50+(int)(Math.random()*50) 返回50-99之间的随机整数
a+Math.random()*b 返回a~a+b之间的一个随机参数,不包括a+b
示例:计算三角形的角度
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter three points:");
//1输入坐标
double x1=scanner.nextDouble();
double y1=scanner.nextDouble();
double x2=scanner.nextDouble();
double y2=scanner.nextDouble();
double x3=scanner.nextDouble();
double y3=scanner.nextDouble();
//计算边长
double a=getDistance(x2, y2, x3, y3);
double b=getDistance(x1, y1, x3, y3);
double c=getDistance(x1, y1, x2, y2);
//3计算三个角的角度
double A=getDegree(a,b,c);
double B=getDegree(b, a, c);
double C=getDegree(c, a, b);
System.out.println("The three angles are "+A+","+B+","+C);
}
public static double getDegree(double acrossSide,double neighberSide1,double neighberSide2){
//弧度值
double degree=Math.acos( (Math.pow(acrossSide, 2)-Math.pow(neighberSide1, 2)-Math.pow(neighberSide2, 2))/(-2*neighberSide1*neighberSide2) );
//将弧度值转换为角度值
return Math.toDegrees(degree);
}
public static double getDistance(double x1,double y1,double x2,double y2){
double distance=Math.sqrt(Math.pow(x1-x2, 2)+Math.pow(y1-y2, 2));
return distance;
}
}
String相关函数
求字符串长度
String message = "Welcome to Java";
System.out.println("The length of " + message + " is "
+ message.1engthO);
从字符传中获取字符
方法s.charAt(index)可用于提取字符串S中的某个特定字符,其中下标index的取值范围在0~s.length()-1。在字符串s中越界访问字符是一种常见的程序设计错误。为了避免此类错误,要确保使用的下标不会超过s.length()-1。
连接字符串:可以用以下方法连接两个字符串
String s3=s1.concat(s2);
String s3=s1+s2;
字符串的转换
方法toLowerCase()返回一个新字符串,其中所有字母小写;方法toUpperCase返回一个新字符串,其中所有字母大写。
"Welcome".toLowerCase()返回一个新字符串welcome
"Welcome".toUpperCase()返回一个新字符串WELCOME
从控制台读取字符串
Scanner input=new Scanner(System.in);
System.out.println("enter three words separated by spaces:");
String s1=input.next();
String s2=input.next();
String s3=input.next();
System.out.println("s1 is "+s1);
System.out.println("s2 is "+s2);
System.out.println("s3 is "+s3);
从控制台读取字符
为了从控制台读取字符,调用nextLine()方法读取一个字符串,然后在字符串上调用charAt(0)来返回一个字符。
Scanner input=new Scanner(System.in);
System.out.print("enter a character:");
String s=input.nextLine();
char ch=s.charAt(0);
System,out,println("the character entered is"+ch);
字符串比较
if(string1.equals(string2))
System.out.println("string1 and string2 have the same contents");
else
System.out.println("string1 and string2 are not equal");
例如
String s1="Welcome to Java";
String s2="Welcome to Java";
String s3="Welcome to C++";
System.out.println(s1.equals(s2));//true
System.out.println(s1.equals(s3));//false
comparesTo方法也用来对两个字符串进行比较
s1.compareTo(s2):如果s1与s2相等,那么该方法返回值0;如果按字典顺序(即以Unicode码的顺序)s1小于s2,那么方法返回值小于0;如果按字典顺序s1大于s2,方法返回值大于0.方法comepareTo返回的实际值是根据s1和s2从左到右数第一个不同字符之间的距离得出
获取字符串中的字符或子串
获取子字符串
String message="Welcome to Java";
String message=message.substring(0,11)+"html"
//字符串message变成了Welcome to html
获取字符或子串
"Welcome to Java".indexOf('W') returns 0;
"Welcome to Java".indexOf('o') returns 4;
"Welcome to Java".indexOf('o',5) returns 9;
"Welcome to Java".indexOf("come") returns 3;
"Welcome to Java".indexOf("Java",5) returns 11;
字符串和数字间的转换
可以将数值型字符串转换为数值。要将字符串转换为 int 值,使用 Integer.parselnt方法,如下所示:
intString 是一个数值型字符串,例如"123"
int intValue=Integer.parseInt(intString);
doublestring是一个数值型字符串,例如"123.45"。
double doubleValue=Double.parseDouble(doubleString);
可以将数值转换为字符串,只需要简单使用字符串的连接操作符:
String s = number +""