类型转换

java中String类型转换方法

允我心安 提交于 2020-02-25 08:04:12
integer to String : int i = 42; String str = Integer.toString(i); or String str = "" + i double to String : String str = Double.toString(i); long to String : String str = Long.toString(l); float to String : String str = Float.toString(f); String to integer : str = "25"; int i = Integer.valueOf(str).intValue(); or int i = Integer.parseInt(str); String to double : double d = Double.valueOf(str).doubleValue(); String to long : long l = Long.valueOf(str).longValue(); or long l = Long.parseLong(str); String to float : float f = Float.valueOf(str).floatValue(); decimal to binary : int i = 42; String

JAVA 学习笔记 - 基础语法1

允我心安 提交于 2020-02-24 06:00:40
1. 类的定义 public class 与 class的区别 一个java文件只有一个public class, 而且类名必须与文件名一致。 一个java文件可以有多个class定义,javac编译之后会生成多个class文件。 如果一个public class中定义了一个主函数,那么这个类也叫做主类。 public static void main(String args[]){ } 2.基本数据类型 int 32位 long 64位 short 16位 byte 8位 char 2位 float 32位 double 64位 整型的最大值+1就变成了整型的最小值 ,相当于溢出。 如果要避免溢出可以在之前加(long)强制转换 (long)(int.Max_VALUE+1) 3.转义符号为 \ 例如System.out.println("\"Hello world!\""); 4. 小数的默认类型为double 因此需要这么写,float f = 3.0f 才可以通过编译 5. 数据类型转换分为两种: 自动类型转换、强制类型转换 自动类型转换,默认为在表达式中容量最大的变量 比如 3.5/5 结果为一个double类型 自动类型转换中,如果与字符串进行+运算,则所有参与变量将自动转换为字符串比如“1+2=”+1+2 1+2=12 如果要避免这个问题需要将其他数字运算加括号,“1

java 数据类型

不打扰是莪最后的温柔 提交于 2020-02-23 05:26:08
   Java学习笔记 ------- 数据类型      前言        java是强类型( strongly typed) 语言, 强类型包含两方面的含义:         1) 所有的变量必须先声明后使用         2) 指定类型的变量只能接受预支匹配的值        一, 基本数据类型        Java 的基本数据类型包括: Boolean , 字符型 和 数值类型             数值类型包括: 整形和浮点类型          boolean            大小:Java规范并没有强制指定Boolean 类型的变量所占内存大小           范围:true 和 false           例子:boolean a = false               boolean b = true          byte             大小:1个字节,即在内存中占8位           范围: -128~127, 即-2 7 ~2 7 -1           例子:byte a = 100;          short            大小:2个字节           范围:-32768~32767, 即:-2 15 ~2 15 -1           例子:short a = 10000        

JAVA基础—数据类型转换

三世轮回 提交于 2020-02-23 05:16:06
数据类型转换分为两种:自动类型转换和强制类型转换。 一、自动类型转换 二、强制类型转换 三、数据类型转换的注意事项 四、数字与字符的对照关系表(编码表): 48 ‘0’ 65 'A' 97 'a' Unicode编码包括Eomji 来源: https://www.cnblogs.com/minzzz/p/10762728.html

string, char*, int类型转换 [BCB]

我的未来我决定 提交于 2020-02-22 08:44:29
以下是常用的几种类型互相之间的转换 string 转 int .............................. char* 转 int #include <stdlib.h> int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); long long atoq(const char *nptr); ................................................................... int 转 string 可以使用stringstream类(需要包含<sstream>头文件) int main() { stringstream ss; int i = 100; string str; ss << i; ss << str; //这时str中就是字符串"100". retturn 0; } ............................. char* 转 string string s(char *); 你的只能初始化,在不是初始化的地方最好还是用assign(). ............................................................

C++里的四种强制类型转换

时光毁灭记忆、已成空白 提交于 2020-02-21 07:12:51
C语言里将类型符号作为强制类型转换运算符的做法在C++中得到了兼容,但是C++中引入了四种功能不同的强制类型转换运算符:static_cast、reinterpret_cast、const_cast、dynamic_cast 1.为什么要新增四种强制类型转换? 强制类型转换具有一定风险,如:把整型转换为指针类型、将基类指针转换为派生类指针、将一种函数指针转换为另一种函数指针,将常量指针转换为非常量指针等。C++新引用四种强制类型转换主要是为了规避这种风险: a. 将int转换为double是没有风险的,而将常量指针转换为非常量指针,将int转换为指针类型都是高风险的,C中并未对这两种情况作区分 b. 将多态的基类指针转换为派生类指针时并不检查安全性,无法判断转换后的指针是否指向一个派生类对象 c. 如果强制类型转换出错,很难排查出错误 2.C++中强制类型转换运算符的用法 强制类型转换运算符<要转换的类型>(待转换的表达式) 如:double num = static_cast (1+2); // 将1+2转换为浮点类型 3.static_cast static_cast主要用于“低风险”的类型转换,如 整数、浮点数和字符类型 的转换,如果对象 重载了强制类型转换运算符 T(T是int、char或其他类型),则static_cast也可以用于将对象转换为T类型;而像整型和指针这种

C++学习随笔之十一:C++中的代码重用

