Java第五天

函数

方法定义

修饰符
返回值类型
函数名
参数列表
函数体
如果有返回值,则称为带返回值的方法,否则就称为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 +""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值