Java的基本语法---数学函数、字符和字符串
目录
1.常用数学函数
三角函数方法
sin、cos和tan的参数为以弧度为单位的角度。asin和atan的返回值是-pai/2~pai/2之间的弧度值,acos的返回值为0到pai之间。
Math.sin(Math.toRadians(270))返回1.0
Math.sin(Math.PI/6)返回0.5
Math.asin(0.5)返回0.523598333(pai/6)
指数函数方法
方法 | 描述 |
exp(x) | 返回e的x次方 |
log(x) | 返回x的自然对数() |
log10() | 返回x的以10为底的对数() |
pow(a,b) | 返回a的b次方 |
sqrt() | 对于x≥0的数字,返回x的平方根 |
舍入方法
方法 | 描述 |
ceil(x) | x向上舍入为它最接近的整数。该整数作为双精度值返回 |
floor(x) | x向下舍入为它最接近的整数。该整数作为双精度值返回 |
rint(x) | x舍入为它最接近的整数。如果x与两个整数的距离相等,偶数的那个作为双精度值返回 |
round(x) | 如果x是单精度数,返回(int)Math.floor(x+0.5);如果x是双精度数,返回(long)Math.floor(x+0.5) |
其他方法
min、max、abs和random方法
Math.max(2,3) 返回3
Math.min(2.5,4.6) 返回2.5
Math.abs(-2) 返回2
(int)(Math.random()*10) 返回0~9之间的一个随机整数
50+(int)(Math.random()*50) 返回50~99之间的一个随机整数
a+(int)(Math.random()*b) 返回a~a+b-1之间的一个随机整数
2.Character类中的方法
方法 | 描述 |
isDigit(ch) | 如果指定字符是数字,返回true |
isLetter(ch) | 如果指定的字符是字母,返回true |
isLetterOrDigit(ch) | 如果指定的字符是字符或者数字,返回true |
isLowerCase(ch) | 如果指定的字符是小写字母,返回true |
isUpperCase(ch) | 如果指定的字符是大写字母,返回true |
toLowerCase(ch) | 返回指定的字符的小写 |
toUpperCase(ch) | 返回指定的字符的大写 |
例:
System.out.println("isDigit('a') is "+Character.isDigit('a'));//显示isDigit('a') is true
System.out.println("toLowerCase('T') is "+Character.toLowerCase('T'));//显示toLowerCase('T') is t
3.String类型
String与System类和Scanner类一样,都是Java库中一个预定义的类。String类型不是基本类型,而是引用类型。
方法 | 描述 |
length() | 返回字符串中的字符数 |
charAt(index) | 返回字符串中指定位置的字符 |
concat(s1) | 将该字符串和字符串s1连接,返回一个新的字符串 |
toUpperCase() | 返回所有字母为大写的新字符串 |
toLowerCase() | 返回所有字母为小写的新字符串 |
trim() | 返回去掉了两边空白字符的新字符串 |
4.获取字符串长度
String message="Welcome to Java";
System.out.println("The length of "+message +" is "+message.length());
5.转换字符串
方法toLowerCase()返回一个所有字母为小写的新字符串,方法toUpperCase()返回一个所有字母为大写的字符串。例如,
"Welcome".toLowerCase()返回一个新字符串welcome。
"Welcome".toUpperCase()返回一个新字符串WELCOME。
方法trim()通过删除字符串两端的空白字符返回一个新字符串。字符' '、\t、\f、\r、或者\n被称为空白字符。例如:
"\t Good Night \n".trim()返回一个新字符串Good Night
6.从控制台读取字符串
Scanner input=new Scanner(System.in);
System.out.print("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);
Enter three words separated by spaces: Welcome to Java
s1 is Welcome
s2 is to
s3 is Java
next()方法读取以空白字符结束的字符串(即' '、'\t'、'\f'、'\r'、或者'\n')。可以使用nextLine()方法读取一整行文本。nextLine()方法读取以按下回车键结束的字符串。
7.字符串比较
String类提供了如表所示的方法,用于比较两个字符串
方法 | 描述 |
equals(s1) | 如果该字符串等于s1,则返回true |
equalsIgnoreCase(s1) | 如果该字符串等于s1,则返回true;不区分大小写 |
compareTo(s1) | 如果一个大于0、等于0、小于0的整数,分别表示该字符串是否大于、等于或者小于s1 |
compareToIgnoreCase(s1) | 和compareTo一样,除了比较不区分大小写外 |
startsWith(s1) | 如果字符串以特定的前缀开始,则返回true |
endsWith(s1) | 如果字符串以特定的后缀结束,则返回true |
contains(s1) | 如果s1为该字符串的子字符串,则返回true |
eg:System.out.println("Welcome to Java".equals("Welcome to C++"));//false
"Welcome to Java".startsWith("We") 返回true
8.获取子字符串
方法 | 描述 |
substring(beginIndex) | 返回该字符串的子串,从指定位置beginIndex的字符开始到字符串的结束 |
substring(beginIndex,endIndex) | 返回该字符串的子串,从指定位置beginIndex的字符开始一直到下标为endIndex-1的字符结束。注意,位于endIndex位置的字符不属于该子字符串的一部分 |
eg: String message="Welcome to Java";
message=message.substring(0,11)+"HTML";
字符串message现在变成了Welcome to HTML。
9.查找字符串中的字符或者子串
String类提供了几个版本的indexOf和lastIndexOf方法,它们可以从字符串中查找一个字符或一个子串,如表所示。
方法 | 描述 |
indexOf(ch) | 返回字符串中出现的第一个ch的下标。如果没有匹配的,则返回-1 |
indexOf(ch, fromIndex) | 返回字符串中fromIndex之后出现的第一个ch的下标。如果没有匹配的,则返回-1 |
indexOf(s) | 返回字符串中出现的第一个字符串s的下标。如果没有匹配的,则返回-1 |
indexOf(s, fromIndex) | 返回字符串中fromIndex之后出现的第一个字符串s的下标。如果没有匹配的,则返回-1 |
lastIndexOf(ch) | 返回字符串中出现的最后一个ch的下标。如果没有匹配的,则返回-1 |