zoukankan      html  css  js  c++  java
  • 非计算机专业的码农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分成数组,就能提取相应的信息了

  • 相关阅读:
    [Buzz Today]2012.10.08
    [Buzz Today]2012.10.02
    [Tips] How to resolve "You should only open projects from a trustworthy source”
    [Architecture]tumblr.com
    [Buzz Today]2012.09.12
    [Tips]*.rsp文件 == MSBuild Response File
    [CAX Speak]Autodesk收购HSMWorks
    [CAX Speak]Sungrass.io Overview
    The first glance at Inno
    [Tips]HTML5之禁止File Drag&Drop
  • 原文地址:https://www.cnblogs.com/mrrxu/p/3991556.html
Copyright © 2011-2022 走看看