JavaSE function

函数的描述

函数-方法
指的就是一段具有独立功能的代码片段
代码会有重复->代码冗余
修饰符 返回值类型 函数名(参数列表){
函数体
}
修饰符:访问权限
返回值类型:如果需要返回的数据值int 返回值类型int 如果不需要返回数据 返回值类型void
函数名:就是对这一片段进行起名
return:仅仅代表结束当前函数 如果有返回值 则在函数结束时 将数据进行返回
参数列表:函数需要用到的一些数据 可以给 可以不给
函数的重载
在同一类中 如有同名函数 则称之为函数之间为重载关系
重载的前提是 函数重名
与 修饰符 返回值类型 参数列表没有关系
仅仅和参数列表中 参数类型的排列组合有关系

常用数学函数

在这里插入图片描述
sin、cos 和 tan 的参数都是以弧度为单位的角度。asin 和 atan的返回值是-π /2 ~π /2 的一个弧度值,acos 的返回值在 0到π之间。 1°相当于 π /180 弧度,90°相当于 π /2 弧度, 而 30°相当于π/6 弧度

指数函数方法

在这里插入图片描述

min、max 和 abs 方法

min 和 max 方法用于返回两个数(int、long、float 或 double 型)的最小值和最大值。 例如,max(4.4,5.0) 返回 5.0, 而 m*in(3,2) 返回 2。 abs 方法以返回一个数(int、long、float 或 double 型)的绝对值。
例如:
Math.max(2, 3) 返回 3 Math.max(2.Sf 3) 返回 3.0 Math.min(2.5, 4.6) 返回 2.S Math.abs(-2) 返回 2 Math.abs(-2.1) 返回 2.1

random 方法

在这里插入图片描述

特殊字符的转义序列

Java定义了一种特殊的标记来表示特殊字符,如表 4-5 所示。这种 标记称为转义序列,转义序列由反斜杠()后面加上一个字符或者一些数字位组成。比如, \t是一个表示 Tab 字符的转义符,而诸如\u03bl的转义符用于表示一个 Unicode。转义序 列中的序列号作为一个整体翻译,而不是分开翻译。一个转义序列被当作一个字符
在这里插入图片描述

字符的比较和测试

两个字符可以使用关系操作符进行比较,如同比较两个数字一样。这是通过比较两个字符的 Unicode 值实现的
在这里插入图片描述
例如:
System.out.printlnC^isDigitCa’) is " + Character.isDigit(‘a’)); System.out.printlnC’isLetterC’a’) is " + Character.isLetter(‘a’)); System.out.printlnC’isLowerCaseC’a’) is "+ Character.isLowerCase(‘a’));
System.out.println("isUpperCaseC’a’) is " + Character.!sUpperCase(‘a’));
System.out.println("toLowerCaseC’T’) is " + Character.toLowerCase(‘T’));
System.out.println("toUpperCase(‘q’) is " + Character.toUpperCase(‘q’));
显示
isDigit(a’) is false
isLetter(‘a’) is true
isLowerCase(‘a’) is true
isUpperCase(‘a’) is false
toLowerCase(T’) is t
toUpperCase(‘q’) is

String 类型

char 类型只能表示一个字符。为了表示一串字符,使用称为 String (字符串)的数据类 型。例如,下述代码将 message声明为一个字符串,其值为 “Welcome to Java”:
String message =“Welcome to Java”;
String 实际上与System 类和Scanner类一样,都是Java库中一个预定义的类。String 类型不是基本类型,而是引用类型(reference type)。任何Java类都可以将变量表示为引用 类型。使用引用类型声明的变量称为引用变量,它引用一个对象。这里,message 是一个引 用变量,它引用一个内容为 Welcome to ]ava的字符串对象。
在这里插入图片描述

字符串比较

在这里插入图片描述

获得子字符串

在这里插入图片描述

获取字符串中的字符或者子串

在这里插入图片描述

格式化输出

在这里插入图片描述

小结

