2018年11月13日学习日志

本文深入讲解了程序设计中的核心概念,包括各种运算符的用法、优先级及应用实例,如算术、关系、逻辑、赋值、位运算符等。详细解析了if-else、switch、for和while循环的使用技巧,以及如何利用断点进行程序调试,是初学者和开发者提升技能的宝贵资源。


一. 关于运算符;
1. 算术运算符;
运算符 描述 实例
+ 把两个操作数相加 A + B 将得到 30
- 从第一个操作数中减去第二个操作数 A - B 将得到 -10
* 把两个操作数相乘 A * B 将得到 200
/ 分子除以分母 B / A 将得到 2
% 取模运算符,整除后的余数 B % A 将得到 0
++ 自增运算符,整数值增加 1 A++ 将得到 11
-- 自减运算符,整数值减少 1 A-- 将得到 9

2. 关系运算符;
运算符 描述 实例
== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (A > B) 不为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (A < B) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (A >= B) 不为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 (A <= B) 为真。

3. 逻辑运算符;
运算符 描述 实例
&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (A && B) 为假。
|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (A || B) 为真。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 !(A && B) 为真。

4. 赋值运算符;
运算符 描述 实例
= 简单的赋值运算符,把右边操作数的值赋给左边操作数 C = A + B 将把 A + B 的值赋给 C
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 C += A 相当于 C = C + A
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 C -= A 相当于 C = C - A
*= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 C *= A 相当于 C = C * A
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 C /= A 相当于 C = C / A
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数 C %= A 相当于 C = C % A
<<= 左移且赋值运算符 C <<= 2 等同于 C = C << 2
>>= 右移且赋值运算符 C >>= 2 等同于 C = C >> 2
&= 按位与且赋值运算符 C &= 2 等同于 C = C & 2
^= 按位异或且赋值运算符 C ^= 2 等同于 C = C ^ 2
|= 按位或且赋值运算符 C |= 2 等同于 C = C | 2

