摘要

  第二篇主要讲:变量、连接符占位符等、转义字符、数据的计算、数据的转换、try-catch的简单熟悉、复合运算符和自加自减

一、变量
  1.数据存储在内存中:内存叫做RAM,内存被分隔为一小格一小格的,每个小格有个地址。内存的特点是:断电后数据丢失
  2.变量:变量代表着一块内存空间,我们可以通过名称向内存 存或读数据,有变量就不需要我们记忆复杂的内存地址
  3.声明整数类型,并赋值:int number = 1000;
  4.变量的简单类型
  数据类型:
    整型:sbyte,byte:1个字节(8位)
       short,ushort:2个字节
       int,uint:4个字节
       long,ulong:8个字节
    非整型:float,decimal,double…
  非数据类型:char,string,bool…
  5.数据类型精度:
    double只有16个精度
    decimal没有精度限制,但是一共可以保存29位数
    decimal类型变量的声明与赋值:decimal dec = 3.4m;
  6.声明变量的方式
    先声明,再赋值:
    int a;
    a = 10;
    声明并赋值:
    int a = 10;
    声明多个变量(多个变量名以逗号分隔,最后以分号结尾):
    int a,b,c;
  7.命名规则:Camel命名法
    变量:开头小写,后面每个单词开头大写:studentName
    方法名或者类名:开头大写,后面的每个单词开头大写:GetStudentName

二、赋值符、连接符、占位符
  1.赋值符:=
    运算符有优先级
    a=a+1;
    a先加一,然后再赋值给自己

  2.连接符:+
    +在C#中有两种意义:
    一种是数学上的加法算术:两边参与运算的类型都为数据类型,则为加法
    另一种是连接的意思:两边参与运算的类型有一个为字符串时,则为连接

  3.占位符(在字符串中使用):{0开始的数字}
    在字符串中使用

三、数据的交换
  需要借助中间变量

int a = ;
int b = ;
int temp; temp = a;
a = b;
b = temp;

四、转义字符
  我们要在字符串中输入一些特殊的字符时,如引号,回车等,需要加上转义字符
    \n:带边换行
    \":代表字符串中的"
    \b:backspace(删除前一个字符)
    \\: \
  还有很多其他的转义字符:一般是\加上其他的字符代表其他意思
  注:字符串前面加@符号

    字符串中的转义符不再转义
    字符串可以多行写
    如果在加@符号的字符串中需要加字符串时,两个""代表"

五、算术
  1.算术运算符
    二元运算符:+ - * / %

  2.算术
    int类型和double算术类型计算,结果会转化为double

    算术运算符两边的数据类型要一致,结果类型也是一致的
    但是当运算符两边类型不同时,且类型兼容时,计算机自动做类型的转换(隐式转换)。
    且计算的结果的类型,为不丢失精度的那个类型

    不丢失数据和精度的情况才会做自动转换
    所以decimal不能隐式转换为double,因为decimal的精度大于double

六、类型的转换
  1.强制转换
    程序不允许把高精度的数据类型转到低精度的数据类型
    如果确实需要转换,需要用代码强制转换
    格式:(目标类型)待转换的数据
    如果强制转换的过程中,发生了精度丢失,不是四舍五入,而是直接丢失精度数据

  2.Convert类提供了多种数据中间转换的方法,但是Convert转换
    不是强制转换,而是对待转换的数据进行加工

  3.转换注意项
    不管是隐式转换 还是 强制转换,都只能是数据之间的转换
    不能在字符串和数据之间进行强制转换,只能通过Convert类来转换

    Convert不再仅是内存级别的转换,而是考虑数据意义的转换。Convert是一个加工、改造的过程

    一切类型都可以转换成字符串

七、try-catch的简单熟悉
  1.try-catch使用方法
    try
    {
      代码
    }
    catch
    {
      代码
    }
  如果try中的代码没有出现异常,则程序正常执行到try中的内容后,不会执行catch中的内容;如果try中的代码一旦出错,try中出错代码位置后面的代码都不会执行,程序立即跳到catch中去执行代码

八、习题计算(熟悉算术运算符)
  输入一个天数,计算输入天数有几个月零几周零几天

 class Program
{
static void Main(string[] args)
{
//输入天数,计算出有几周零几天
//Console.WriteLine("请输入需要计算的天数:");
//int days = Convert.ToInt32(Console.ReadLine());
//int weeks = days / 7;
//int day = days % 7;
//Console.WriteLine($"你输入的{days}包含{weeks}周零{day}天。");
//Console.ReadKey(); //输入天数,计算出有几个月零几周零几天
Console.WriteLine("请输入需要计算的天数:");
int days = Convert.ToInt32(Console.ReadLine());
int months = days / ;
int weeks = ( days - * months ) / ;
int day = ( days - * months ) % ;
Console.WriteLine($"你输入的{days}包含{months}个月零{weeks}周零{day}天。");
Console.ReadKey();
}
}

九、复合运算符和自加自减
  1.运算符
    一元运算符:只有一个操作数:a++,a--
    二元运算符:两个操作数:a+b
    三元运算符:三个操作数:a>b?a:b

  2.自加
    a++是后加
    ++a是先加

  C#中一般情况下,一元运算符优先级大于二元运算符
  int a = 3;
  int b = 3;
  int c = ++a * b++;
  c最后为12,因为是4*3

  3.复合运算符
    +-*/%和=组合称之为复合运算符
    如:+=,-=,*=
    a=a+2;
    等效于
    a+=2;

