java杂学知识点

s01串

https://ac.nowcoder.com/acm/problem/14356

Printf:

System.out.printf("%d*%d=%2d ",j,i,j*i);

DecimalFormat基本用法:

1.保留两位小数(Down 截断)

double num = 11.256;
        DecimalFormat df = new DecimalFormat("#.##");
        //指定RoundingMode
        df.setRoundingMode(RoundingMode.DOWN);
        String str = df.format(num);
        double formatNum = Double.parseDouble(str);
        System.out.println(formatNum);

2.保留两位小数(四舍五入)

        double num = 11.256;
        DecimalFormat df = new DecimalFormat("#.##");
        //指定RoundingMode
        df.setRoundingMode(RoundingMode.HALF_UP);
        String str = df.format(num);
        double formatNum = Double.parseDouble(str);
        System.out.println(formatNum);

3.常用的RoundingMode

HALF_EVEN -----DecimalFormat默认的RoundingMode为RoundingMode.HALF_EVEN,也称为“银行家舍入法”,主要在美国使用。四舍六入,五分向相邻的偶数舍入。
以下例子为保留小数点1位,那么这种舍入方式下的结果。
1.15–>1.2 1.25–>1.2
HALF_UP — 四舍五入
HALF_DOWN — 五舍六入
2.5 —> 2
2.6 —> 3
DOWN — 直接截断
UP — 始终对非零舍弃部分前面的数字加 1

4.占位符

0表示数字占位符,实际位数不够时补零
比实际数字的位数多,不足的地方用0补上。
new DecimalFormat(“00.00”).format(3.14) //结果:03.14
new DecimalFormat(“0.000”).format(3.14) //结果: 3.140
new DecimalFormat(“00.000”).format(3.14) //结果:03.140
整数部分比实际数字的位数少,整数部分不改动
小数部分比实际数字的位数少,根据小数部分占位符数量保留小数
new DecimalFormat(“0.000”).format(13.146) //结果:13.146
new DecimalFormat(“00.00”).format(13.146) //结果:13.15
new DecimalFormat(“0.00”).format(13.146) //结果:13.15
#表示数字占位符,实际位数不够时不补零
比实际数字的位数多,不变
new DecimalFormat("##.##").format(3.14) //结果:3.14
new DecimalFormat("#.###").format(3.14) //结果: 3.14
new DecimalFormat("##.###").format(3.14) //结果:3.14
整数部分比实际数字的位数少,整数部分不改动
小数部分比实际数字的位数少,根据小数部分占位符数量保留小数
new DecimalFormat("#.###").format(13.146) //结果:13.146
new DecimalFormat("##.##").format(13.146) //结果:13.15
new DecimalFormat("#.##").format(13.146) //结果:13.15s

十进制数字转换成16进制

String hex= Integer.toHexString(numb);

字符串反转最快法:

public static String reverse1(String str)
{
return new StringBuffer(str).reverse().toString();
}
SringBuffer类和String一样,也用来代表字符串,相比String, StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。当遇到插入、删除等字符串操作时,可以考虑用StringBuffer。

String和StringBuffer

StringBuffer初始化

使用构造方法对StringBuffer初始化:

StringBuffer s = new StringBuffer(); //初始化出的StringBuffer对象是一个空的对象

StringBuffer s = new StringBuffer(“abc”); //初始化出的StringBuffer对象的内容就是字符串”abc”

StringBuffer与String的转换:

虽然StringBuffer和String都是操作字符串,但两者属于不同的类,不能直接兼容,相互转换的方法为:

String s = “abc”;

StringBuffer sBuff1 = new StringBuffer(“123”);

StringBuffer sBuff2 = new StringBuffer(s);   //String转换为StringBuffer

String s1 =sBuff2.toString();          //StringBuffer转换为String

StringBuffer中的append方法:

Java中的StringBuffer类里面有append()方法,而 StringBuffer类是动态字符串数组,append()是将指定的字符串追加到此字符序列。

public class Test{
  public static void main(String args[]){
    StringBuffer result = new StringBuffer("123");
    result.append("456");
    resultsBuffer.append("789");
    System.out.println(result);  
  }
}
结果:
123456789
StringBuffer中的reverse反转方法:
StringBuffer s = new StringBuffer();
System.out.println(s.reverse());
Math包
Math.abs(a):取a的绝对值
Math.sqrt(a):取a的平方根
Math.cbrt(a):取a的立方根
Math.max(a,b):取a、b之间的最大值
Math.min(a,b):取a、b之间的最小值
Math.pow(a,b):取a的b平方
Math.ceil(a):向上取整
Math.floor(a):向下取整
Math.round(a):计算小数四舍五入
Math.PI:记录圆周率
Math.E:记录e的常量
Math.random:返回0,1之间的一个随机数[0,1)













全部评论

相关推荐

测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务