5. 位运算符;
运算符 描述 实例
& 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
| 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。 (A ^ B) 将得到 49,即为 0011 0001
~ 按位取反运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0,包括符号位。 (~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111

6. 其他运算符;
运算符 描述 实例
sizeof() 返回数据类型的大小。 sizeof(int),将返回 4.
typeof() 返回 class 的类型。 typeof(StreamReader);
& 返回变量的地址。 &a; 将得到变量的实际地址。
* 变量的指针。 *a; 将指向一个变量。
? : 条件表达式 如果条件为真 ? 则为 X : 否则为 Y
is 判断对象是否为某一类型。 If( Ford is Car) // 检查 Ford 是否是 Car 类的一个对象。
as 强制转换,即使转换失败也不会抛出异常。 Object obj = new StringReader("Hello");
   StringReader r = obj as StringReader;


7. 运算符的优先级:
类别  运算符  结合性
后缀  () [] -> . ++ - -   从左到右
一元  + - ! ~ ++ - - (type)* & sizeof  从右到左
乘除  * / %  从左到右
加减  + -  从左到右
移位  << >>  从左到右
关系  < <= > >=  从左到右
相等  == !=  从左到右
位与 AND  &  从左到右
位异或 XOR  ^  从左到右
位或 OR  |  从左到右
逻辑与 AND  &&  从左到右
逻辑或 OR  ||  从左到右
条件  ?:  从右到左
赋值  = += -= *= /= %=>>= <<= &= ^= |=  从右到左
逗号  ,  从左到右

8. 三元运算符:表达式?值1:值2 
当表达式为真,返回值1  ,当表达式为假,返回值2
  //获取第一个字母的值;
            Console.WriteLine("请问今天下雨了吗?");
            int a =  int.Parse(Console.ReadLine());

            int b = 1;


            string c = a == b ? "下雨了" : "没有下雨";
            Console.WriteLine(c);
            Console.ReadLine();


二. 关于if else  语句的应用:
作为流程控制语句的一种,if eles语句有多种表现形式,常见的包括下列三种;
1. If()  {};
2. If() {}else{};
3. If() {} esleif{} ;
4. If() {} else if{} else{};
5. If嵌套;

虽然表现形式多种多样,但是if语句的核心在于做出判断,进行流程控制;

//if (a == b )
            //{
            //    Console.WriteLine("你的判断是对的");
            //    Console.ReadLine();

            //}
            //else
            //{

            //    Console.WriteLine("你的判断是错的");
            //    Console.ReadLine();
            //}


三. 关于switch 语句的应用
Switch语句和if语句的功能类似,都是用来进行流程控制的,不同的是switch语句的应用范围要更小一些,但是效率更高;
语法:switch (表达式)
{
Case 值1:
语句;
Break;
Case 值2:
语句;
Break;
Case 值3:
语句;
Break;
Defaule :
语句;
Break;

 


}

 

代码实例:
Console.WriteLine("请输入你的身高:");
            int shengao = int.Parse(Console.ReadLine());
            switch (shengao)
            {
                case 1:
                    Console.WriteLine("您的身材偏瘦1");
                    break;
                case 2:
                    Console.WriteLine("您的身材层号2");
                    break;
                case 3:
                    Console.WriteLine("您的身材偏瘦3");
                    break;
                case 4:
                    Console.WriteLine("您的身材偏瘦4");
                    break;
                case 5:
                    Console.WriteLine("您的身材偏瘦5");
                    break;
                default:
                    Console.WriteLine("您不瘦啦");
                    break;


            }
            Console.ReadLine();

四. 关于for循环的应用:
For循环和前面记录的if或者switch语句类似,都是用来控制流程的,不同的是if或者switch是控制选择的,而for语句是用来控制循环的,语句结构如下:
For(int I = 0 ; I < 次数值;i++){}

For循环经常使用内外嵌套的方式来实现二位形式的数据输出;


for (int a = 1; a <= 9; a++)
            {
                for(int b = 1; b <= a; b ++ )
                {
                    Console.Write("*");

 

                }
                Console.WriteLine();

 

            }
            Console.ReadLine();

嵌套语句的精髓在于外层循环决定二维表格的行数,而内层循环决定二维表格的列数,或则叫个数,通过二者的数量来确定变量的关系,进而实现想要的效果;

五. 关于while循环的应用:
1. While循环的两种表现形式:
While(循环条件){循环体}
do{循环体} while(循环条件)
二者的区别while是先判断循环条件是否成立,成立执行循环体,do  while
是先执行一次循环体,然后再判断循环条件,这样就能达到一个效果,无论循环条件成立或者不成立,循环体都会被执行一次;

关于循环需要特别注意的是,可以在循环中使用break  和continue  语句;
Break语句的作用是跳出所在的一个循环(无论改循环应该被执行多少次,一下子跳出来,不再执行);
Continue语句的作用是跳出所在的一次循环(跳出本次循环的执行过程,其他次继续执行);
    for (int a = 1; a <= 9; a++)
            {
                for(int b = 1; b <= 9-a; b ++ )
                {

                    continue;
                    Console.Write(" ");

                  
                }
                for (int b = 1; b <= a; b++)
                {
                    Console.Write("*");

                }
                Console.WriteLine();

            }
            Console.ReadLine();


for (int a = 1; a <= 9; a++)
            {
                for(int b = 1; b <= 9-a; b ++ )
                {

                    break ;
                    Console.Write(" ");

                  
                }
                for (int b = 1; b <= a; b++)
                {
                    Console.Write("*");

                }
                Console.WriteLine();

            }
            Console.ReadLine();
六.  关于程序调试的应用:
1. 程序调试的用途:发现并解决程序中的逻辑错误,查看程序执行的业务逻辑;
2. 程序调试的三步:
根据经验和认知,在可能出现错误的位置添加断点(选中行+f9  或者直接添加);
启动调试(f5),观察变量值的变化和代码执行过程,进行分析;
解决问题;
3. 断点调试过程中:f11 表示逐行运行,f10表示逐过程运行

Below is a list of versions that are available for the restAPI plugin. To find other plugins, please review this listing of most recent releases of all plugins. Plugins extend and enhance the functionality of Openfire. To install plugins, copy the .jar file into the plugins directory of your Openfire installation. Releases Info File Version Released Openfire Version Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.12.0 20257月4 5.0.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.11.0 20246月25 4.8.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.10.2 202311月20 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.10.1 202211月9 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.10.0 20229月29 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.9.1 20228月4 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.9.0 20228月4 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.8.3 20227月19 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.8.2 20226月27 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.8.1 20226月23 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.8.0 20224月6 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.7.1 20222月14 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.7.0 20221月19 4.7.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.6.0 20216月18 4.6.1 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.4.0 20202月24 4.1.1 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.3.10 20201月7 4.1.1 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.3.9 20193月21 4.1.1 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.3.8 201811月28 4.1.1 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.3.7 20188月30 4.1.1 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.3.6 20188月27 4.1.1 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.3.5 20188月13 4.1.1 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.3.1 20184月20 4.1.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.3.0 20183月7 4.1.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.2.5 201610月14 4.1.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.2.4 20167月4 4.0.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.2.3 20165月3 4.0.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.2.2 20161月20 4.0.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.2.1 201511月24 3.11.0 alpha + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.1.7 201511月13 3.10.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.1.6 20159月24 3.9.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.1.5 20159月1 3.9.0 + Plugin REST API Allows administration over a RESTful API. ReadMe Changelog Download 1.0.2 20153月3 3.9.0 + The plugins below, so-called SNAPSHOTS, are build automatically by the continuous integration system. They represent the latest development, but are untested. Snapshots Info File Version Built at Openfire Version Plugin REST API ReadMe Changelog Download 1.12.1-SNAPSHOT 20257月4 5.0.0 + Plugin REST API ReadMe Changelog Download 1.12.0-SNAPSHOT 20257月4 5.0.0 + Plugin REST API ReadMe Changelog Download 1.11.1-SNAPSHOT 20257月4 5.0.0 + Plugin REST API ReadMe Changelog Download 1.11.1-SNAPSHOT 202411月18 4.8.0 + Plugin REST API ReadMe Changelog Download 1.11.1-SNAPSHOT 202410月5 4.8.0 + Plugin REST API ReadMe Changelog Download 1.11.1-SNAPSHOT 20246月26 4.8.0 + Plugin REST API ReadMe Changelog Download 1.11.1-SNAPSHOT 20246月25 4.8.0 + Plugin REST API ReadMe Changelog Download 1.11.0-SNAPSHOT 20246月25 4.8.0 + Plugin REST API ReadMe Changelog Download 1.10.3-SNAPSHOT 20244月17 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.3-SNAPSHOT 20241月12 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.3-SNAPSHOT 202311月20 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.2-SNAPSHOT 20236月19 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.2-SNAPSHOT 20235月3 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.2-SNAPSHOT 20231月26 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.2-SNAPSHOT 20231月23 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.2-SNAPSHOT 202212月31 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.2-SNAPSHOT 202212月24 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.2-SNAPSHOT 202212月24 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.2-SNAPSHOT 202211月9 4.7.0 + Plugin REST API ReadMe Changelog Download 1.10.1-SNAPSHOT 202211月1 4.7.0 +
最新发布
10-03
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值