5.6. 方法(1) (2)
声明方法的语法
成员访问修饰符 返回值 方法名称(参数列表)
{
// 方法的内容
}
// 不带参数的方法
using System;
namespace test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Now time is {0}", CurrentTime());
}
public static DateTime CurrentTime() // DataTime 是一种数据类型
{
return DateTime.Now; // 这里Now是属性,因为不带括号,如果带括号,则为方法
}
}
}
// 带有参数的方法
using System;
namespace test
{
class Method
{
static void Main(string[] args)
{
string tempName = ""; //初始化
while (tempName != "end")
{
tempName = Console.ReadLine();
MyMehod(tempName);
}
}
public static void MyMehod(string strName)
{
Console.WriteLine("The name is " + strName + "/n"); // 为了显示清楚,is后面有空格
}
}
}
共享变量
如果两个以上的方法要共享一个变量,则要将此变量声明在类(Class)阶层。
namespace test
{
class vary
{
class Share
{
public static int i=0;
public void Getvalue()
{
i=i+1;
}
}
static void Main()
{
Share sh1 = new Share();
sh1.Getvalue();
Share sh2 = new Share();
sh2.Getvalue();
Console.WriteLine(Share.i); // 访问静态变量的名称,可用类名.变量名形式。
}
}
}
方法的参数传递机制
1 值参数(Vaule Parameter)
方法名称(参数类型 参数名称[,参数类型 参数名称])
2 引用参数(Reference Parameter)
方法名称(ref 参数类型 参数名称[, ref 参数类型 参数名称])
3 输出参数(Output Parameter)
方法名称(out 参数类型 参数名称[, out 参数类型 参数名称])
using System;
namespace Method
{
class MyMethod
{
public static void ValueMethod(int i)
{
i++;
}
public static void ReferenceMethod(ref int i)
{
i++;
}
public static void OutputMethod(out int i)
{
i = 0; //在输出参数调用,变量必须赋初值
i++;
}
static void Main()
{
int i = 0;
ValueMethod(i);
Console.WriteLine("i=" + i);
int j = 0;
ReferenceMethod(ref j); // 参数必须写上ref
Console.WriteLine("j=" + j);
int k = 0;
OutputMethod(out k);
Console.WriteLine("k=" + k);
}
}
}
//用数组来实现,思考运行结果为什么会变化
using System;
namespace MyMethod
{
class Method
{
static void PrintArray(int[] arr)
{
for (int i = 0; i < arr.Length; i++)
{
arr[i] = i;
}
}
static void Main()
{
int[] arr1 ={ 10, 20, 30 };
PrintArray(arr1);
foreach (int i in arr1)
{
Console.Write(i + " ");
}
Console.WriteLine();
}
}
}
//字符串传递, 不明白为什么运行结果没有变化
using System;
namespace MyMethod
{
class Method
{
static void PrintStr(string str)
{
str = "123";
}
static void Main()
{
string s = "789";
PrintStr(s);
Console.WriteLine(s);
}
}
}
5.6. 方法(1) (2)相关推荐
- 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群
作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...
- Java面试题大全2021版
一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...
- Kotlin协程使用,协程使用注意事项,协程中的await方法使用|不使用suspend使用协程
参见 码云 协程使用方法一 (Dispatchers调度器模式) 指定不同线程.同线程会挂起并阻塞(挂起是不影响主线程执行,阻塞是同样的IO线程会阻塞) withContext(Dispatchers ...
- IDEA中将代码块封装为方法,IDEA代码重构快捷键
IDEA中将代码块封装为方法 选中要转换的代码块,快捷键: Windows快捷键:Alt + Shift + M Mac快捷键:Alt + Command + M 如图:
- IDEA自动生成对象所有set方法
idea中有一款插件能够生成对象所有的set方法,GenerateAllSetter :下载地址 步骤1:将下载好的压缩包放在自己记得的文件夹中,在idea中进行导入 步骤2:在本地选中刚才的压缩包, ...
- List元素互换,List元素转换下标,Java Collections.swap()方法实例解析
Java Collections.swap()方法解析 jdk源码: public static void swap(List<?> list, int i, int j) {// ins ...
- java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解
1. Map.getOrDefault() 翻译一下官方解释: java.util.Map<K, V> V getOrDefault(Object key, V defaultValue) ...
- spring boot项目 中止运行 最常用的几种方法
spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...
- Java Calendar.add()方法的使用,参数含义。指定时间差。
cal.add()方法中的参数含义: 第一个参数如果是1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作. 第 ...
- 设置select下拉框不可修改的→“四”←种方法
设置select下拉框为不可修改的几种方法: 因为select的特殊性,导致它不能像input表单一样简单地设置一个readonly来限制修改,所以,我们需要进行别的操作! 1.为下拉框添加样式,可以 ...
最新文章
- 软件安全访谈:ZipSlip、NodeJS安全性和BBS攻击
- python判断题题库大数据技术_智慧树知到_大数据分析的python基础_选择题答案
- php程序中用户名含特殊字符怎么办,php中包含ñ等特殊字符
- 杂项-Java:JSP
- 在 LinearLayout里addView一个图表
- 351E. Jeff and Permutation
- java的迭代器类中有哪些类_java中的集合类 以及 迭代器
- Createprocess控制台程序输出重定向
- python常用数据结构_Python常见数据结构整理
- Python笔记:Python中的main函数
- 用create table 命令建立表
- 仿IOS圆角可自定义扩展对话框
- 硬件课程设计:步进电机控制系统
- java实现控制继电器_单片机控制继电器
- 反向代理分离资源服务器分析
- 简单的魔方复原方法, 魔方还原公式,图解
- PCIe5.0的Add-in-Card(AIC)金手指layout建议(一)
- cubic与bbr性能实测
- iOS上传IPA时提示导入此构建版本时出错-errors occurred in the app thinning process
- 智慧城市(大数据,物联网,云计算之应用)
热门文章
- css 动态rem_css布局简史与第四代css布局技术
- Varjo:XR体验的终极目标是“串流全世界”
- 配置与管理FTP服务器
- ZZULIOJ1028
- 怎样手动填加python变量_python(十一)接口开发、写日志、发邮件、python来发请求、手动添加环境变量...
- 【Energy Reports期刊发表】 2022年能源与环境工程国际会议(CFEEE 2022)
- 小白学云:阿里云ECS实例
- 胖硕鼠问题(动态规划)
- 卷积在信号处理中的意义【转】
- 传音控股过会:核心技术说服力低 仍缺乏长期护城河