洛谷算法第一周总结
2022/1/15 20:03:48
本文主要是介绍洛谷算法第一周总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 大写转小写
String str1 = "QQQQ"; String str2 = str1.toLowerCase();
- 小写转大写
String str = "qqqqq"; String str2 = str1.toUpperCase();
- 字符串转Char型数组
String str = "5.456"; char arr[]=str.toCharArray();
- 字符串转double
String c = "5.45"; double d = Double.parseDouble(c);
- sqrt() 方法用于返回参数的算术平方根
double a = Math.sqrt(6 * 6 + 9 * 9);
- 相遇问题:路程和=时间×速度和
- 路程差÷速度差=追及时间
- 开方
int a=(int)Math.pow(3,3); //int是强制转换,如果不需要可以去掉 a=27;
- 换行符
System.out.println(13 + "\n" + "R");
- Java中long型为最大整数类型,对于超过long型的数据如何去表示呢?在Java的世界中,超过lang型的整数已经不能被称为整数了,他们被封装成BigInteger对象,在BigInteger类中,实现四则运算都是用方法来实现,并不是采用运算符.
//计算a+b的对象和,调用add方法 BigInteger sum = a.add(b); //计算a-b对象的差,调用subtract方法 BigInteger sub = a.subtract(b); //计算a*b对象的积,调用multiply方法 BigInteger mul = a.multiply(b); //计算a/b对象商,调用方法divied方法 BigInteger div = a.divide(b); //将参数转换为制定的类型 int a=3; BigInteger b=BigInteger.valueOf(a); b=3; //基本常量: A=BigInteger.ONE 1 B=BigInteger.TEN 10 C=BigInteger.ZERO 0
- &&和&、||和|
if(a==1&&b==2) //这是说既要满足a=1也要满足b=2 if(a==1||b==2) //这是说或者满足a=1或者要满足b=2 //&如果相对应位都是1,则结果为1,否则为0 //|如果相对应位都是 0,则结果为 0,否则为 1
- 公历年份是4的倍数的,一般都是闰年。但公历年份是整百数的,必须是400的倍数才是闰年。
if ((nn%4==0)&&(nn%100!=0)||nn%400==0) { run = true; }
- System.out.printf格式化输出
//%代表格式化 //f代表输出浮点数,9代表输出长度,如果浮点数长度不足,则补空格,如果浮点数长度超出,则按实际长度输出,2代表保留小数点后几位小数 System.out.printf("%9.2f",1111.3); //-号代表向左对齐,默认向右对齐 System.out.printf("%-9.2f", 1111.3); //+号代表显示正负号 System.out.printf("%+9.2f", 1111.3); //+-号代表显示正负号,且向左对齐 System.out.printf("%+-9.2f", 1111.3); //d代表输出整数 System.out.printf("%4d",15); //o代表输出8进制整数 System.out.printf("%-4o",15); //x代表输出16进制整数 System.out.printf("%-4x",15); //#x代表输出带有16进制标志的整数 System.out.printf("%#x",15); //s代表输出字符串 System.out.printf("%-8s", "我们是中心"); //x$,整数加$表示第几个变量,如果不加,变量按默认顺序排列 System.out.printf("%2$-5s:夺得世界杯总冠军,进球数:%1$3d,对方进球:%3$2d", 4,"法国",2); //输入多个值 double sum3 = 1.0*sum1/s1; double sum4 = 1.0*sum2/s2; System.out.printf("%.1f %.1f",sum3,sum4);
- 单精度和双精度的取值范围和精度是不同的
单精度:float的精度是6位有效数字, 取值范围是10的-38次方到10的38次方,float占用4字节空间 双精度:double的精度是15位有效数字, 取值范围是10的-308次方到10的308次方,double占用8字节空间。
- Java大数类的RoundingMode(舍入模式)
//java.math.RoundingMode:这是一种枚举类型,它定义了8种数据的舍入模式。 //它与java.math.BigDecimal类中定义的8个同名静态常量的作用相同, //可用BigDecimal.setScale(int newScale, RoundingMode roundingMode)来设置数据的精度和舍入模式。 int newScale = 4;//设置位数 int RoundingMode_roundingMode = 4 ;//表示四舍五入,可以选择其他舍值方式,例如去尾 BigDeciaml bd = new BigDecimal((double)IMB);//BigDecimal(int/double/long/String) bd = bd.setScale(newScale,RoundingMode_roundingMode); IMB = bd.floatValue(); //floatValue是获得这个Float对象的float值。
- Math.ceil和Math.floor
Math.ceil(double value) Java Math ceil()方法将指定的double值向上舍入并返回。(向上取整) 取整后的值应等于数学整数。也就是说,值3.4应该四舍五入为4.0,等于整数4。 Java Math floor()方法(向下取整) 值3.4应该四舍五入为3.0,等于整数3。
- java换行键盘输入
问题:Scanner 的next()或nextInt()与nextLine()连续调用时出现的问题 nextInt()不会读取换行符;next()划分每个元素的标准是:空格、制表符、或者换行符。 所有元素均有这三种情况分割开来,其所有返回的值均为String类型 nextInt()输入option值,之后用户输入换行符想要结束 可是nextInt()方法并不会读取换行符 因此换行符被读取放到了下一个nextLine()中,nextLine()读取换行符 解决方法:再定义一个,专门读取换行符 String s = src.nextLine(); (换行符--->回车键)
- Java charAt() 方法
//可实现通过键盘输入字符串,再通过charAt(0),获取一个字符 //charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。
- 字符串的查找
String s = "xXccxxxXX"; // 从头开始查找是否存在指定的字符 //结果如下 System.out.println(s.indexOf("c")); //2 //没有找到就返回-1
- String类方法汇总
String a; a = "123345abcde我最帅 "; // 1.int length()获取字符串长度 int a1 = a.length(); System.out.println(a1); // 2.char charAt(索引)从字符串中取出指定位置的字符 ,返回值为 char 类型 char a2 = a.charAt(2); System.out.println(a2); // 3.char toCharArray()返回值为 char 数组类型。将字符串变成一个字符数组 char[] a3 = a.toCharArray(); System.out.println(a3[0]); // 4.字符串名.indexOf("字符")或者字符串名.indexOf("字符",索引);查找一个指定的字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1// 。 int a4 = a.indexOf("2"); int a44 = a.indexOf("2", 1);// 从索引1开始查 System.out.println(a4); System.out.println(a44); // 5.toUpperCase() toLowerCase()字符串大小写的转换 String a5 = a.toUpperCase();// 转大写 String a55 = a.toLowerCase();// 转小写 // 6.String[] split("字符")根据给定的正则表达式的匹配来拆分此字符串。形成一个新的String数组。 String[] a6 = a.split("3"); System.out.println(a6[0] + " " + a6[1] + "" + a6[2]); // 7.equals语法 :字符串变量名.equals(字符串变量名); 返回值为布尔类型。 String a7 = "123345abcde我最帅"; if (a.equals(a7)) { System.out.println("两字符串相等"); } // 8.trim()去掉字符串左右空格replace(char oldChar,char newChar);新字符替换旧字符,也可以达到去空格的效果一种。 System.out.println(a.trim()); System.out.println("去掉左右空格后:" + a.replace(" ", "")); // 9.String substring(int beginIndex,int endIndex) 截取字符串 String a9 = a.substring(3);// 从索引3开始截取 String a99 = a.substring(3, 6);// 从索引3开始截取,索引6结束,不包括索引6 // 10.boolean equalsIgnoreCase(String) 忽略大小写的比较两个字符串的值是否一模一样,返回一个布尔值 String a10 = "HELLO WORLd"; String a11 = "hello world"; if (a10.equalsIgnoreCase(a11)) { System.out.println("两个字符串的值是一模一样"); } // 11.boolean startsWith(String)测试此字符串是否以指定的前缀开始。返回一个布尔值 // boolean endsWith(String) 测试此字符串是否以指定的后缀结束。返回一个布尔值 if (a.startsWith("1")) { System.out.println("以1为前缀"); } if (a.endsWith("帅")) { System.out.println("以帅为后缀"); } // 12.上面提到了replace方法,接下继续补充一下 String replaceAll(String,String) 将某个内容全部替换成指定内容, // String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容 String a12 = ",,,,,,我啊我,,,,, "; System.out.println("改变后:" + a12.replaceAll(",", "a")); // 结果 a,,,,,我啊我,,,,, String a1212 = ",,,,,,我啊我,帅吗,帅吗,,,,, "; System.out.println("改变后:" + a1212.replaceFirst("帅吗", "很帅哦")); // 结果 ,,,,,,我啊我,很帅哦,帅吗,,,,,
这篇关于洛谷算法第一周总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12百万架构师第十五课:源码分析:Spring 源码分析:SpringMVC核心原理及源码分析|JavaGuide
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide