一、装箱和拆箱

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

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. org.hibernate.MappingException:Unknown entity:java.util.ArrayList

    1.错误描述 [CQ] ERROR [http-apr-8888-exec-3] com.opensymphony.xwork2.util.logging.commons.CommonsLogger. ...

  2. Scrapyd日志输出优化

    现在维护着一个新浪微博爬虫,爬取量已经5亿+,使用了Scrapyd部署分布式. Scrapyd运行时会输出日志到本地,导致日志文件会越来越大,这个其实就是Scrapy控制台的输出.但是这个日志其实有用 ...

  3. Think with Google 京东如何玩转TensorFlow?

    2018 年 2 月 6 日,Think with Google 年度峰会在北京召开.在本次峰会上,我们分享了 Google 和我们的合作伙伴在 AI (人工智能) 方面取得的成绩,探讨如何利用人工智 ...

  4. 【BZOJ4199】【NOI2015】品酒大会(后缀数组)

    [BZOJ4199][NOI2015]品酒大会 题面 BZOJ Uoj 洛谷 题解 考虑最裸的暴力 枚举每次的长度 以及两个开始的位置 检查以下是否满足条件,如果可以直接更新答案 复杂度\(O(n^3 ...

  5. 【POI2001】【HDU1814】和平委员会

    题面 Description 根据宪法,Byteland民主共和国的公众和平委员会应该在国会中通过立法程序来创立. 不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍. 此委员会必须满足下列条 ...

  6. Zabbix 监控 Docker容器

    我们可以通过Python提供的模块docker来取各个docker容器的监控参数.参考文档:http://docker-py.readthedocs.io/en/stable/containers.h ...

  7. docker 一键安装zabbix server、zabbix agent

    基本原理.须知:1.zabbix 分为zabbix server和zabbix agent,其中zabbix server需要web环境,并且其数据存储在独立的数据库中:2.docker是一种容器服务 ...

  8. python selenium 自动化测试web

    如何使用python完成自动化测试web页面呢?首选selenium   那基于python的selenium如何使用,下面看一段测试案例: 基于python的selenium 安装方法: pip i ...

  9. vue使用 better-scroll的参数和方法

    格式:var obj = new BScroll(object,{[option1,],.,.}); 注意: 1.要确保object元素的高度比其父元素高 2.使用时,一定要确保object所在的do ...

  10. 云主机和vps的区别

    云主机和vps的区别   近年来,IT行业开始热衷于各种云概念,而云主机就是其中之一,并且有越来越热之势.对普通用户而言,可能不太清楚云主机和VPS的区别,下面我们就来说说云主机和VPS到底有什么不同 ...