JAVA零基础小白自学日志——第九天


今日提要:方法(Java最勤劳的部分)
我们之前学了基础知识,学习了类的构造,明白了实例变量,创建了对象,那么这一切还需要一个更强力的伙伴才能统合在一起,那就是方法。
方法最底层的功能逻辑,它是来表达一个类到底能做什么的,以及怎么做的。

1.语法

publicstaticvoidmain(String[] args){}
访问范围静态修饰(以后再说)返回值类型方法名参数列表方法开始方法结束
  • public:访问范围,这个修饰词不用多说了;
  • static:静态修饰,这个后面再说,在这里,就是指明这个方法不属于对象,属于类;
  • void:返回值类型,void代表没有返回值,如果有返回值,那就要根据返回值的类型书写这个修饰词(有返回值的方法,必须要有return语句);
  • main:这个地方书写自己定的方法名,构造函数名要和类名完全一样,出口函数要用main,其他的方法名,就遵从命名规则就可以了;
  • (String[] args):参数列表,你需要向方法传导的参数就放这里,多参这样写(int xx, String xxx, char xxxx)
  • {…}:语句块待的地方;

2.向方法传递参数

public class BeginnerHello {

	public static void main(String[] args) {
		
		String h = "Hello Java!";//声明一个变量,并赋值
		
		Hello hello = new Hello();
		hello.helloP(h);//传递h的值到方法

	}//end main
}// end public class

class Hello{
	void helloP (String hTemp) {
		
		System.out.println(hTemp);//输出“Hello Java”
	}//end helloP	
}//end class Hello

需要向方法传送多个参数的时候,必须依照顺序,填充符合类型的,变量或者值,用逗号分隔;

3.从方法返回值

public class BeginnerHello {

	public static void main(String[] args) {
		
		String h = "Hello Java!";//声明一个变量,并赋值
		
		Hello hello = new Hello();
		//hello.helloP(h);//传递h的值到方法
		System.out.println(hello.helloP(h));//输出“Hello Java”

	}//end main
}// end public class

class Hello{
	String helloP (String hTemp) {
		String temp;
		temp = hTemp;
		return temp;//返回temp的值		
	}//end helloP	
}//end class Hello

方法返回值的类型,必须和返回值修饰符的类型一致或兼容,有返回值的方法,必须以return语句结尾,return之后的语句是不会执行的;
一个有返回值的方法,只能返回一个值,但是我就想返回多个值,呃,想想前面说的数组,甚至你可以像你学习路由编程的时候学过的那些协议一样,搞一个内容非常复杂但是有一定规则的数组做你方法的返回值,还有一个就是别纠结于返回值,我们需要方法完成工作,并不强制要求方法必须有返回值。

打个程序练习下

public class HelloHorizontalTest {

	public static void main(String[] args) {
		
		String as = "**********";
		String te = "Hello Java";
		
		HelloTest hor = new HelloTest(as,te);
		hor.horOutput();

	}//end main
}//end class

class HelloTest{
	
	String asterisk;
	String text;
	
	HelloTest (String tempAste, String tempText){//构造函数为实例变量初始化
		
		asterisk = tempAste;
		text = tempText;
		
	}//end HelloTest构造函数	
	
	void horOutput () {//用于输出横向滚动的方法
		
		System.out.println(asterisk);
		
		String hor;
		
		for(int i = 9; i > 0 ; i--) {
			
			hor = asterisk.substring(0, i) + text.substring(0, 10-i);//截取两个字符串形成新的字符串
			System.out.println(hor);
			
		}//end for
		
		System.out.println(text);
		
	}//end horOutput	
}//end class HelloTest

明天咱们改个纵向步进的,啊呸,从结果上看,纵向步进和横向步进有区别么,别糊弄人,嘿嘿,被你发现了,好了,明天找个好点的题目练习练习,未来练习才是王道,不过找合适的训练题,才是难题

一个小贴士

“==”和“.equals()”不同的应用场景,“==”用于检测两个基本类型的值与值的是否相同;如果使用“==”,检测两个引用是否相等的话,实际检测的是两个引用对象是否是同一个对象,而使用“.equals”查看两个对象是否相等,并不会考虑相比较的两端是否是相同的对象,最直观的就是检查两个字符串是否包含相同的字符。

  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值