蓝桥杯Java算法题常用的方法总结

目录

输入

借助Scanner

直接读

String类

Math类(数学、计算相关)

String类

Character类

Arrays类(数组处理)

Collections类(集合处理)

BigInteger构造器(大整数)

BigDecimal类(大浮点数)

四舍五入



输入

 在写的时候尽量先用StringBuilder进行处理,再使用IO流一次性将内容写入,可以节约时间

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("hello");
bw.flush();

借助Scanner

文件读

Scanner scan = new Scanner(new FileInputStream("src//data.txt"));
System.out.println(scan.nextLine());

直接读

Scanner scan = new Scanner(System.in);

String类

//和长度有关的方法
//返回类型      方法名               作用
int        length()        得到一个字符串的字符个数(一个中文是一个字符,一个英文是一个字
//符,一个转义字符是一个字符)

//和数组有关的方法
//返回类型        方法名             作用
byte[]        getBytes()       将一个字符串转换成字节数组
char[]        toCharArray()    将一个字符串转换成字符数组
String[]      split(String)    将一个字符串按照指定内容劈开

//和判断有关的方法
//返回类型        方法名                         作用
boolean       equals(String)                判断两个字符串的内容是否一模一样
boolean       equalsIgnoreCase(String)      忽略大小写的比较两个字符串的内容是否一模一样
boolean       contains(String)              判断一个字符串里面是否包含指定的内容
boolean       startsWith(String)            判断一个字符串是否以指定的内容开头
boolean       endsWith(String)              判断一个字符串是否以指定的内容结尾

//和改变内容有关的方法
  //  和改变内容有关的方法,都不会直接操作原本的字符串
  //  而是将符合条件的字符串返回给我们,所以注意接收
//返回类型        方法名                         作用
String        toUpperCase()                 将一个字符串全部转换成大写
String        toLowerCase()                 将一个字符串全部转换成小写
String        replace(String,String)        将某个内容全部替换成指定内容
String        replaceAll(String,String)     将某个内容全部替换成指定内容,支持正则
String        repalceFirst(String,String)   将第一次出现的某个内容替换成指定的内容
String        substring(int)                从指定下标开始一直截取到字符串的最后
String        substring(int,int)            从下标x截取到下标y-1对应的元素
String        trim()                        去除一个字符串的前后空格

//和位置有关的方法
//返回类型        方法名                     作用
char          charAt(int)               得到指定下标位置对应的字符
int           indexOf(String)           得到指定内容第一次出现的下标
int           lastIndexOf(String)       得到指定内容最后一次出现的下标

Math类(数学、计算相关)

//Java中已有的E、和PI的值
public static final double E = 2.7182818284590452354;
public static final double PI = 3.14159265358979323846;

static Object abs(Object o) //返回值为 Object 的绝对值
static Object min(Object a, Object b) //返回两个 Object的较小值
static Object max(Object a, Object b) //返回两个 Object的较大值
static double ceil(double a) //向上取整。返回大于等于参数的最小 double值
static double floor(double a) //向下取整。返回小于等于参数的最大 double值 
static double pow(double a, double b) //将第一个参数的值返回到第二个参数的幂。
static double sqrt(double a) //返回的正确舍入正平方根 double值。

    
//了解
static double toDegrees(double angrad) //将以弧度测量的角度转换为以度为单位的近似等效角度。
static double toRadians(double angdeg) //将以度为单位的角度转换为以弧度测量的大致相等的角度。
static double tan(double a) //返回角度的三角正切。
static double tanh(double x) //返回的双曲正切 double值。
static double sin(double a) //返回角度的三角正弦。
static double sinh(double x) //返回的双曲正弦 double值。
static double cos(double a) //返回角度的三角余弦。
static double cosh(double x) //返回的双曲余弦 double值。
static double acos(double a) //返回值的反余弦值; 返回的角度在0.0到pi的范围内。
static double asin(double a) //返回值的正弦值; 返回角度在pi / 2到pi / 2的范围内。
static double atan(double a) //返回值的反正切值; 返回角度在pi / 2到pi / 2的范围内。
static double rint(double a) //返回与参数最接近值的 double值,并且等于数学整数,等同于floor。
static long	round(double a) //返回参数中最接近的 long ,其中 long四舍五入为正无穷大。等同于将参数四舍五入处理。下同。
static int round(float a) //返回参数中最接近的 int ,其中 int四舍五入为正无穷大。
    
static Object floorDiv(Object x, Object y) //返回小于等于x/y的商的最大 Object值。(Object为int或long)
static Object floorMod(Object x, Object y) //取模。返回 int参数的底部模数。但和平常的取余有所差别。见解释一(Object为int或long) 
static double hypot(double x, double y) //返回sqrt( x^2 + y^2 ),没有中间溢出或下溢。

String类

int	length() //返回此字符串的长度。
boolean	isEmpty() //仅当 length()为 0返回 true。
boolean isBlank() //判断是否只包含空白字符(空格),是则返回 true。需要与判断为空区别开
char charAt(int index) //返回指定索引处的char值。
int	compareTo(String str) //按字典顺序比较两个字符串。前一个字符串大于后一个字符串则返回正数,否则返回负数;字符串相等,结果为零。他们的返回值是用的不等的字符处的ASCII码相减作为返回值。
String concat(String str) //将参数字符串连接到该字符串的末尾。
boolean	contains(CharSequence s) //当且仅当此字符串包含指定的char值序列时才返回true。可以简单的将CharSequence看成是String类型即可。传入String类型的字符串即可。
    
boolean	equals(Object anObject) //将此字符串与指定对象进行比较。
boolean	startsWith(String prefix) //测试此字符串是否以指定的前缀开头。
boolean	startsWith(String prefix, int toffset) //测试在指定索引处开始的此字符串的子字符串是否以指定的前缀开头。
boolean	endsWith(String suffix) //测试此字符串是否以指定的后缀结尾。
static String format(String format, Object... args) //使用指定的格式字符串和参数返回格式化的字符串。可以用来控制输出,如:System.out.println(String.format("%d %c", a,ch));
    
int	indexOf(int ch) //返回指定字符第一次出现的字符串内的索引。参数也可以是String类型
int	indexOf(int ch, int fromIndex) //返回指定字符第一次出现的字符串内的索引,以指定的索引开始搜索。参数也可以是String类型
int	lastIndexOf(int ch) //返回指定字符的最后一次出现的字符串中的索引。具体用法同indexOf
int	lastIndexOf(int ch, int fromIndex) //返回指定字符的最后一次出现的字符串中的索引,从指定的索引开始向后搜索。具体用法同indexOf
    
String replace(char oldChar, char newChar) //用newChar替换所有出现的oldChar字符串,并返回新的字符串。可以是单个字符。
String replaceFirst(String regex, String replacement) //只替换第一个匹配到的
    
String[] split(String regex) //将此字符串分割,用给定的regex的匹配。可以是正则表达式也可以是字符串
String[] split(String regex, int limit) //只分成limit个String,后面的不再分割。
    
CharSequence subSequence(int beginIndex, int endIndex) //返回一个子字符序列。不包括endindex
String substring(int beginIndex) //返回一个字符串,该字符串是此字符串的子字符串。
String substring(int beginIndex, int endIndex) //返回一个字符串,该字符串是此字符串的子字符串。 
char[] toCharArray() //将此字符串转换为新的字符数组。
    
String toLowerCase() //将字符串全部转换为小写
String toUpperCase() //将字符串全部转换为大写
String trim() //返回一个字符串,并删除任何前导和尾随空格。  
    
static String valueOf(Object obj) //将Object类型转换为String并返回。
static String valueOf(char[] data, int offset, int count) //返回 char数组参数的特定子阵列转换为字符串。
    
//了解即可
boolean	contentEquals(CharSequence cs) //将此字符串与指定的CharSequence进行 CharSequence,char值序列相同返回true,否则返回false 。可以简单看成是比较字符串。
    
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) //将此字符串中的字符复制到目标字符数组中。srcBegin - 要复制的字符串中第一个字符的索引。srcEnd - 要复制的字符串中最后一个字符后面的索引。dst - 目标数组。dstBegin - 目标数组中的起始偏移量。
    
