初学C#之变量、占位符、转义符、还有就是类型转换
㈠、定义变量
- 先定义再赋值
int Num1;
Num1 = 10;
- 定义的同时赋值
int age = 28;
- 定义多个变量同时赋值,先决条件变量类型相同,例如:
string phome = "18912508888", name = "王大";
- 定义变量时,数据类型后面添加“?”
在变量类型后面添加“?”表示可空值类型。例如:
int a = null;//出错提示:无法将null转换为"int",因为它是不可为null的值类型
但是写成以下格式就不会报错
int? a = null;
㈡字符串中“+”和占位符{}
- 是数学中的加法运算:两变参与加法运算的数据类型为数字类型,则“+”便是数学上的加法的意义。
- 是连接的意思:两边参与加号运算的数据,有一个是字符型,那么这个“+”号就是连接的意义。
占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号。站位符由{数字}组成,数字由0开始编号。
第1个占位符:{0}
第2个占位符:{1}
第2个占位符:{2}
string name = "张三";
int age = ;
decimal salary = 7600m;
//占位符{0}{1}{2}无顺序要求,可以在一句话中重复使用{0}代表第一个参数.
//重点:占位符的编号不能超过参数的总数减1个.超过报错
Console.WriteLine("我叫{0},今年{1}岁,我的工资{2}元", name, age, salary);
㈢转义符和“@”符号在字符串中的作用
常用的转义字符及其含义:
\’ 单引号
\” 双引号
\\ 反斜杠
Console.WriteLine("E:\\Program Files\\火马游戏\\GamePlaza.exe");
\0 空
\a 警告(产生峰鸣)
\b 退格 // \b就是键盘上Backspace功能,但是在字符窜末尾添加无效果。
\f 换页
\n 换行
Console.WriteLine("煮豆燃豆萁,\n豆在釜中泣.\n本是同根生,\n相煎何太急.");
\r 回车 //在字符串中添加\r 后面的字符将覆盖前面的字符
\t 水平制表符 //就是键盘的按Tab的效果
\v 垂直制表符
@符号的作用:
- 取消转义符号"\"在字符串中的转义作用.
- 将字符串按照原格式输出
Console.WriteLine(@"E:\Program Files\火马游戏\GamePlaza.exe");
㈣数据类型隐式转换
所谓隐式转换,就是系统默认的转换,其本质是小存储容量数据类型自动转换为大存储容量数据类型。
比如:int (隐式转换)==>long
、float
、double
或 decimal
你猜猜下面的运算结果:
int a = , b = ;
double quo = a / b;//结果:3
本来我以为是:3.333333。,但事实上结果是3.原因是参与运算的操作数(a、b)类型全部相同,其运算结果类型也与操作数的类型相同.然后赋值给quo变量变成了double类型。
其中操作数有一个是double类型其运算结果就是double类型。如下:
int a = , b = ;
double quo = 1.0 * a / b; //结果3.3333。。。
㈣数据类型显示转换
方法1. 该转换方式主要用于数字类型之间的转换,从int类型向long,float,double,decimal 类型转换可以使用隐式转换,但从long型到int 就需要使用显示转换,即使用该类型的转换方式否则产生编译错误。
该方式对于浮点数会无条件的舍去,会失去精确度
对于char类型的到int类型的转换,传回的值是ASCII码
double pi = 3.1415926;
int r = ;
double s = pi * Math.Pow(r, );//结果78.539815
int temp = (int)s; //结果78.舍去了小数部分
char sex = 'n';
temp = (int)sex; //结果110,可以转换单字母型
方法2。int.Parse(string 变量名)该方式是将数字内容的字符串转换为int类型,如果字符串的内容为Null ,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常。
使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内
string str1 = "3.1415926";
double dbla = double.Parse(str1);//结果:3.1415926
//int Num1 = int.Parse(str1); //语法没报错,启动时报错.提示字符串格式不正确.原因int.Parse只能转整型数值型字符串
int Num1 = (int)double.Parse(str1); //结果:3 分两步转换就可以了.
Console.WriteLine("dbla = {0} Num1 = {1}",dbla,Num1)
方法3.Convert.ToInt32 该方式不仅可以将字符串类型转换为int,还可以将其他的类型转换为int。变量若为object或string类型,当其值为Nul时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,转换成int时,程序仍会出错。
string str1 = "3.1415926";
double dbla = Convert.ToDouble(str1);//结果:3.1415926
初学C#之变量、占位符、转义符、还有就是类型转换的更多相关文章
- c#基础学习(0626)之占位符、转义符
占位符 使用方法:先挖个坑,再填个坑. 使用占位符需要注意的地方: 1.你挖了几个坑,就应该填几个坑,如果填多了,没效果,如果填少了,出现异常 异常是指:语法上没有任何错误,只不过再运行的期间,由于某 ...
- 【2017-2-19】C#数据类型,数据转换,变量,常量,转义符
数据类型 一.基本数据类型 1.值类型(不可以为null) ⑴整型(可以为负数) byle,int,short,long(从小到大排列) 常用整型 int a=值(小于10位数) long b=值(1 ...
- 11.C#中的转义符和@符号的作用
转义符 转义符是指一个'\'+一个特殊的字符,组成的一个具有特殊意义的字符. \n: 表示换行. namespace _11.转义符 { class Program { static void Ma ...
- Java语言基础---转义符
转义符 转义符使用“\”表示.常用转义符如下: 1.‘\n’回车 2.‘\t’制表位字符,一个表示向右跳8-10个字符 3.‘\\’表示’\’ 4.‘\’’表示单引号 5.‘\’’’表示双引号 6.‘ ...
- Pycharm快捷键及Python常用转义符
不管是windows.xshell或者pycharm,学会使用快捷键都会使学习工作达到事半功倍的效果.这篇博客收集了部分常用的pycharm快捷键,分享给大家,希望对大家有用. 1. 常用快捷键 Py ...
- .NET 基础 一步步 一幕幕[运算符、占位符、转义符]
运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- C#学习笔记9:C#中的变量、转义符、显式转换和隐式转换
1.变量的特性:可以重复的赋值 int a=4; a=9; 2.常量:const int number=10:这个常量不可变 如果你声明的变量,不想被其他人修改,那么就修饰为常量 声明在类的下面, ...
- A Byte of Python 笔记(2)基本概念:数、字符串、转义符、变量、标识符命名、数据类型、对象
第4章 基本概念 字面意义上的常量 如5.1.23.9.23e-3,或者 'This is a string'."It's a string!" 字符串等 常量,不能改变它的值 数 ...
随机推荐
- arm linux 移植 MQTT (paho、mosquitto)
前言 我们在这里做2件事情: 1)编译 paho.mqtt.mosquitto 2个开源项目的c版本库(mosquitto库没有用上) 2)编译好 依赖 paho.mqtt的库编写例程 + mosqu ...
- Vue - 定义使用组件
import Card from './components/Card.vue' Vue.component('m-card',Card) // component是注册全局组件,在实例化VUE前 ...
- @Autowired 和 @ Resource 的区别
转 都是用来装配Bean的注解.都可以写在字段上,或写在setter方法上. @Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以 ...
- C#实体类生成工具(onlymodel)
最近刚从常用数据库Mysql转到SqlServer,深陷于没有实体生成工具的痛苦,尝试过动软,但生成的字段类型和数据库的有些不对应.以及网上的一些实体生成工具,但要么操作太过繁琐,要么效果不如人意,所 ...
- leetcode1161 Maximum Level Sum of a Binary Tree
""" BFS遍历题,一遍AC Given the root of a binary tree, the level of its root is 1, the leve ...
- JAVA String类常用方法
一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建 ...
- gitlab访问慢,出现502,特别卡,耗内存cpu解决办法
前言 浏览器访问gitlab的web页面,发现非常慢,并且很容易出现502问题.其中一个原因就是8080端口被tomcat占用,前面一篇已经更换了端口,但还是很慢.后来搜了下,原因是gitlab占用内 ...
- Ajax学习系列——Ajax介绍及优缺点
一.什么是Ajax Ajax即“Asynchronous JavaScript And XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术. Ajax = 异步Jav ...
- Elasticsearch核心概念
Elasticsearch 核心概念 Cluster 代表一个集群, 集群中有多个节点, 其中一个为主节点, 该节点可以通过选举产生.(主从节点只针对于集群内部) 去中心化: 对于集群外来说无中心节点 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-print
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...