C#基础知识总结(二)的更多相关文章

  1. Java JDBC的基础知识(二)

    在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...

  2. LeetCode刷题191130 --基础知识篇 二叉搜索树

    休息了两天,状态恢复了一下,补充点基础知识. 二叉搜索树 搜索树数据结构支持许多动态集合操作,包括Search,minimum,maximum,predecessor(前驱),successor(后继 ...

  3. Ajax基础知识(二)

    接上一篇  Ajax基础知识(一) 在上一篇博客里,抛弃了VS中新建aspx页面,拖个button写上C#代码的方式.使用ajax的方式,异步向服务器请求数据.我们让服务器只简单的返回一个" ...

  4. HTTP基础知识(二)

    接着上一章的内容:HTTP基础知识(一)   二.简单的HTTP协议 1.客户端:请求访问文本或图像等资源的一端称为客户端: 服务器端:提供资源响应的一端   2.以百度为例子 这是请求头: 在起始行 ...

  5. XML的相关基础知识分享(二)

    前面我们讲了一下XML相关的基础知识(一),下面我们在加深一下,看一下XML高级方面. 一.命名空间 1.命名冲突 XML命名空间提供避免元素冲突的方法. 命名冲突:在XML中,元素名称是由开发者定义 ...

  6. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  7. Android中的一些基础知识(二)

    这几天在回顾Android的基础知识,就把一些常见的知识点整理一下,以后忘了也可以翻出来看一看. 简单介绍一下Activity的生命周期 在API文档中对生命周期回调的函数描述的很详细,这里我只是翻译 ...

  8. 《Java从入门到失业》第一章:计算机基础知识(二):计算机组成及基本原理

    1.2计算机组成及基本原理 1.2.1硬件组成 这里说的计算机主要指微型计算机,俗称电脑.一般我们见到的有台式机.笔记本等,另外智能手机.平板也算.有了一台计算机,我们就能做很多事情了,比如我在写这篇 ...

  9. C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)

    前言 之前对几个没什么理解,只是简单的用过可空类型,也是知道怎么用,至于为什么,还真不太清楚,通过整理本文章学到了很多知识,也许对于以后的各种代码优化都有好处. 本文的重点就是:值类型直接存储其值,引 ...

  10. MongoDB基础知识(二)

    一.基本概念 1:文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行 2:集合(collection)可以看做是一个拥有动态模式(dynamic schem ...

随机推荐

  1. Unity3D在移动平台下加载AssetBundle导致Shader效果不正确的问题

    这个问题,主要还是在移动平台下开发导致的. 在编辑器里调试加载AB时会导致Shader效果不正确的原因,主要还是编辑器下加载以IOS或是ANDROID平台打包的AB它所使用的shader已经编译成对应 ...

  2. PaaS平台的尴尬与变革

    当今时代只要提到云计算这个词语,一定会提到云计算分为IaaS.PaaS.SaaS 这三个层面,现阶段云环境中IaaS和SaaS都实现了商品化.但是,PaaS作为云计算的服务模式之一,既不像IaaS那样 ...

  3. 工作jQuery基础复习(一)

    1.prop() 方法 设置或者返回被选元素的属性和值 当该方法用于返回属性值时,则返回第一个匹配元素的值 当该方法设定属性值时,则为匹配元素集合设置一个或者多个属性/值对

  4. Visual Studio 开发(二):VS 2017配置FFmpeg开发环境

    在上篇文章Visual Studio 开发(一):安装配置Visual Studio Code 中,我们讲了一下如何配置VS CODE,来编写和调试C的代码.如果你已经使用VS Code回顾和复习好C ...

  5. Javascript高级编程学习笔记(28)—— BOM(2)window对象2

    今天讲一下window对象和浏览器导航,弹窗等有关的内容 导航和打开窗口 window.open() 用于导航到某个特定 url 该方法接收四个参数 1.url 2.窗口目标(当页面中有多个框架fra ...

  6. Java工程师必备

    Java工程师必备 JAVA基础扎实,熟悉JVM,熟悉网络.多线程.分布式编程及性能调优 精通Java EE相关技术 熟练运用Spring/SpringBoot/MyBatis等基础框架 熟悉分布式系 ...

  7. java 常见面试题总结(一)

    1.Redis应用场景 答:分布式会话,分布式锁,计数器,缓存,消息队列,排行榜,最新列表. 2.如何访问一个类的私有方法? 答:使用反射进行访问,代码如下: package cn.entity; p ...

  8. MRO

    在Python3里面,有多继承的时候,往往会出现调用Super失败的情况.Python里存在一种多继承 Super的调用顺序(C3算法),保证每个类调用一次. 体现:类名.__mro__ 使用Supe ...

  9. 使用maven插件构建docker镜像

    为什么要用插件 主要还是自动化的考虑,如果额外使用Dockerfile进行镜像生成,可能会需要自己手动指定jar/war位置,并且打包和生成镜像间不同步,带来很多琐碎的工作. 插件选择 使用比较多的是 ...

  10. List,泛型和Datatable 的相互转换

    public static DataTable ToDataTableTow(IList list) { DataTable result = new DataTable(); ) { Propert ...