zoukankan      html  css  js  c++  java
  • AJPFX总结string类和简单问题

    String表示字符串,所谓字符串,就是一连串的字符;
    String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内容)是不可变的,直到对象被销毁;
    //一个String对象的内容不能变,一旦内容改变对象在常量池中新建类一个STRING对象
    常量池:JVM中一块独立的区域存放字符串常量和基本类型常量(public static final)。

    栈=====存放变量名

    堆=====存放new的地址值

    常量池====存放的字符串是由单个字符组成的,两个变量名的值如果是一样的比如都是"AAA"那么两个变量都是指向同一个地址

    在JAVA中 等号(“=”)的作用是地址的比较。。。如果是值的比较那么 应该要用子变量(equals)做比较。。
    比如 S1.equals(s2);//s1的值是否和s2的值相等。。
    s1==s2//s1的地址和s2的地址相等

    String S1=NEW String(“AAA”);//创建1个或者2个对象。。。。。String创建对象是先去常量池寻找有没有“AAA”,如果没有则在堆创建一个 然后在常量池创建一个“AAA”。。。。。堆指向常量池。。。。String s3="bbb" 创建1个或者0个。。。

    //以加号(“+”)连接的字符/字符串,编译器在编译的时候会将“A”+“B”+“C” 编译成“ABC”
    .println((200 - 110) + "cents");

    /*
    对于找零,这种要求小数点后的位数尽可能的少的时候,改变换算单位比如找0.01元则写成找零1分。。。

    */
    解决该问题的另一种方式是使用执行精确小数运算的 BigDecimal。它还可以通
    过 JDBC 与 SQL DECIMAL 类型进行互操作。这里要告诫你一点: 一定要用
    BigDecimal(String)构造器,而千万不要用 BigDecimal(double)。后一个构造
    器将用它的参数的“精确”值来创建一个实例:new BigDecimal(.1)将返回一个
    表示 0.100000000000000055511151231257827021181583404541015625 的
    BigDecimal。通过正确使用 BigDecimal,程序就可以打印出我们所期望的结果
    0.90:
    import java.math.BigDecimal;
    public class Change1{
    public static void main(String args[]){
    System.out.println(new BigDecimal("2.00").
    subtract(new BigDecimal("1.10")));
    }
    }
    这个版本并不是十分地完美,因为 Java

    不要使用小写的“l”作为变量而要使用大写“L”,因为容易和数字1搞混

  • 相关阅读:
    poj 2773 利用欧拉函数求互质数
    poj3358:欧拉定理
    poj:2992 因子数量
    poj3696:同余方程,欧拉定理
    USACO5.4-Character Recognition
    hdu5017:补题系列之西安网络赛1011
    hdu5014:number sequence对称思想
    欧拉函数,欧拉定理例题整理
    POJ 3463 Sightseeing (次短路)
    POJ
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10898243.html
Copyright © 2011-2022 走看看