帅比萌擦擦* 提交于 2020-02-21 05:43:58
引言: C++ 的一个主要目的是代码重用,提高效率,公有继承是实现这个目的的一种机制。还有其他的机制,本部分主要介绍其他代码重用方法,一种是包含、组合或层次化,另一种是私有或保护继承,通常组合、私有继承和保护继承哟国语实现 has-a 关系,即新的对类将包含另一个类的对象。还有一种就是和函数模板对应的类模板。 1. 包含对象成员的类: 包含对象的类就是这样一种类:类中包含了这样的一个类成员:本身是另一个类的对象。这种方法称为包含、组合或层次化。 C++和约束:C++包含让程序员能够限制程序结构的特性——使用explicit防止单参数构造函数的隐式转换,使用const限制方法修改数据等等。这样做的根本原因是:在编译阶段出现错误要比在运行阶段出现错误要好,要优。 初始化顺序:当初始化列表包含多个项目时,这些项目被初始化的顺序为它们被声明的顺序,而不是它们在初始化列表中的顺序。例如: Student(const char *str,const double *pd,int n):scores(pd,n),name(str){} 则name成员仍将首先初始化,因为在类定义中它首先被声明。 接口和实现:使用公有继承是,类可以继承接口,可能还有实现(基类的纯虚函数提供接口,但不提供实现)。获得接口是is-a关系的组成部分。而是用组合,类可以获得实现,但不能获得接口。不继承接口是has

day25_Struts2学习笔记_02

偶尔善良 提交于 2020-02-20 06:41:56
一、封装请求正文到对象中(非常重要) 1、如何封装静态请求参数? 在 struts.xml 配置文件中,通过参数注入的方式,给动作类的参数注入值。相当于调用的是该参数的 setter方法 。控制台输出的是 张三,18 ,如下图所示: 原因:是由默认的 拦截器栈 中的一个 拦截器staticParams 来完成参数注入的。 该拦截器栈在 struts-default.xml 文件中定义。为了演示方便,我们把写在 struts-default.xml 中默认的拦截器写在 struts.xml 中进行显示出来,如下图所示: 当我们把黄色框框中的 <interceptor-ref name="staticParams"/> 这句代码注释掉后,再次访问该 action 时,在控制台输出的是 null,0 。 2、如何封装动态请求参数?:开发时用到的 通过用户的表单封装请求正文参数。 1、动作类作为实体模型(即:数据模型与动作类写在一起) 实体模型:Entity,对应数据库中表的记录(注意:类对应的是表结构,而对象对应的是一条记录) 原因:是由 params拦截器 完成的。 2、动作类和实体模型分开 3、模型驱动:建立动作类和模型分开的前提下( 开发中采用的方式 ) 此处的学习目标:目前先记住怎么写,要想理解,必须等讲完 OGNL表达式 之后。 原因:是由一个 modelDriven拦截器

C++中char,string与int类型转换

僤鯓⒐⒋嵵緔 提交于 2020-02-19 10:37:07
C++中char,string与int类型转换是一个不太好记的问题,在此总结一下,有好的方法会持续更新。 1.char与string char是基础数据类型,string是封装了一些操作的标准类,在使用上各有千秋。 1.1 char *或者char [ ]转换为 string时,可以直接赋值。 string x; string y; char *ptr1 = "sakura"; char ptr2[]= "waseda"; x = ptr1; y = ptr2; 1.2 string转换为char*或者char[ ]时,有3种方法。 1.2.1 使用string内置c_str()函数。注意不直接赋值,因为string类对象最后会析构导致左值成为空指针。附加结束符\0 string x = "waseda"; char *ptr; strcpy(ptr,x.c_str()); 1.2.2 使用string内置data()函数。不附加结束符\0 string x = "waseda"; char *ptr; strcpy(ptr,x.data()); 1.2.3 使用string内置copy()函数。不附加结束符\0 string str="waseda"; char ptr[10]; str.copy(ptr,5,0); 2.char与int 2.1 char数字 转int ,直接减

多用as少用强制类型转换

邮差的信 提交于 2020-02-18 21:14:34
在 C# 中存在一个名叫静态类型检查的机制,这个机制可以让编译器帮助我们把类型不服的用法找出来,从而使得应用程序在运行期间加少一些类型检查的操作。但是有时候我们还是需要进行运行期类型检查,比如我们在设计框架时将方法的参数类型定义为 object ,那么这时我们就有很大的可能需要将 object 类型的参数先转换为其他类型。我们进行转换时会有两种方法可以使用:一种是强制类型转换,这种方法可以绕过编译器的类型检查,另一种是先通过 is 判断操作是否合理,是否可以转换,然后再使用 as 运算符进行转换,或者使用强制类型转换。下面我们就来讲解一下为什么多使用 as 少使用强制类型转换。 零、as and is 使用 as 进行类型转换会比强制类型转换更加安全,而且运行时效率更高。但是这里有一点需要注意的是 as 和 is 运算符不会考虑用户所定义的类型转换,只有当运行期的类型与要转换到的类型相符时才能顺利进行。一般来说 as 类型转换很少会出现为了类型转换而创建新的对象,只有在 as 运算符把装箱值类型转换未装箱且可以为 null 的类型时才会创建新对象。 is 运算符遵循多态原则,也就是说例如 变量 Husky(哈士奇)是 Dog 类型,并且 Dog 类型继承自 Animal 类型,那么 代码段 husky is Animal 返回值就是 True