C#基础课堂笔记
第三章:运算符和表达式
1.认识运算符:运算符又叫操作符,是一个运用于运算的符号,它作用于一个或多个操作数
运算符的分类:
(1)按操作数量
一元(目)运算符 作用于一个操作数
二元(目)运算符 作用于二个操作数
三元(目)运算符 作用于三个操作数
(2 ) 按运算符的功能
算术运算符 用于数学运算
逻辑运算符 用于判断真假
位运算符 用于二进制运算
其他······
2.常见运算符:小括号
功能作用:(1)类型转换 (2) 改变运算顺序 (3) 函数调用 书写方式:英文 小括号();
3.常见运算符:算术运算符
加加(++)运算符
书写方式: 变量名++ 1.计算返回结果,与变量相同 (计算整个语句的返回结果) 2.将变量的值自增 1
++变量名 1.计算整个语句的返回结果,为变量值加 1 2.将变量自身值自增 1
减减(--)运算符
书写方式:变量名-- 1.计算返回结果,与变量相同 2.将变量值自减 1
--变量名 1.计算变量结果,为变量值减 1 2.将变量的值自减 1
运算顺序:(++) ( --) ( * ) (/) (%) (+) (-)
4.常见运算符:赋值运算符
赋值运算符:= += -= *= /= %= 返回结果与变量值相同
5.常见运算符:逻辑运算符
定义:用于判断条件是否成立的运算符 常见逻辑运算符: == /= > >= < <= && || !
&&(并且):两个bool 类型进行运算。运算的结果:真真为真,其他为假
|| (或者):两个bool类型进行运算。 运算的结果:假假为假 其他为真
!(非):一元运算符,对一个bool类型的数据求反,数据为真,运算结果为假, 数据为假, 运算结果为真
6.常见运算符:三目运算符
定义:三目运算符又叫做三元运算符,它需要三个操作数参与运算 书写方式: 操作数1? 操作数2 : 操作数3 (操作数1 必须为bool 类型,操作数2 操作数3 可以为任意类型,但必须两个类型相同)
返回结果:如果操作数1 判定结果为真,则将操作数2 作为返回结果 如果操作数1 判定结果为假, 则将操作数3 作为返回结果
7.位运算符
定义:用于对数字二进制的运算
& (与): 对两个数字的二进制格式每一位比较 如果都为1 取 1, 否则 取0
| (或):对每一位进行比较,如果都为0,取0 ,否则 取1
^ (亦或):对每一位比较,相同取0,不同取1
<< (左移):对一个二进制数字向左移指定的位数
>>(左移):对一个二进制数字向右移指定的位数
~ (取补):一元运算符,将数字二进制位上的 0变成1 1变成0
8.表达式
定义:一条有意义的语句,并且该语句至少包含一个操作数和连个操作符 每一个表达式,都有一个返回类型 每个表达式都可以与其他表达式进行运算,只要类型符合要求
9.运算符优先级
优先级越高的运算符,会优先得到运算,优先级相同的运算符,从左至右一次执行
使用多个运算符的常见场景
赋值运算:永远最后执行
赋值运算符.PNG
数学运算:按照数学中的运算顺序进行,先运行括号,有嵌套则从里到外依次运行后,再运行乘除求余,最后运行加减
逻辑运算:在逻辑运算时,将 && 和 || 符号两端的表达式看作一个整体
a>b && c>d 表示: a > b 并且 c > b
a<b || c<d 表示: a<b 或者 c<d
其他:在不清楚运算顺序的时候,使用小括号或分开书写来控制运算顺序,小括号拥有最高的优先级
类型转换和函数调用:这里的类型转换是指显示转换(目标类型)
(目标类型)x.y() 先进行函数调用将函数调用的结果再进行类型转换
第4章 流程控制
1. 变量作用域
定义:可以简单的理解为,某个变量在定义时所在的括号;在大括号内,该变量有效,大括号外无效
在某个位置定义变量的时候,变量不得与作用域覆盖的变量名相同
在C#中:在省略大括号时,大括号不能是变量声明语句
2.switch 选择
switch语句都可以转换为 if 结构;if 结构不一定能转换为switch格式
代码格式:
"break" 必须写 代码1;代码2;必须是具体的值
代码1和代码2 的值必须要和(变量和表达式)能比较
case语句可以有任意多个
default 语句可以写也可以不写,0 或 1 个
3.while 循环
循环体(任何功能,任何数据的代码)循环体若只有一句,可省略大括号
整个while 语句表达的意思是:如果循环条件为真,则执行循环体,执行完循环体之后,再判断条件是否为真,如果为真,再执行循环体,然后再判断条件是否为真,就这样一直进行下去,直到循环条件的判定结果为假,才会结束循环
4. do while循环
do while 循环:可以省略掉一些重复的代码,使整个代码更加整洁
代码格式:
语句意思:先执行一次循环体,然后判断循环条件是否满足,如果满足 则再次执行循环体,然后再判断条件是否满足,直到条件不满足,才结束循环
5.for 循环
代码格式
语句运行意思:运行表达式1 判断循环条件是否为真,如果为真,则执行循环体,执行完后,再运行表达式2,接着再判断循环条件........直到循环条件为假,才会结束循环
表达式1:可以是任何代码,一定会执行,且只执行一次
表达式2:可以是任何代码,在循环体执行后执行
region 指令:region 和 endregion 必须成对书写,也就是说,你不能只写一个 region 或只写一个 endregion,而且它们都是以一个#号开头。
控制台清屏:有的时候,当程序运行到某个时候,我们需要将控制台当前的内容全部清空,这个时候,就需要用到控制台清屏的命令。
6.break和continue
break
(用于switch) break 可以在switch 选择和循环中使用
(用于循环) 表示立即结束循环
continue 只能用于循环 表示立即结束当次循环,进入下一次循环
7.查找问题
根据需求,在一组数据中,找到需要的数据
简单查找:在样本中,一次寻找目标数据
特点:一定会使用到循环,循环一定是从样本的第一个数据开始,在到达样本最后一个数据后结束,循环体中一定包含一个判断,该判断用于判断当前数据是否是目标数据
C#基础课堂笔记的更多相关文章
- C#基础 课堂笔记 下
函数 1.认识函数 定义:具有独立功能,并能通过名称重复使用的代码 函数的声明位置 必须在 类 中 函数声明语法 函数声明示例 函数的调用 定义:函数调用就是使用函 ...
- Java基础进阶:内部类lambda重点摘要,详细讲解成员内部类,局部内部类,匿名内部类,Lambda表达式,Lambda表达式和匿名内部类的区别,附重难点,代码实现源码,课堂笔记,课后扩展及答案
内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类 ...
- Java基础进阶:多态与接口重点摘要,类和接口,接口特点,接口详解,多态详解,多态中的成员访问特点,多态的好处和弊端,多态的转型,多态存在的问题,附重难点,代码实现源码,课堂笔记,课后扩展及答案
多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可 ...
- 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记
前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...
- 九章算法系列(#5 Linked List)-课堂笔记
前言 又是很长时间才回来发一篇博客,前一个月确实因为杂七杂八的事情影响了很多,现在还是到了大火燃眉毛的时候了,也应该开始继续整理一下算法的思路了.Linked List大家应该是特别熟悉不过的了,因为 ...
- 九章算法系列(#4 Dynamic Programming)-课堂笔记
前言 时隔这么久才发了这篇早在三周前就应该发出来的课堂笔记,由于懒癌犯了,加上各种原因,实在是应该反思.好多课堂上老师说的重要的东西可能细节上有一些急记不住了,但是幸好做了一些笔记,还能够让自己回想起 ...
- 九章算法系列(#2 Binary Search)-课堂笔记
前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一 ...
- ocp11g培训内部教材_052课堂笔记(042)_体系架构
OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...
- ocp11g培训内部教材_051课堂笔记(047)_SQL
OCP 051课堂笔记 目录 OCP 051课堂笔记... 1 第一章.Oracle命令类别:... 4 第二章.SQL的基本函数... 4 2.1 单行函数与多行函数... 4 2.2 单行函数的几 ...
随机推荐
- MyBatis源码解析【4】反射和动态代理
通过之前的介绍,我们了解了几个组件的生命周期. 它也是我们重要装备之一. 今天我们需要搞一件更加强的装备,叫做反射和动态代理. 如果没有这件装备的话,显然后面的源码boss是打不动的. 顺便说一下,下 ...
- Maven下从HDFS文件系统读取文件内容
需要注意以下几点 1.所以的包都是org.apache.hadoop.XXX 2.三个配置文件要放到指定文件夹中等待文件系统读取(src/main/resources):core-site.xml h ...
- (cljs/run-at (JSVM. :all) "细说函数")
前言 作为一门函数式编程语言,深入了解函数的定义和使用自然是十分重要的事情,下面我们一起来学习吧! 3种基础定义方法 defn 定义语法 (defn name [params*] exprs*) 示 ...
- php中curl的使用(一)
cURL 是一个利用URL语法规定来传输文件和数据的工具,PHP的curl是通过libcurl库与服务器使用各种类型的协议,如HTTP.FTP.TELNET等. PHP curl函数 curl_clo ...
- Luogu 1111 修复公路(最小生成树)
Luogu 1111 修复公路(最小生成树) Description A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 给出A地区的村庄数N,和公路数M,公路是双向的 ...
- Rsync:一个很实用的文件同步命令
sync是Linux系统下的文件同步和数据传输工具,可用于同步文件.代码发布 1.安装. yum install -y xinetd yum insatll -y rsync 2.配置 打开rsync ...
- 如何移除HTML5的type=""number""的input标签的上下箭头
初次使用input的数字输入类型type="number"时会发现默认有个上下的箭头,如下图: 很明显这里不需要这个默认箭头,那么我们如何移出这个默认样式呢? 第一种方式,写css ...
- 51nod_1264:线段相交(计算几何)
题目链接 关于判断线段相交,具体算法见 点击打开链接 ,先进行快速排斥试验,若不能判断出两个线段不相交,再进行跨立试验. //吐槽1,long long 会溢出... //吐槽2,只进行跨立试验的虽然 ...
- SVN的目录管理规范
Subversion有一个很标准的目录结构,是这样的.比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是 svn://proj/ | +-trunk +-bra ...
- Spring源码情操陶冶-AbstractApplicationContext#invokeBeanFactoryPostProcessors
阅读源码有利于陶冶情操,承接前文Spring源码情操陶冶-AbstractApplicationContext#postProcessBeanFactory 约定:web.xml中配置的context ...