qiang zhi类型转换
int b = 97;
char a = (char)b;
qiang zhi类型转换
int b = 97;
char a = (char)b;
字符存储为数字
按十进制 字符c底层存储是99 a=97
ASCII字符代码表(十进制)
int a = 97;
char b = a;
赋值两边要一致,
赋值小容器的可以赋值给大容器
大容器无法赋值给小容器
char b = (char)a;//强制类型转换 强塞
using System;
namespace _004_字符类型
{
class Program
{
static void Main(string[] args)
{
//char a = 'c';
//int b = a;
//Console.WriteLine(a);
//Console.WriteLine(b);//99
//97 a
int a = 97;
char b = (char)a;//强制类型转换 强塞
Console.WriteLine(a);
Console.WriteLine(b);
}
}
}
字符类型和对应的整数
强制类型转换
int a = 97
char b = (char)a
每个字符本质是一个数字
字符类型和对应整数
1.当进行赋值时,“=”两侧的类型需要是一致的(char对char,int对int)
2.语法错误时,VS会报错提示,但如果是语法无误逻辑出错时,VS则无法报错提示
3.int的容量非常大,而char只有几百的容量,因此int无法直接赋值于char类型,但可以通过强制类型转换的方式执行,
如int a =97;char b = (char)a;
4.强制类型转换,若被赋值的容器小于赋值的容器,则会出现数值丢失的问题
字符类型需要用单引号‘引起来
每个字符都代表一组十进制数字
char的存储范围
将整数转化为字符:
1、强制类型转换 ()
一行一条语句,在语句的结束处加上;(需要在英文状态下)
\n后面有字符的都表示为特殊字符表示换行
如\nworld \n表示换行实例如下
Wold\nYoou运行以后则为
wold
you
\t表示四个字符实例如下
He\tllo 运行以后则为He llo(中间为四个空格)
char
ascll
A 65
a 97
强制类型转换
字符在计算机内被作为数字进行存储
字符可以当作整数使用,对应相关整数
字元變數要放整數變數要使用char,例如:
int a = 97;
char b = (char)a;
强制类型转换
int a=97;
char
加入分号自动格式化加空格
变量赋值给变量需同类型
字符c对应99 ASCii表
代码会自动加格式化(空格)
一个引号里只能有一个字符
每一个字符在底层存储的时候都是作为一个整数来存储的
赋值时两边的类型要一致,因为字符类型可以作为整数类型所以可以把字符变量赋值给整数
但是整数变量无法赋值给字符,因为容器小的可以赋值给容器大的,而容器大的不能赋值给容器小的
char a='c';单引号,且只能一个字符
两边类型应一样
1.求字符Z的数值
Char a = ('Z');
int b = a;
Console.WriteLine(b);
自己简化了一下,结果相同,省掉一个变量,不知道符合不符合规范。
int b = 'Z';
Console.WriteLine(b);
同样
求123数值代表的字符
int a = 123;
char b = (char)a;
Console.WriteLine(b);
简化为:
char b = (char)123;
Console.WriteLine(b);
1. 字符类型里面只能存放一个字符。
2. 没一个字符通过底层存储时都会转变成01的形式,所以也是整数类型变量。
例如:
char a='a';
intb=a;
char a = "c"; //赋予字符型a值为“c”。
int b = a; //将字符型变量赋值给整数类型b。
问:赋值没有弄明白。字符型'a'不是给了变量b了么,怎么还能出现99呢,它不是字符么?
猜:是不是变量类型不同,所以就会根据变量类型而变化掉了?
3. 强制类型转换
int a = 97; //整数型可以存储上亿的变量。
char b = (char)a; //字符型只可以存储几百,等同于将大个的东西强塞进小容器里,那么这种就是强制塞进去的,一部分数据可能会丢失。
Debug.Log(a);
Debug.Log(a);
输出结果为:
97
a
1、a字符为97、A字符为65
2、两边类型必须一直,容器小的可以赋值给大的
3、强制类型转换 强sai
赋值时
等号两侧数据类型要一致
容器小的可以赋值给容器大的
假如这个数据的范围超出了这个容器的大小,可能会造成数据丢失
int整数容量
char字符容量最小
(char)强制类型转换
强行塞一部分进去,剩余的没了
char a='c';
int a = 25107;
char b =(char)a;//强制类型转换