1.Java提供了在 Math 类中的数学方法sin、cos、tan、asin、acos、atan、toRadians、toDegree、 exp、log、loglO、pow、sqrt、cell、floor、rint、round、min、max、abs以及 random, 用于 执行数学函数。
2.字符类型 char表示单个字符。
3.转义序列包含反斜杠\以及后面的字符或者数字组合。
4.字符\称为转义字符
6.字符可以基于它们的Unicode码使用关系操作符进行比较。
7.Character类包含方法 isDigit、isLetter、isLetterOrDigit、isLowerCase、isUpperCase, 用于判断一个字符是否是数字、宇母、小写宇母还是大写字母。它也包含 toLowerCase 和 to叩perCase 方法返回小写或大写字母。
8.字符串是一个字符序列。字符串的值包含在一对匹配的双引号(")中。字符的值包含在一对匹配的 单引号(’)中。
9.字符串在Java中是对象。只能通过一个指定对象调用的方法称为实例方法。非实例方法称为静态方 法,可以不使用对象来调用。
10.可以调用字符串的lengthO 方法获取它的长度,使用charAt(index)方法从字符串中提取特定 下标位置的字符,使用indexOf 和lastlndexOf方法找出一个字符串中的某个字符或某个子串。
11.可以使用concat方法连接两个字符串,或者使用加号(+)连接两个或多个字符串。
12.可以使用substring 方法从字符串中提取子串。
13.可以使用equals 和 compareTo方法比较宇符串。如果两个字符串相等,equals方法返回 true; 如果它们不等,则返回false。compareTo方法根据一个字符串等于、大于或小于另一个字符串, 分别返回 0、正整数或负整数。
14.printf方法使用格式标识符来显示一个格式化的输出。

例子

public class FunctionDemo {
 public static void main(String[] args) {
  System.out.println(pow(2,-4));
  int a=3;
  int b=7;
  System.out.println(add(a,b));
  double d1=3.1;
  double d2=3.2;
  System.out.println(add(d1,d2));
  //The method add(int, int) in the type FunctionDemo is not applicable for the arguments (double, double)
 }
 //计算加法运算
 
 public static int add(int n,int m){
  return n+m;
 }
// private static double add(double n,double m){
//  return n+m;
// }
// private static double add(double n,int m){
//  return n+m;
// }
// private static double add(int  n,double  m){
//  return n+m;
// }
// private static double add(int  n,double  m,char c,long l,String s,Object c){
//  return n+m;
// }
// private static double add(double n,double m){
//  return n+m;
// }
 
 //计算一个数字n的m次幂
 public static double pow(int n,int m){//2 -4
  double res=1.0;
  if(m==0){
   return 1.0;
  }else if(m>0){
   for(int i=1;i<=m;i++){
    res=res*n;
   }
   return res;
  }else{
   for(int i=1;i<=Math.abs(m);i++){
    res=res*n;
   }
   return 1/res;
  }
 }
}

参数问题
public class FunctionDemo2 {
public static void main(String[] args) {
int a=10;
int b=20;
//实际参数:给形式参数赋值
System.out.println(show(a,b));//7
System.out.println(a);//10
System.out.println(b);//20
}
public static int show(int a,int b){//形式参数 接收实际参数传来的值
a=3;
b=4;
return a+b;
}
}

在这里插入图片描述

public class Demo5_1 {
 public static void main(String[] args) {
  Scanner scanner=new Scanner(System.in);
  System.out.print("Enter a number:");
  long number=scanner.nextLong();
  int sum=sumDigits(number);
  System.out.println(sum);
 }
 //1212
 public static int sumDigits(long n){
  int sum=0;
  while(true){
   sum+=n%10;
   n=n/10;
   if(n==0){
    break;
   }
  }
  return sum;
 }
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_11 {
 public static void main(String[] args) {
  Scanner scanner=new Scanner(System.in);
  System.out.print("Enter a password:");
  String password=scanner.nextLine();
  if(isPasswordValid(password)){
   System.out.println("Valid Password");
  }else{
   System.out.println("Invalid Password");
  }
  //return
 }
 public static boolean isPasswordValid(String password){
  boolean condition1=isLengthMoreThanEight(password);
  boolean condition2=isOnlyContainsLetterAndDigit(password);
  boolean condition3=isContainsMoreThanTwoDigits(password);
  if(condition1&&condition2&&condition3){
   return true;
  }else{
   return false;
  }
 }
 public static boolean isLengthMoreThanEight(String password){
  return password.length()>=8;
 }
 public static boolean isOnlyContainsLetterAndDigit(String password){
  for(int i=0;i<password.length();i++){
   char c=password.charAt(i);
   if(!(isLetter(c)||isDigit(c))){
    return false;
   }
//   if( isNotLette&&isNotDigit ){
//    return false;
//   }
  }
  return true;
 }
 private static boolean isDigit(char c) {
  return c>='0'&&c<='9';
 }
 private static boolean isLetter(char c) {
  return c>='a'&&c<='z'||c>='A'&&c<='Z';
 }
 public static boolean isContainsMoreThanTwoDigits(String password){
  return getDigitCount(password)>=2;
 }
 private static int getDigitCount(String password) {
  int count=0;
  for(int i=0;i<password.length();i++){
   char c=password.charAt(i);
   if(isDigit(c)){
    count++;
   }
  }
  return count;
 }
}

在这里插入图片描述

public class Demo5_20 {
 public static void main(String[] args) {
  //1.随机生成两个点数
  //2.计算两个点数之和
   //2.1如果和为 2 3 12 lose
   //2.2如果和为 7 11 win
   //2.3如果和为 4 5 6 8 9 10 继续随机生成两个点
    //2.3.1 如果和为7 lose
    //2.3.2 如果和为上次一样 win
    //2.3.3 继续
  boolean flag=true;//代表第一次
  int lastSum=0;
  while(true){
   int p1=(int) (1+Math.random()*6);
   int p2=(int) (1+Math.random()*6);
   int sum=p1+p2;
   System.out.println("You rolled "+p1+"+"+p2+"="+sum);
   if(flag){
    if(sum==2||sum==3||sum==12){
     System.out.println("You lose");
     break;
    }else if(sum==7||sum==11){
     System.out.println("You win"); 
     break;
    }else{
     System.out.println("Point is "+sum);
     lastSum=sum;
     flag=false;
    }
   }else{
    if(sum==lastSum){
     System.out.println("You win");
     break;
    }else if(sum==7){
     System.out.println("You lose");
     break;
    }else{
     System.out.println("Point is "+sum);
     lastSum=sum;
    }
   }
  }
 }
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_22 {
 public static void main(String[] args) {
  Scanner scanner=new Scanner(System.in);
  System.out.print("Enter the number of sides:");
  int n=scanner.nextInt();
  System.out.print("Enter the side:");
  double side=scanner.nextDouble();
  double area=area(n,side);
  System.out.println(area);
 }
 public static double area(int n,double s){
  double area=n*s*s/(4*Math.tan(Math.PI/n));
  return area;
 }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值