交换两个变量的几种方法

                            **1.使用临时变量**
1.	            Console.WriteLine("请输入两个整数x,y");
2.	            int x = int.Parse(Console.ReadLine());//使用 int.parse(string s) 将输入的字符串为int值  
3.	            int y = Convert.ToInt32(Console.ReadLine());//使用Convert.ToInt32(string  value)  将输入的字符串转化为int值
4.	            Console.WriteLine("x={0},y={1}", x, y);
5.	            int temp;//定义一个临时变量temp
6.	            temp = x;  //将x的值赋给temp
7.	            x = y;     //将y的值赋给x
8.	            y = temp;  //将temp存放的x的值赋给y
9.	            Console.WriteLine("x={0},y={1}",x,y);

知识点:将输入的字符串转化为int值 两种方法:int.Parse(string s)和Convert.ToInt32(string value)。定义一个临时变量temp,将x的值赋给temp,然后将y的值赋给x,然后将temp存放的x的值赋给y;(可以这样理解:相当与一个空杯子、一杯咖啡,一杯牛奶,将牛奶和咖啡交换)

                            **2.使用加减法**
1.              Console.WriteLine("输入两个整数x,y");
2.	            int x = int.Parse(Console.ReadLine());
3.	            int y = Convert.ToInt32(Console.ReadLine());
4.	            Console.WriteLine("x={0},y={1}", x, y);
5.	            x = x + y;  //将x+y的和的值赋给x
6.	            y = x - y;  //这个x-y等于x和y的和减去原先y的值剩余原先x的值
7.	            x = x - y;  //这个x-y等于x+y的和减去y的值(y在上一步已经变成原先x的值),剩余原先的y的值
8.	            Console.WriteLine("x={0},y={1}", x, y);

思路:将x+y的和的值赋给x(y的值不变)。x减去于原先y的值即为x的值,将这个得到的x的值赋给y。然后x减去上一步得到的y的值(实际上是原先x的值),就得到现在x的值(原先y的值)

                  **3.使用方法(这里注意要用到ref)**
1.	static void Main(string[] args)
2.	{
3.	      Console.WriteLine("请输入两个整数x,y");
4.	      int x = int.Parse(Console.ReadLine());
5.	      int y = Int32.Parse(Console.ReadLine());
6.	      Console.WriteLine("x={0},y={1}", x, y);
7.	      Swap(ref x, ref y);                   //方法在用一个类时调用  注意要用关键字ref
8.	      Console.WriteLine("x={0},y={1}", x, y); 
9.	      Exchange.Swap(ref x,ref y);           //方法在不同类时的调用 注意要用关键字ref
10.	      Console.WriteLine("x={0},y={1}",x,y);   
11.	}
12.	static void Swap(ref int x, ref int y) //写一个方法,调用方法实现变量交换 这是在同一个类的情况
13.	{
14.	      int temp = x;
15.	      x = y;
16.	      y = temp;
17.	 }
18.	class Exchange
19.	        {
20.	        /// <summary>
21.	        /// 写一个方法,调用方法实现变量交换 这是不在同一个类的情况
22.	        /// </summary>
23.	        /// <param name="x"></param>
24.	        /// <param name="y"></param>
25.	        public static  void Swap(ref int x, ref int y)
26.	        {
27.	            int temp = x;
28.	            x = y;
29.	            y = temp;
30.	        }
31.	        
32.	    }

ps:这里注意使用方法交换两个变量,要使用ref关键字(不论是形参还是实参)。在同一个类时,要将方法定义为static(静态类),如果不是静态类就会要求有对象引用。在不同类时,除了将类定义为static,还要加上修饰符public(不加的话默认应该是private),不然不能引用该方法。

发布了17 篇原创文章 · 获赞 0 · 访问量 742

猜你喜欢

转载自blog.csdn.net/weixin_44623941/article/details/104574039