一、装箱和拆箱

装箱是将值类型转换为引用类型

eg:

Int a=5;

Object  o=a;

拆箱是将引用类型转换为值类型

eg:

Int a=5;

Object  o=a;

Int b=(int)o;

利用装箱和拆箱功能,可通过允许值类型的任何值与 Object 类型的值相互转换,将值类型与引用类型链接起来

二、运算符和表达式

类别

运算符

说明

表达式

算术运算符

+

执行加法运算(如果两个操作数是字符串,则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾)

操作数1 + 操作数2

-

执行减法运算

操作数1 - 操作数2

*

执行乘法运算

操作数1 * 操作数2

/

执行除法运算

操作数1 / 操作数2

%

获得进行除法运算后的余数

操作数1 % 操作数2

++

将操作数加 1

操作数++ 或++操作数

--

将操作数减 1

操作数-- 或--操作数

~

将一个数按位取反

~操作数

运算符

计算方法

表达式

求值

结果(假定 X = 10)

+=

运算结果 = 操作数1 + 操作数2

X  += 5

X = X + 5

15

-=

运算结果 = 操作数1 - 操作数2

X  -= 5

X = X - 5

5

*=

运算结果 = 操作数1 * 操作数2

X *= 5

X = X * 5

50

/=

运算结果 = 操作数1 / 操作数2

X  /= 5

X = X / 5

2

%=

运算结果 = 操作数1 % 操作数2

X %= 5

X = X % 5

0

优先级(1 最高)

说明

运算符

结合性

1

括号

( )

从左到右

2

自加/自减运算符

++/--

从右到左

3

乘法运算符

除法运算符

取模运算符

*

/

%

从左到右

4

加法运算符

减法运算符

+

-

从左到右

5

小于

小于等于

大于

大于等于

<

<=

>

>=

从左到右

6

等于

不等于

=

!=

从左到右

从左到右

7

逻辑与

&&

从左到右

8

逻辑或

||

从左到右

9

赋值运算符和快捷运算符

= += *=

/= %= -=

从右到左

自加自减

表达式

类型

计算方法

结果(假定 num1 的值为 5)

num2 = ++num1;

前置自加

num1 = num1 + 1;

num2 = num1;

num2 = 6;

num1 = 6;

num2 = num1++;

后置自加

num2 = num1;

num1 = num1 + 1;

num2 = 5;

num1 = 6;

num2 = --num1;

前置自减

num1 = num1 - 1;

num2 = num1;

num2 = 4;

Num1 = 4;

num2 = num1--;

后置自减

num2 = num1;

num1 = num1 - 1;

num2 = 5;

Num1 = 4;

转义字符:

转义序列

字符

\’

单引号

\”

双引号

\\

反斜杠

\0

\a

警告

\b

退格

\f

换页

\n

换行

\r

回车

\t

水平制表符

\v

垂直制表符

 

二、选择结构

1.

If(条件)

{

<语句块>

}

Else

{

<语句块>

}

2.

Switch(选择变量)

{

Case 值1:

...

Break;

Case 值2:

...

Break;

......

Case 值n:

......

Break;

Default:

......

}

Switch....case 语句其他特征:

  1. 各个case标签不必连续,也不必按特定顺序排列
  2. Default 标签可位于switch...case结构中的任意位置
  3. Default标签不是必选的,但使用default标签是一个良好的编程习惯
  4. 每两个case标签之间的语句数不限

四、循环结构

循环结构用于对一组命令执行一定的次数或反复执行一组命令,直到指定的条件为真

(一)循环结构的类型

While循环

While循环反复执行指定的语句,直到制定的条件为假

While(条件)

{

//语句

}

Break语句可以用于退出循环

Continue 语句可以用于跳过当前循环并开始下一循环

Do....while循环

Do....while循环与while循环相似,两者的区别在于:Do....while循环中即使条件为假时也至少执行一次循环体中的语句

Do

{

//语句

}

While(条件)

for循环

for循环要求只有在对特定条件进行判断之后才允许执行循环

这种循环用于将某个语句或语句块重复执行预定次数的情形

For

{

//语句

}

foreach循环

foreach循环用于遍历整个集合或数组

Foreach(数据类型  元素(变量) in 集合或数组)

{

//语句

}

五、数组

数组是同一数据类型的一组值

数组属于引用类型,因此存储在堆内存中

数组元素初始化或给数组元素赋值都可以在声明数组时或在程序的后面阶段中进行

1.不赋值

Int []a=new int[5];

2.声明并赋值

Int []a=new int[5]{0,9,8,7,6};

Int []a=new int[ ]{0,9,8,7,6};

Int []a={0,9,8,7,6};

注意:数组的初始值的数目必须和数组的一样

六、冒泡排序

口诀:

n个数字来排序

两两相比小靠前

外层循环n-1

内层循环n-1-i

For(int i=0;i<n-1;i++)

{

For(int j=0;j<n-1-i;j++)

{

//比较j和j+1位置的元素,如果前大后小就交换

}

}

