编码方式

ASCII

1个字节表示字母,共128个字符。是大多数常用编码的基础,并被其兼容

Unicode

统一码,又称万国码,字母和汉字统一占用2个字节。常说的UNICODE编码是指UTF-16,UTF-16是Windows上默认的Unicode编码方式。常用的Word文档、标准化软件等都是使用Unicode编码,所以,操作系统、浏览器等默认也都支持UNICODE编码文档。上图中的UNICODE是定长双字节编码,UNICODE编码中除了英文部分,其它语种编码跟其它编码格式都不兼容

ANSI

1个字节表示字母,2个字节表示汉字。不能将不同语言内容存储在同一个ANSI编码文本中,无法用同一种ANSI编码来表示既有汉字、又有韩文的文本。

UTF-8

不定长编码。1个字节表示字母,3个字节表示汉字

GBK

1个字节表示字母,2个字节表示汉字

GB2312

同样可以表示汉字,GB2312<GBK

Big5

表示繁体中文,不支持简中

基本数据类型转换

自动转换


tips:

  1. 精度大的类型不会强制转换成精度小的类型。整型默认类型是int型,浮点型默认是double型。

  2. 在赋值时,若使用常量给byte赋值,由默认的高精度常量int给低精度byte/short赋值,先检验该常量是否在声明的类型的范围内,若在范围内,则能够通过(不会报精度丢失的错误),若超出所声明变量类型的范围,则抛出异常。(double常量给 float 变量赋值会报错)

    byte a = 100; //√
    short b = 100; //√
    byte c = 200; //×
    float d = 12.8; //×
    

    给a、b赋值的过程中,虽然常量100的默认类型是int型的,但是常量赋值先检验。
    给d赋值过程中,常量12.8是默认的double型,会报存在精度可能会丢失的错误。

    在赋值时,若使用变量赋值,先检验两种类型的精度高低,高精度直接给低精度赋值会异常。

    int foo = 200;
    byte bar = foo; //×
    

    低精度给高精度赋值,将会进行自动转换。

    byte foo =100;
    int bar =foo; //√
    
    1. char、byte、short三者间进行运算,先转换成int型再运算。
    2. boolean类型不会进行自动转换。

强制转换

String类型和基本类型转换

  1. 基本类型转String:+“”;

    int a = 1;
    String b = a + "";
    
  2. String转基本类型:

    String s = "100";
    int a = Integer.parseInt(s);
    double b = Double.parseDouble(s);
    long c = Long.parseLong(s);
    byte d = Byte.parseLong(s);
    short e = Short.parseShort(s);
    String s2="true";
    boolean f = Boolean.parseBoolean(s2);
    

    ps:转成char型使用 s.charAt(0);方法

参考地址:https://blog.sciencenet.cn/blog-3134052-1074221.html

day2 编码与基本数据类型转换相关推荐

  1. 基本数据类型转换 || 自动类型转换与强制类型转换

    基本数据类型转换 自动类型转换 强制类型转换

  2. 29-30Python多线程、多线程、使用threading模块创建线程;JSON数据解析、编码为JSON类型转换对应表、Python类型转换对应表、json.dumps与json.loads

    29Python3多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些 ...

  3. Java中的基本数据类型转换(自动、强制、提升)

    转载自 Java中的基本数据类型转换(自动.强制.提升) 说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数 ...

  4. Java基本数据类型的自动转换_彻底理解Java中的基本数据类型转换(自动、强制、提升)...

    说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数据类型,现在来解释下它们之间的转换关系. 自动类型转换 自 ...

  5. java 自动类型转换_彻底理解Java中的基本数据类型转换(自动、强制、提升)

    说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数据类型,现在来解释下它们之间的转换关系. 自动类型转换 自 ...

  6. char强制类型转换为int_彻底理解Java中的基本数据类型转换(自动、强制、提升)...

    说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 之前分享过<深入浅出 Java 中的包装类>,现在重新温故了下原 ...

  7. java自动类型提升_Java中的基本数据类型转换(自动、强制、提升)

    说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数据类型,现在来解释下它们之间的转换关系. 自动类型转换 自 ...

  8. Java学习(4)—— 布尔类型、基本数据类型转换、基本数据类型和String类型的转换

    布尔类型 也叫Boolean类型,boolean只允许取true和false. boolean占一个字节. 适用于逻辑运算,流程控制语句. 有默认类型,是false.但是应该声明为成员变量或是静态变量 ...

  9. Java 基本数据类型转换

    Java 基本数据类型转换 目录 Java 基本数据类型转换 1.1自动类型转换 1.2 强制类型转换 在赋值运算或算术运算时,要求数据类型相同,否则就要进行类型转换. 转换的方式: 自动类型转换( ...

最新文章

  1. python中get和set使用_Python对象属性的set和get方法
  2. selenium 定制启动 chrome 的选项
  3. mysql脚本mysql_safe解释、mysql.sock文件、mysql_install_db
  4. 我是怎么通过技术白手起家创业的。
  5. 3D数学读书笔记——3D中的方位与角位移
  6. UVA - 227 Puzzle
  7. 优酷宠爱剧场发布新片单 包括近30部待播精品剧
  8. MySQL数据库基础(简介、操作规范、基本指令)
  9. matlab模块里有s,求助!!S-Function做通用模块
  10. EasyUI的databox取值
  11. jsf如何与数据库连接_JSF数据库示例– MySQL JDBC
  12. daemon守护进程初识
  13. go语言导出oracle数据,Go语言导出内容到Excel的方法
  14. iTerm2使用zmodem协议上传下载文件
  15. 数据结构设计题大题总结(非代码)
  16. android 获取图片信息 之 ExifInterface
  17. 利用SUS实现自动补丁管理
  18. 嵌入式开发笔记——调试组件SEGGER_RTT
  19. 反相器,传输门,电平移位
  20. SQL 02 基础查询与排序

热门文章

  1. 从核酸检测平台崩盘看性能工程的范围
  2. matlab 子函数怎么写,matlab中怎么写函数
  3. CorelDraw插件开发-文字功能-文本分列-创建文本-函数分析-Cdr插件开发教程(二)
  4. numpy_isfinite函数
  5. Maven阿里云镜像以及仓库地址修改
  6. 当你焦虑时,请读《走在自己的时区里》这首诗
  7. 移远BC28_opencpu方案_pin脚分配
  8. linux学习计划书
  9. java毕业设计智能小区物业管理系统Mybatis+系统+数据库+调试部署
  10. 我看三十而立的80后