非计算机专业的码农C#学习笔记 三、变量 表达式 字符串

三、变量常量

说在前:

其实,写这个东西的时候,我也是在复习,因为这个都是一年前的笔记了。今天我看了几章,贴上来吧。我也是求高手指点,因为变量类型很多,我真的背不出来,只有用的时候记起来或者查查资料。

为什么会这样呢?短期项目用到access,sqlserver,oracle后我开始张冠李戴了.....所以,我在学习过程,真的是抄下来,放在办公室座位前....

变量(int Int=0

1.值类型

(1)整型


类型


说明(二进制)


范围


Sbyte


8位有符号


-128-127


Byte


8位无符号整数


0-255


Short


16位有符号


-32768--32767


Ushort


16位无符号


0-65535


Int


32位有符号


-2147483648--2147483647


Uint


32为无符号


0-4294967295


Long


64位有符号


-9223372036854775808--..5807


Ulong


64位无符号


0-18446744073709551615

(2)浮点类型


类型


说明


范围


Float


7位


10负45-38次方


Double


15-16位


10负324-308次方

(3)布尔类型

Bool x=true or false

(4)特殊:枚举类型

Enum 枚举名

{list1=1,list2=2,…}枚举可以为整数、浮点和布尔类型

小知识积累:(int)datetime.now().dayofweek;返回一周第几天(小知识不一定和主题密切相关,只是我看到书本案例有,就抄下来,下同)

2.引用类型(定义在栈,内存大内存空间中,值类型定义在堆小内存空间)

定义一个类定值,然后赋值:class Int{Int a=0;};class UsingInt{Int.a=10;}

常量-const来创建:const in tint=0;tint是固定不变的

四、表达式和运算符

1.算术运算符

+,-,*,/,%求余运算;

2.赋值运算符

有=、+=、-=、*=,&=,>>=等,一般表示运算符号的混合,读作赋值、加赋值(运算符号名+赋值),表示:i+=2等价于i=i+2;

3.关系运算符(比较)

==等于,>,<,!=,>=,<=,比较并返回一个布尔结果

4.逻辑运算符

(1)按位(按照二进制的位数上的值比较,0或者1,0&1=0返回0所在的十进数字,0|1=1,返回1对应的十进制数字):&与,|或,^异或;

(2)布尔预算中的(条件成立情况):&与,|或,^异或;

5.移位运算符-用于计算机变量所对应的二进制位置的移动:

>>右移位,<<左移位:string a=5;a>>1,a<<1,5-二进制010,左移一位01,对应十进制3

数位移动,我是靠画图理解的,不过平时没用到这么高深的,就不了了之。

6.其他运算符


名称


说明


用法举例


Is


用于检查是不是指定类型


Bool b=0 is int;b结果true


?条件运算符


变量?成立:不成立


String yn=(bool)b?”yes”:”no”;b成立b=yes,不成立b=no


new


创建新的类型实例


String[] s=new string[5];s[0]=1,s[1]=2…


typeof


获取对象所属的命名空间.类型


Type t=typeof(int);console.write(t)结果为sysytem.int32

运算符号的优先顺序高-低:属性typeof等-——一元(!++,--增大减少)——乘除加减——移位>>——比较<>=——位与——位或——逻辑与或——条件?——赋值:+=等等

五、字符和字符串

(char和string,char集合成string)

1.字符char类:表示一个Unicode字符

1.1char.方法(参数、对象等)P64,常用的有:

Console.WriteLine("判断是不是字母:{0}",char.IsLetter(a));

Console.WriteLine("判断是不是数字:{0}", char.IsDigit(b));

Console.WriteLine("判断是数字还是字母:{0}", char.IsLetterOrDigit(c));

Console.WriteLine("判断是不是小写:{0}", char.IsLower(a));

Console.WriteLine("判断是不是标点:{0}", char.IsPunctuation(d));

Console.WriteLine("判断是不是分隔符:{0}", char.IsSeparator(e));

Console.WriteLine("判断是不是空格:{0}", char.IsWhiteSpace(f));

此外还有用char.Tostring(a);char.toUpper(a)等转换为相应的类型

1.2char的转义符”\”反斜杠:\n—回车换行;\t跳下一个字符,\v竖直换行,\b退格,\r回车,\f换页,

\标点符号-表示标点符号(防止程序混淆)

2.字符串string(重点,char的集合)

(1)方便和实用性一般建议用sringbuilder类

Using system.text;

Stringbuilder strb=new stringbuilder(“字符串”,100);//(string,初始大小)

Strb.append(“追加到原string后面的字符”);

Strb.appendformat(”{0:c}”,1000)//指定追加格式为{0}类型c货币,内容为“1000”

Strb.insert(0,”名称”)//(从零开始的需要插入到第几位,要插入的内容)

Strb.remove(15,strb.length-15); //(除去的开始位置,除去的位数)

Strb.replace(“需要替换的字符”,”要替换成的字符”);

2string使用方法

*比较:string.compare(a,b),a.compareto(b) //ab两变量比较—a>b结果1,等于结果为0,小于结果-1

      String.equal(a,b),a.equal(b)等于结果为true,不等则为false(字符串比较一般比英文字母,字母表后面比前面大)

*格式化字符串:string.format(“{0:格式规范},{1},…,”,参数1,参数2…)

这个也是比较常用的,一般时间这类从数据库出来很容易格式不统一,用上格式化,能够解决新手常出现的DB exception

格式规范:

d-yyyy-mm-dd;D-年-月-日;t-时:分;T-时:分:秒;f-年月日时分;F年月日时分秒;

G和g排序的时间格式年月日时分(秒);M月日;Y年月;C-货币¥

*分割字符串:分割之后的结果是数组string[] ss=a.split(“分割字符或者符号1”,” 分割字符或者符号2”,….,),然后用foreach(string str in ss){console.writeline(str);}罗列所有分割形成的字符串

*插入和填充:str1.insert(起始位置,要插入内容);填充str.padleft/right(加入后总该字符串总长度,加入的内容)

*删除字串:str1.remove(起始位置,删除多少位)如果没有指明删除多少位,起始位置后面都删

*复制字符:str2=string.copy(str1);str1.copyto(str1起始位置,str2,str2起始位置,str1需要复制的位数)

*替换字符:str1.replace(需要替换的内容,要替换成的内容);

项目经验来说,split是个好东西,大平台的接口开发很多都是返回字符串或者解密的md5字符串,一般用“|”,“¥%”等特殊符号划分,这时候用split分成数组,就能提取相应的信息了

时间: 2024-08-04 14:08:43

非计算机专业的码农C#学习笔记 三、变量 表达式 字符串的相关文章

非计算机专业的码农C#学习笔记

第一篇  基础知识积累 一.vs开发环境搭建 C#一般都是用vs2010比较好,这个软件一般是行业通用,另一方面就是跟目前网上的一些疑难解答和教程所用的软件基本统一.当然也可以用最新的vs2012-2014,怎么构建,建议还是找一本几天学习vs这类的教程看看,一目了然,加上后期学习C#,web编程,很容易操作. 二.C#程序基本结构知识积累 本来学习过程就是看看书,但是记忆力一般,但由于本身带项目性质,没有很多时间花在这里,所以必须要用自己的方法记住一下东西.这里,我是采用了程序代码片段的形式学

非计算机专业的码农C#学习笔记 五、数组和集合

数组和集合 1.数组问题Array (1)一维数组:int[] arr={1,2,3,5,5} string[] s={s,l,s,g} (2)二维数组:int[,] arr=new int[2,2]{{1,2},{3,4}} 类型[,] 数组名=new 类型[行数(元素数),列数(元素的子元素数]{{元素1,元素2},{元素…},…,} l  动态数组:类型[,] 数组名=new 类型[M,N],int M=””;int N=””; l  查看内部元素:foreach(int n in arr

非计算机专业的码农C#学习笔记 二、C#程序编写规范

二.C#程序编写规范 1.代码书写规则: 代码书写规则呢,是相对初学者来说需要了解一下的东西.因为我们还嫩,暂时不追求什么代码审美.规范.专业还有逻辑审美这类的,不会乱成一套就好了.所以,我也不全死记烂背规则,就注意一下代码整洁这个问题.有时候,经理或者需求发布人需要我们解说一下,代码不整洁,连我们自己都找不到那可怎么办.还是记住几个: (1)记住ctrl+K+F这个快捷键,自动帮你整理选中的代码,看起来整洁吧: (2)项目时间长,分阶段写的代码最好还是#region一下,能够很好帮你回忆: (

非计算机专业的码农C#学习笔记 七、

结构和类 (一)结构-通常用于较小的数据类型,大多数情况下都是用类,可用于特定数学公式返回值这类 Public struct 结构名{} 结构是值的类型 传递结构一般传值方式进行,不是用using进行,class则是用Using来进行引用 结构声明构造函数时候必须带参数 一个结构不能被另一个结构继承,因为都是具体的值,值不能继承值 结构可以实现接口 结构里面不能实例化其他东西 实例化结构不需要用new来修饰,如public struct st{string a=””;}引用的时候str ss;s

非计算机专业的码农C#学习笔记 四、语句

记住几个语句 1.选择语句: (1)if语句: If(条件){代码} Else{代码} (2)switch语句 Switch(变量) { Case 变量值:执行代码:break:case… } 2.迭代语句 (1)while(条件){循环执行的代码:} (2)do{}while(条件) (3)for(Int I=0,i<a.length,i++){引用关于[i]执行代码:} (4)foreach(string s in ss数组){引用s的表达式和代码即可罗列所有ss中的s} 3.跳转语句: (

非计算机专业的码农C#学习笔记 六、属性和方法

六.属性和方法 (一)属性 1.属性的定义:对象的组成部分的名称…理解游戏中的人物加点属性,HP,蓝等等就是属性 2.引用属性的方法:对象名.属性名 3.属性的代码:public string name{get{return **}:set{alue=….}:} (二)方法 1.方法:对象用来做什么的实现形式,如刀的方法就是砍 2.方法的声明修饰词: Private       只供class内部使用的方法 Public        公用的变量和方法 Protected Internal 此外

非专业码农 JAVA学习笔记 6java工具类和算法-string

续<非专业码农 JAVA学习笔记 5 java工具类和算法> 五.字符串string 字符串和字符的差别:字符串双引号括起来”n”,字符用单引号括起来,表示一种符号’\n’ 1.string的主要方法和属性 类 方法或者属性 备注 定义string Stirng s=new string(“值”),string s=”值” 属性 string.length:string的长度为字节 方法startswith,endswith s.startwith(“值”)-以值为开头,s.endswith(

非专业码农 JAVA学习笔记 3 抽象、封装和类(2)

(2).静态域-放在内存公共存储单元,不放在特定的对象,用static修饰 (续上一篇<非专业码农 JAVA学习笔记 3 抽象.封装和类(1)>...) (3).静态初始器-由static引导的一对大括号括起来的语句组,作用跟构造函数相似 (4).最终域-final引导的,值在整个过程都不发生改变的 5.方法 (1)方法的定义:修饰词1 修饰词2…返回值类型 方法名(参数) throw[异常列表] 这里个人经验就是注意定义了返回值的方法,要在方法体里面增加return 该类型变量:此外遇到if

非专业码农 JAVA学习笔记1

不知不觉,项目需要,有学上java这个深奥的东西了.c#复习,也在同期进行,不过由于项目需要,我们还是缓缓c#吧.今天就是随便看看java.废话少说,上笔记 Java语言与面向对象程序设计(第二版) 一.面向对象软件开发概述 (一)面向性软件开发过程: 分析用户需求,从中抽出对象模型 将模型细化,设计类,包括类和类之间相互关系,考察是否有成型的类可供引用 选定一门面向语言,进行研发 测试 (二)面向对象程序设计优点 1.重用性 2.可扩展性 3.可管理性 二.java概述 (一)java开发环境