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搞混
AJPFX总结string类和简单问题的更多相关文章
- c++string类的简单介绍
#include "iostream" #include "string" using namespace std; /*@author:浅滩 *family: ...
- 实现C++标准库string类的简单版本
代码如下: #ifndef STRING_H #define STRING_H #include <cassert> #include <utility> #include & ...
- AJPFX总结String类的特点
String str = "abc"; str就是String的一个对象 字符串一旦被赋值, 值就不能再被改变了 举例:String s ...
- 基于标准库的string类实现简单的字符串替换
感觉基本功还是不扎实,虽然能做些程序但是现在看来我还是个初学者(primer),试着完成习题结果还得修修改改. 废话不多说,实现功能很简单,<C++ Primer>9.5.2节习题. // ...
- 自己实现简单的string类
1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...
- C++ char数组和string类简单使用总结
使用char数组,进行字符串的操作,是c风格的操作方式. string是C++的风格,感觉string本质上就是一个vector<char> 以下代码详细展示了字符串的常见操作 #incl ...
- 一个简单实现的string类
为了复习c++知识,简单的实现一个string类,类名为CMyString 环境说明:windows 7 64位 和 CentOS Linux release 7.6.1810 (Core) 开发工具 ...
- AJPFX学习笔记JavaAPI之String类
学习笔记JavaAPI之String类 [size=10.5000pt]一.所属包java.lang.String,没有子类.特点:一旦被初始化就不可以被改变. 创建类对象的两种方式: String ...
- 实现简单的string类
摘要 实现了一个string类,包括基本的构造.赋值.判断.大小写等. String API Constructors string(); string(const char& ch); st ...
随机推荐
- iOS 开发用到的常用工具
如果你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完成不同的任务. 软件开发同样如此.你可以从软件开发者如何使用工具中看出他水准如何.有经验的开发者精于使用工具.对你目前所使用的工具不断 ...
- I2S总线协议理解
I2S总线 Inter IC Sound总线又称集成电路内置音频总线. I2S对数字音频设备之间的音频数据传输而制定的一种总线标准. 采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分 ...
- js运行机制及异步编程(一)
相信大家在面试的过程中经常遇到查看执行顺序的问题,如setTimeout,promise,async await等等,各种组合,是不是感觉头都要晕掉了,其实这些问题最终还是考察大家对js的运行机制是否 ...
- CodeChef:Little Elephant and Colored Coins
类似墨墨的等式 设f[2][j][k]表示a[i].c是否和当前颜色相同,到当前枚举到的颜色为止,颜色数为j,对mnv取模为k的最小数 这是个无限循环背包,用spfa优化 #include<cs ...
- 让th里面的东西自动换行
让th里面的东西自动换行 html中的TH里面的文字不管多长,始终是一行,很烦 <th style="word-wrap:break-word;">aaaaaaaaaa ...
- 一步一步学Silverlight 2系列(13):数据与通信之WebRequest
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- Centos Missing Library: QtWebKit.so.4
/******************************************************************** * Centos Missing Library: QtWe ...
- 如何生成Android的keystore文件
步骤 1 找到本机电脑上jdk安装的目录,使用cmd命令打开命令窗口,输入cd jdk目录(替换成你的jdk的bin目录),进入到jdk的bin目录,接下来你才可以使用jdk的命令进行操作 步骤 ...
- bzoj1084 [SCOI2005]最大子矩阵——背包
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1084 水题...分类讨论一下即可. 代码如下: #include<iostream&g ...
- Sublime Text 常用的16 个 Sublime Text 快捷键
在我做了一次包含一些现场编码的演示后,一些观众问我是如何操作这么快.当然这里没有唯一的答案,答案是一堆简单的快捷键和大量的实践的组合.为了回应那些询问,我觉得有必要看看我每天想都不用想且使用的快捷键. ...