• C#日记一


    ---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

    变量:

    计算机中使用内存来存储数据。

    我们在计算机中存储数据和客人住旅馆很相似。

    用变量来代表一块内存空间,内存空间就是存放数据的,通过变量来向某一块内存空间中存放数据有变量就不需要我们记忆复杂的内存地址

    向内存中申请一块内存空间的语法:

    数据类型 变量名

    数据类型分为数值类型和非数值类型,而数值类型分为整数类型和非整数类型

    int  i=3;

    doubele d=3.14

    char r=’A’;//存放字符注意只能用单引号引起来

    string str=”zhangsan”;//字符串,可以用+号连接起来

    decimal money=5.5m;(注意doubel和decimal不能相转化,有精度丢失和超出范围的可能性)

    一次声明多个同类型的变量,多个变量名称之间要用逗号分隔,最后以;结束这句话

    变量一定要先声明才能赋值使用

    变量的命名规则:

    1必须以字母或者_或者@符号开头,不能以数字开头

    2后面可以跟任何字符、数字、下划线,不能包含空格

    注意:

    1.起的名字不要与C#中系统的关键字重复

    2.在C#中大小写是敏感的

    3.在同一个变量名不允许重复定义

    定义变量名时,变量名要有意义

    C#变量命名编码规范——Camel命名法:首个单词的首字母要小写,其余单词的首字母要大写。

    Pascal命名法:每个单词的第一个字母都要大写

    如果使用到英文单词的缩写,全部用大写。

    如PI、studentName  zsAge     SoftwareName     SystemVersion

    在console.writeline(“”)中,第一个变量字符串中可以使用占位符,占位符由{数字}组成,数字由0开始编号,第1个占位符{0},第2个占位符{1},第3个占位符{2},

    Console.writeline(“我叫{0},今年{1}岁了,我的工资是{2}”,name,age,salary);

    Console.writeline();有多个参数时,输出都是第一个参数中的内容,从第2个参数开始,都是用来替换第一个参数中的占位符的值,所以从第二个参数开始,要不要输出,就要看第一个参数中有没有相关的占位符

    @在字符串前面表示不转义,用在文件路径         @“F:1.text”

    在字符串前面加一个@符号有两种意义

    1,  字符串中如果有,则不再理解为转义符

    2,  使字符串可以换行

    常用的转义符:

    表示换行

     退格 

    表示tab键,具有行与行之间对齐的功能 

    \  表示一个

    什么是转义字符:转义字符是一个字符,他是由一个+一个字母来组成具有特殊意义的一个字符

    C#中,有五个算术运算符:+-*/

    他们二元运算符,要求:参与运算的两个操作数的类型必须相同,并且经过运算后的结果也与操作数的类型相同。

    在算数表达式中,如果要改变计算的优先级,可以用小括号,小括号可以无限制的套用,但一定要成对出现

    参与运算(算数运算和赋值运算)的操作数和结果类型必须一致,当不一致时,满足下面条件时,系统自动完成数据类型转换

    两种类型兼容:例如int和double  

    目标类型大于源类型double>int,必须一边的数据范围类型表示范围小,一边的表示范围大,并且把小的转向大的不丢失精度

    对于表达式

    如果一个操作数为double型,那么整个表达式可提升为double型

    在自动转换中,转换是不会丢失精度的,

    如果丢失精度,那么这个转换肯定不会自动完成

    经常见到的就是,参与运算的两个操作数,一个是int,一个是double,那么int类型会自动转换成double型

    强制类型转换:(数据类型名)待转换的值

    Int b=(int)3.14

    当需要丢失精度的转换时,系统是不会帮我们自动转换的,需要我们程序员来写代码来完成转换

    注意:下面的两种转换时错误的,因为强制类型转换要求待转换的类型和目标类型都为数字

    String age=(int )console.ReadLine();

    Int a=(int )”23”;

    类型转换

    Convert不再是仅内存级别的转换,而是考虑了意义的转换,convert是一个价格、改造的过程。

    Convert.toint32(待转换字符串);

    Convert.tostring、每种类型都还有tostring()方法。

    一切类型都可以转换成string 类型

    Int 变量名=convert.toint32(待转换字符串)

    异常捕获

    Try-catch

    Try

    {有可能出现错误的代码

    }

    Catch

    {如果try中的代码出现异常,则进catch中

    (出错后的处理)

    }

    如果try中的代码没有出错,则程序正常运行try中的内容,不会执行catch中的内容

    如果try中的代码一旦出错,程序立即跳入catch中执行代码,那么try中的出错代码后面的

    代码

    算数运算符

    ++自加一 有前加和后加

    --自减一

    一元运算符++/--比二元的+/-优先级高

    +=    -=  *=    /=     %=

    布尔(bool)类型值有2个:

    真:true

    假:false

    逻辑运算符

    &&表示前后2个条件都要满足true时,整个表达式结果才为true

    ||表示前后2个表达式有一个满足true时,整个表达式结果为true

    !表示对表达式取反

    If结构

    If(条件)

    语句1:

    执行过程:首先判断条件的结果,如果条件为true,则执行语句。如果条件为false,则跳过语句1,执行后面的语句。

    注意:1)If后面的括号中的条件,要能计算成一个bool类型的值

    2)默认情况下,If语句只能带一句话,即和if有关的语句只有语句1

    If-else结果

    语法:

    If(条件)

    {语句1}

    Else

    {语句2}

    执行过程:

    如果条件为true,则执行if带的语句块1,并且跳过else带的语句块2

    如果条件为false,则跳过If带的语句块1,执行else带的语句块2

    上面两个语句块,根据条件结束为true或false,总要执行一个

    在if-else if语句中,只有当上一个条件不成立时,才会进入下一个if语句并进行If语句后面的条件判断。一旦有一个if后面的条件为true,则执行此if所带的语句块,语句块执行完成后,程序跳出if-else if结构,如果所有的if条件都不成立,则如果最后有else,则执行else所带的语句,否则什么都不执行。

    Switch –case语法:

    Switch(表达式)

    {

    (case 3:)// 前面还可以有别的条件

    Case 值1:语句块1;

    Break;

    Case 值2:语句块2;

    Break;

    Default:语句块3

    Break;

    }

    执行过程:首先计算表达式,然后根据计算结果与匹配case后面的值,如果有匹配项,则执行匹配项后面的语句,直到break语句跳出switch-case。如果所有的case值都不匹配,那么有default,则执行default后面的语句,直到break结束,如果没有default,则跳出switch-case,什么都不执行。

    Switch一般只能用于等值比较

    If-else if可以做范围处理

    Do-while先执行再判断

    While-do先判断再执行

    For循环

    For(int i=0;i<7;i++)

    {循环体}

    Break:

    1)  可以用于switch-case判断中,用于跳出switch

    2)  用在循环中,用于立即跳出(中止)循环

    注意:用于循环中时,跳出的是break所在的循环

    Continue:

    用于循环中,程序一旦执行到continue语句,立即结束本次循环(就是不在执行循环中continue下面的语句),直接进行了下一次循环。

    三元表达式

    表达式1?表达式2:表达式3

    执行过程:首先计算表达式1,表达式1应该是一个能够计算成bool类型的值,如果表达式1的值为true,则表达式2的值作为整个表达式的值,如果表达式1的值为false,则表达式3的值作为整个表达式的值。

    表达式2和表达式3的类型一定要相同(相容)

    ---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

  • 相关阅读:
    Thymeleaf
    JdbcTemplate
    submit提交判断
    C++经典排序算法的理解:冒泡排序和选择排序
    求二进制中1的个数
    记录一次读取hdfs文件时出现的问题java.net.ConnectException: Connection refused
    linux服务器间配置ssh免密连接
    psycopg2模块安装问题
    sklearn.tree.DecisionTreeClassifier 详细说明
    sklearn.neighbors.NNeighborsClassifier 详细说明
  • 原文地址:https://www.cnblogs.com/qwsdxz/p/3163675.html
Copyright © 2020-2023  润新知