int	codePointAt(int index) //返回指定索引处的字符的AScii码
int	codePointBefore(int index) //返回指定索引之前的字符ASCII码。
boolean	matches(String regex) //告诉这个字符串是否匹配给定的 regular expression 。

Character类

//构造方法
Character(char value) //构造一个新分配的 Character对象,代表指定的 char值。
    
static int	compare(char x, char y) //数值比较两个 char数值。
 
    
static boolean	isDigit(char ch) //确定指定的字符是否是数字。
static boolean	isDigit(int codePoint) //确定指定的字符(Unicode代码点)是否为数字。
    
static boolean	isLetter(char ch) //确定指定的字符是否是一个字母。  

static boolean	isLetterOrDigit(char ch) //确定指定的字符是字母或数字。 
    
static boolean	isLowerCase(char ch) //确定指定的字符是否是小写字符。

static char	toLowerCase(char ch) //将字符参数转换为小写。

static boolean	isUpperCase(char ch) //确定指定的字符是否为大写字符。

static char	toUpperCase(char ch) //将字符参数转换为大写。


String toString()  //返回 String表示此对象 Character的价值。
static String	toString(char c) //返回一个 String对象,表示指定的 char。



    

Arrays类(数组处理)

static void	sort(Object[] a) //按照数字顺序排列指定的数组。
static void	sort(Object[] a, int fromIndex, int toIndex) //按升序排列数组的指定范围。

