【蓝桥杯】

java菜鸡入门常用
1,输入输出
注意 sc.next(); //遇到空格结束
sc.nextLine(); //回车结束
while(sc.hasNext()) //多组数组时使用
使用BufferedReader和BufferedWriter实现快速输入输出 //注意

2,数组
二维数组 //注意
a.clone(int [] b) //数组的拷贝
Arrays.copyOf(int[] a, int length);//从a数组的第一个元素开始复制,复制length个元素。

3,String的比较:
== //两个字符串地址是否相等
equals //比较两个字符串对象的内容

  String的遍历
 String s1 = "123456";
 char[] s2 = s1.toCharArray();
StringBuffer  sb=new StringBuffer(Integer.toString(a));   //输入的是字符串

StringBuilder sb=new StringBuilder(“ ”);

4,大数
BigInteger a;
BigDecimal b;
a.valueOf( ) //里面的数不能超过 long类型
加法减法乘法 调用方法
求最大公因数。a.gcd(b) 求最大值最小值 a.min(b) a.max(b) 比较compareTo

5,进制转换
补零方案:
public class Main {
public static void main(String[] args) {
int a = 1;
System.out.printf(“%04d\n”, a);
//. 运行结果: 0001 (使用printf几乎完全兼容C语言输出格式,适合刷OJ用)

    String str= String.format("%04d",a);
    System.out.println(str);
  
}

integer。to进制 //十进制转为其他进制
Integer.toString(100, r); 一个r进制字符串
Integer.parseInt(s,16) //s是字符串 以十进制输出
Integer.parseInt(String.valueOf(s.charAt(i)))
包装类.valuof()
包装类.toString()

总结一下:

在java中,有字符串(某一进制数)转某一确定进制数,

Integer.parseInteger(String str, radix num);

如果是 num = Integer.parseinteger(1010)

那么num=1010,因为无radix时默认为10进制;

6,输出要求:保留小数
pritf(“%.3f”,sum)//保留三位小数 不是四舍五入
a = a.setScale(4,BigDecimal.ROUND_HALF_UP);//四舍五入保留四位小数
DecimalFormat df=new DecimalFormat(“0.00”); //不是四舍五入
String.format(“%04d”,a); //前面补零

7,查数

=1; //新符号,先右移一位 对于字符数组可以使用

8,math方法的常调用的方法
最大值math.max
最小值math.min
求平方根math.sqrt
求绝对值math.abs
求幂math.pow(a,b) //a^b
取整math.ceili //向上取整(更多) 例如:1.3 结果为2.0
math.floor //向下取整 例如:1.6 结果为1.0
math.round //四舍五入
随机数math.random() //生成 [0,1)之间的的double类型的数
所以为了得到一个[1, b] 之间的整数可以这样做:

int a = (int)(Math.random()*b + 1); // [1, b]

如果要得到[a, b]的一个整数则是:

int a = (int)(Math.random()*(b - a + 1) + a) // + 1 是因为random()最大取不到1,所以上限取整后就会少1.

9,字符串:
charAt(int i);//返回索引i处的字符
length();//返回此字符串的长度
isEmpty();//判空 当length()为0时返回true
toCharArray();//返回此字符串的字符数组
比较
结果是 整数,负数,0 //可判断大小
compareTo(String anotherString)//按字典顺序比较两个字符串
compareToIgnoreCase(String anotherString)//按字典顺序且不区分大小写比较两个字符串
结果为 true false
equals(String anotherString)//判断两个字符串是否相等,相等返回true否则返回false
equalsIgnoreCase(String str)//同上,不区分大小写。

查找字符串(没有返回-1 返回int)
数字
indexOf(int ch);// 返回指定字符在此字符串中第一次出现的索引
indexOf(int ch, int fromindex); // 同上, 从指定索引开始搜索
字符
indexOf(String str);//返回子串在此字符串中第一次出现的索引
indexOf(String str, int fromindex);同上,从指定索引开始搜索

lastIndexOf(int ch);//返回指定字符在此字符串最后一次出现的索引
lastIndexOf(int ch, int fromindex);//同上, 从指定索引开始搜索
lastIndexOf(String str);//返回子串在此字符串最后一次出现的索引
lastIndexOf(String str, int fromindex);//同上, 从指定索引开始搜索
startsWith(String prefix);// 检查是否以某一前缀开始 ,布尔boolean

字符串拆分
s.split(" ") //空格分割

提取子字符串
substring(int beginIndex, int endIndex);

子串的替换
replaceAll(String s1,String s2);//用s2替换目标字符串中出现的所有s1
replaceFirst(String s1,String s2);//用s2替换目标字符串中出现的第一个s1

转换大小写
toUpperCase(); //将此字符串中的所有字母都换为大写
toLowerCase() //将此字符串中的所有字母都换为小写

将其他类型的数据转化为字符串(重要)
valueOf(char[] data);//返回 char数组的字符串表示形式
valueOf(char[] data,int offset, int count)//返回 char 数组参数的特定子数组的字符串表示形式。
valueOf(int i);//返回 int 参数的字符串表示形式。

StringBuilder(******重要)
遍历
charAt(int i);// 返回索引i位置的字符
length();//返回此字符串的长度
增加(***常用)
append(String str);//在此字符串追加str。
append(StringBuilder str);//在此字符串追加str。
append(char[] str, int offset, int len);//将char的子数组追加到此字符串
删除
delete(int start, int end);//移除此序列从start到end-1的字符串
deleteCharAt(int index);//移除指定索引上的char
修改
setCharAt(int index, char ch);//将指定索引处的字符替换为ch
查找
indexOf(String str);//返回子字符串第一次出现的索引
indexOf(String str, int fromIndex);//同上,从指定位置查找

lastIndexOf(String str);//返回子字符串最后一次出现的索引
lastIndexOf(String str, int fromIndex);//同上,从指定位置查找

字符串反转(***常用)
reverse();//将此字符串反转

字符串截取
substring(int start);//返回此字符串从start开始至length-1结束的String
substring(int start, int end);//返回此字符串从start开始至end-1结束的String
toString();//返回此序列中的String表示形式。
(注意以上方法的返回值都是String而不是StringBuilder)

10,(日历)正好java中的Date类和Calendar类提供了对日期处理的一些方法 date类已过时 calendar类现在用
方法:YEAR 指示年的 get 和 set 的字段数字。
MONTH 指示月份的 get 和 set 的字段数字。
DAY_OF_MONTH get 和 set 的字段数字, 指示一个月中的某天。
DAY_OF_WEEK get 和 set 的字段数字, 指示一个星期中的某天。
DAY_OF_YEAR get 和 set 的字段数字, 指示当前年中的天数。
DAY_OF_WEEK_IN_MONTH get 和 set 的字段数字, 指示当前月中的第几个星期。
HOUR get 和 set 的字段数字,指示当天中的某小时
MINUTE get 和 set 的字段数字,指示当前小时中的某分钟
SECOND get 和 set 的字段数字,指示当前分钟中的某秒
time 以毫秒为单位,表示自格林威治标准时间 1970 年 1月 1 日 0:00:00 后经过的时间。
(字段就是Calendar类的成员变量,用于存储当前日历的年月日等时间信息。)
————————————————
设置特定日期
set(int field, int value);//第一个参数是日期字段,诸如YEAR、MONTH 等将给定的日历字段设置为给定值。
set(int year, int month, int date)// 设置日历字段年月日的值
Calendar类的实例化
getInstance();//返回一个默认时区和语言环境的日历
获取当前Calender实例的字段信息
get(int field);// 获取给定字段的值
例子:
Calendar calendar = Calendar.getInstance();
// 设置日期为: 2020.1.21
calendar.set(Calendar.YEAR, 2020);
calendar.set(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 21);
// 获取2020.1.21是星期几
System.out.print(calendar.get(Calendar.DAY_OF_WEEK));

输出:
3 // 3代表星期二

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值