using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _02
{
class Program
{
static void Main(string[] args)
{
//string s = “张三”;
//int age = 18;
////字符串与数字相加,隐式将数字转为字符串,再拼接为新的字符串
//Console.WriteLine(age+”我叫” + s + “,今年” + age + “岁了。”);
////{}占位符,代表一个值,索引从零开始。
//Console.WriteLine(“我叫{0},今年{1}岁了。”, s, age);
//Console.ReadKey();
//1234变成4321
//int i = 1234;
//int y = int.Parse("" + i % 10 + i % 100 / 10 + i % 1000 / 100 + i / 1000);
//Console.WriteLine(y);
//Console.ReadKey();
//1+=1等于1=1+1 1++等于1=1+1
//++1和1++ c#与java一致,++1先加后用,1++先用后加
//int i = 1, y = 1;
//i++;
//++y;
//Console.WriteLine((i)+","+(y));
//i = 1;
//y = 1;
//Console.WriteLine(++i + "," + y++);
//Console.WriteLine(i + "," + y);
//Console.ReadKey();
//关系运算符,返回类型是bool
//int i = 10;
//int j = 10;
//Console.WriteLine(i == j);
//Console.ReadKey();
//string s1 = "1";
//string s2 = "1";
////比较内存地址,因为都是值类型,所以在栈里的位置一致,所以相等
//Console.WriteLine(s1 == s2);
////比较值本身
//Console.WriteLine(s1.Equals(s2));
//Console.ReadKey();
//&& 短路与 先判断左边的表达式是否成立,不成立直接返回false,不再计算后面的表达式
//成立再计算后面的表达式
//&&左右的表达式都成立返回true,任意一边的表达式不成立都返回false
//& 逻辑与 计算&左右的表达式后再比较,返回同上。效率较短路与低。
//Console.WriteLine(1 == 1 && 1 == 1);
//Console.WriteLine(1 != 1 && 1 == 1);
//Console.WriteLine(1 == 1 && 1 != 1);
//Console.ReadKey();
//is 判断当前变量的数据类型 与 被检测数据类型是否一致,返回为bool
//int i = 1;
//Console.WriteLine(i is int + "," + i is string);
//Console.WriteLine(i is int + "," + (i is string));
//Console.WriteLine(i is Program);
//Console.ReadKey();
//接受控制台的一行输入(按回车键后即为一行输入)
//string str = Console.ReadLine();
//typeof(数据类型) 返回数据类型的所属库
//Console.WriteLine(typeof(int));
//Console.WriteLine(typeof(Int16));
//Console.WriteLine(typeof(string));
//Console.ReadKey();
//.GetType() 返回变量的所属库
//string i = "";
//Console.WriteLine(i.GetType());
//Console.ReadLine();
//?: 三元运算符 表达式?成立返回:不成立返回
//Console.WriteLine(1 > 2 ? 1 : 2);
//Console.ReadLine();
//变量定义中含有一个问号,数据类型为NullAble类型。(NullAble意思是可以为空)
//变量定义中含有两个问号,意思是取所赋值 ?? 左边的,如果左边为null,取所赋值 ?? 右边的
//int? i = 1, y = null, z = i ?? 2, x = y ?? 2;
//Console.WriteLine(i + "," + y + "," + z + "," + x);
//Console.ReadLine();
//as运算符只执行引用转换和装箱转换。
//as运算符无法执行其它转换,如果用户定义的转换,
//这类转换应使用强制转换表达式来执行。
//拆箱 值类型到引用类型
//装箱 引用类型到值类型
//Program p = new object() as Program;
//1.由用户输入一个4位数的数字,
//分别求出该数字的个位、十位、百位、千位
//Console.WriteLine("请输入一个4位数的数字");
//string s = Console.ReadLine();
//int i = int.Parse(s);
//Console.WriteLine("个位:" + i % 10 + ",十位:" + i % 100 / 10 + ",百位:" + i % 1000 / 100 + ",千位:" + i / 1000);
//Console.ReadLine();
//2.定义一个变量记录硬盘的大小,
//如1GB,那么计算这个硬盘有多少MB。
//有多少KB。有多少Byte。(1024规则)
//int i = 1;
//Console.WriteLine(i + "GB=" + i * 1024 + "MB=" + i * 1024 * 1024 + "KB=" + i * 1024 * 1024 * 1024 + "Byte");
//Console.ReadLine();
//3.键盘输入1个数字,用算术运算符,取模2后,输出结果
//Console.WriteLine("请输入一个数字:");
//int i = int.Parse(Console.ReadLine());
//Console.WriteLine(i % 2);
//Console.ReadLine();
//4.键盘接收1个到百位的数字,然后将数字倒过来,
//例如: 567 改变输出以后765
//Console.WriteLine("请输入一个三位数的数字:");
//int i = int.Parse(Console.ReadLine());
//Console.WriteLine(i%10+""+i%100/10+i/100);
//Console.ReadLine();
//5.由用户输入圆的半径,求出圆的面积(3.14×(半径×半径))
//Console.WriteLine("请输入圆的半径:");
//int r = int.Parse(Console.ReadLine());
//Console.WriteLine("面积约等于"+r*r*3.14);
//Console.ReadLine();
}
}
}