static int binarySearch(Object[] a, Object key) //使用二分查找指定元素的下标并返回,若不存在返回负值。
static int binarySearch(Object[] a, int fromIndex, int toIndex, Object key) //在指定范围内使用二分查找

static boolean equals(Object[] a, Object[] a2) //如果两个指定的对象数组彼此相等,则返回 true 。


    
static void	fill(Object[] a, Object val) //将指定的对象引用分配给指定的对象数组的每个元素。
static void	fill(Object[] a, int fromIndex, int toIndex, Object val) //将指定的对象引用分配给指定的对象数组的指定范围的每个元素。
  
//了解
static void	parallelPrefix(Object[] array, IntBinaryOperator op) //使用提供的功能,并行地计算给定阵列的每个元素。op的用法见解释一。可以实现求前缀和。
static void	parallelPrefix(Object[] array, int fromIndex, int toIndex, IntBinaryOperator op) //对于数组的给定子范围执行 parallelPrefix(Object[], IntBinaryOperator) 。不包括后者。
    
static void	parallelSort(Object[] a) //按照数字顺序排列指定的数组。排序。
static void	parallelSort(Object[] a, int fromIndex, int toIndex) //按照数字顺序排列数组的指定范围。
    
static String toString(Object[] a) //返回指定数组的内容的字符串表示形式。

static Object[] copyOf(Object[] original, int newLength) //复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。
static Object[] copyOfRange(Object[] original, int from, int to) //将指定数组的指定范围复制到新数组中。不包括后者。

Collections类(集合处理)

void reverse(List list)://对指定 List 集合元素进行逆向排序。
void sort(List list)://根据元素的自然顺序对指定 List 集合的元素按升序进行排序。
void sort(List list, Comparator c)://根据指定 Comparator 产生的顺序对 List 集合元素进行排序。
void swap(List list, int i, int j)://将指定 List 集合中的 i 处元素和 j 处元素进行交换。

void shuffle(List list)://对 List 集合元素进行随机排序(shuffle 方法模拟了“洗牌”动作)。
void rotate(List list, int distance)://当 distance 为正数时,将 list 集合的后 distance 个元素“整体”移到前面;当 distance 为负数时,
将 list 集合的前 distance 个元素“整体”移到后面。该方法不会改变集合的长度。

BigInteger构造器(大整数)

String s = Scin.next(); //1561561561
BigInteger bs = new BigInteger(s);
System.out.println(bs); //1561561561


String s = Scin.next(); //10000
BigInteger bs = new BigInteger(s,2); //将字符串数字当成2进制
System.out.println(bs); //16
BigInteger abs()  返回大整数的绝对值

BigInteger add(BigInteger val) 返回两个大整数的和

BigInteger subtract(BigInteger val)返回两个大整数相减的结果

BigInteger divide(BigInteger val)  返回两个大整数的商

double doubleValue()   返回大整数的double类型的值

float floatValue()   返回大整数的float类型的值

BigInteger gcd(BigInteger val)  返回大整数的最大公约数

int intValue() 返回大整数的整型值

long longValue() 返回大整数的long型值

BigInteger max(BigInteger val) 返回两个大整数的最大者

BigInteger min(BigInteger val) 返回两个大整数的最小者

BigInteger mod(BigInteger val) 用当前大整数对val求模

BigInteger multiply(BigInteger val) 返回两个大整数的积

BigInteger remainder(BigInteger val) 返回当前大整数除以val的余数

String toString() 将当前大整数转换成十进制的字符串形式

BigDecimal类(大浮点数)

import java.math.BigDecimal;

public class Main {

	public static void main(String[] args) {
		BigDecimal d1 = new BigDecimal("3.1415926535");
		BigDecimal d2 = new BigDecimal("2.7182818284");
		BigDecimal d3 = d1.divide(d2, 10, BigDecimal.ROUND_UP);
		System.out.println(3.1415926535 / 2.7182818284);
		System.out.println(d3);
	}
}

四舍五入

  • 0
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值