七、枚举

枚举是一组已命名的数值常量

用于定义具有一组特定值的数据类型

枚举以关键字enum声明

默认情况下,将0值赋给枚举的第一个元素,然后对每个后续的枚举元素按1递增

在初始化中可以重写默认值

Public  enum  weekdays

{

Monday=1,

Tuesday=2,

Wednesday=3,

Thursday=4,

Friday=5

}

C# 中的结构可以在其内部定义方法并可包括构造函数,但不能无参

C#基础(二)拆箱与装箱,循环与选择结构,枚举的更多相关文章

  1. JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法

    JAVA进阶之旅(一)--增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法 学完我们的java之旅,其实收获还是很多的,但是依然还有很 ...

  2. .NET基础知识(02)-拆箱与装箱

    装箱和拆箱几乎是所有面试题中必考之一,看上去简单,就往往容易被忽视.其实它一点都不简单的,一个简单的问题也可以从多个层次来解读. 常见面试题目: 1.什么是拆箱和装箱? 2.什么是箱子? 3.箱子放在 ...

  3. 《Java基础知识》Java包装类,拆箱和装箱

    虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎合人类根深蒂固的习惯, ...

  4. .NET面试题解析(02)-拆箱与装箱

      系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 装箱和拆箱几乎是所有面试题中必考之一,看上去简单,就往往容易被忽视.其实它一点都不简单的,一个简单的问题也 ...

  5. JAVA中拆箱和装箱

    浅谈JAVA中拆箱与装箱 一.  什么是装箱?什么是拆箱? 在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行: Integer i = new Integer(10) ...

  6. Java知多少(24)包装类、拆箱和装箱详解

    虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎合人类根深蒂固的习惯, ...

  7. C# 拆箱与装箱及优化

    1.概念 装箱在值类型向引用类型转换时发生,在堆中分配. 拆箱在引用类型向值类型转换时发生. 2.装箱拆箱的过程 //这行语句将整型常量1赋给object类型的变量obj:众所周知常量1是值类型,值类 ...

  8. [Java学习] Java包装类、拆箱和装箱详解

    虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎合人类根深蒂固的习惯, ...

  9. Java包装类、拆箱和装箱详解

    转载:https://www.cnblogs.com/ok932343846/p/6749488.html 虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程, ...

  10. int和Integer及拆箱与装箱

    int和Integer 如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下In ...

随机推荐

  1. SDL 在指定窗口中绘图

    SDL默认会自动创建绘图窗口,可以通过设置环境变量,让其在指定窗口绘图.代码如下: [cpp] view plaincopyprint? char sdl_var[64]; sprintf(sdl_v ...

  2. 芝麻HTTP:批量部署Splash负载集群

    安装Ansible: 看官方文档去:http://www.ansible.com.cn/index.html 好像这个主控端不支持Windows? 大家虚拟机装个Ubuntu吧. 闲话少扯直接上干货: ...

  3. 关于vue如何解决数据渲染完成之前,dom树显示问题

    在id="app"以下的标签中添加属性v-cloak 并且在css文件中添加[v-cloak]{display:none} 如果效果失效,这种原因是有几种可能,游览器大的解析加载速 ...

  4. python爬虫--爬取某网站电影信息并写入mysql数据库

    书接上文,前文最后提到将爬取的电影信息写入数据库,以方便查看,今天就具体实现. 首先还是上代码: # -*- coding:utf-8 -*- import requests import re im ...

  5. Complete the Word CodeForces - 716B

    ZS the Coder loves to read the dictionary. He thinks that a word is nice if there exists asubstring  ...

  6. 为Android Studio中的SettingsActivity定制任务栏

    Android Studio为开发者提供了很多内建的Activity, 其中Settings Activity是非常有用且功能强大的一种内建Activity. Setting Activity其实本质 ...

  7. Jenkins + Github持续集成构建Docker容器,维基百科&人工自能(AI)模块

    本文分两部分,第一部分是手动计划任务的方式构建Github上的Docker程序,第二部分是用Github webhook Trigger一个自动构建任务. Jenkins采用2.5版本Docker采用 ...

  8. Qtree3题解(树链剖分(伪)+线段树+set)

    外话:最近洛谷加了好多好题啊...原题入口 这题好像是SPOJ的题,挺不错的.看没有题解还是来一篇... 题意: 很明显吧.. 题解: 我的做法十分的暴力:树链剖分(伪)+线段树+\(set\)... ...

  9. mariadb 压缩包gz安装方式

    1.解压安装包tar -zxvf mariadb-5.5.56-linux-x86_64.tar.gz 2.cd support-filescp my-small.cnf /etc/my.cnf 2. ...

  10. 解决JSON.stringify()自动将中文转译成unicode的方法

    最近在工作中,发现在IE8下JSON.stringify()自动将中文转译为unicode编码,原本选择的中文字符,传到后台变为了unicode编码,即\u****的形式.查找资料后发现,与标准的JS ...