黑马程序员技术交流社区
标题:
三个小问题求解答
[打印本页]
作者:
朱志群
时间:
2013-7-22 14:40
标题:
三个小问题求解答
public class TestMail {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String mail;
System.out.print("请输入你想要申请的邮箱地址:\n");
Scanner scan = new Scanner(System.in);
mail = scan.next();
if((mail.indexOf('@')==-1)||(mail.indexOf('.')==-1)){
System.out.print("你输入的邮箱地址不存在@或.,不合法的邮箱!\n");
return;}
if(mail.indexOf('@')>mail.indexOf('.')){
System.out.print(".在@前面,不合法的邮箱\n");
return;
}
System.out.print("合法邮箱\n");
}
}
第一个问题:这里的两个return有什么用?没有我照样可以运行啊?
第二个问题:public static void main(String[] args)中的args是什么意思?
第三个问题:mail.indexOf('@')>mail.indexOf('.')中怎么比较的?应该来说都是等于-1的吗?
作者:
xscn
时间:
2013-7-22 15:13
本帖最后由 xscn 于 2013-7-22 15:25 编辑
1.这里对于 已经判断邮箱错误的情况下,return就可以终止后面的代码执行。
2.public static void main(String[] args)是主函数啊,args是数组名,String[] args是指接收一个字符串类型的数组,这个知识点毕姥爷讲静态的时候有,你去看一下
3.indexOf函数:查找字串中指定字符或字串首次出现的位置,返首索引值。如果找到该字符,则为返回索引位置;如果未找到,则为 -1。
返回-1就是不包含@和.,邮箱地址就是错误的。
返回@的角标>.的角标,也就是说.的位置在@的前面也是错误的格式
作者:
HEIMA时光
时间:
2013-7-22 15:23
本帖最后由 HEIMA时光 于 2013-7-22 15:24 编辑
我也是个新手,还不太懂。
1.因为是两个判断语句,如果上一个if中的条件满足,那么该语句执行到return就会结束,后面的if语句就不用判断了!
2.args 是 arguments的缩写,是参数的意思,这是为了便于书写而用缩写的方式,这个单词也可以用别的单词代替,并不是不能改变的。只要是合法的就行!
String[] args是指接收一个字符串类型的数组。
至于第三问我就不知道了。
作者:
xscn
时间:
2013-7-22 15:39
新手不是应该从helloworld看起吗?怎么从这开始学了,基础不牢也看不懂啊
作者:
Angel♥儱唲
时间:
2013-7-22 16:38
我是打酱油的,和时光一样就知道前两个问题,第三个嘛不清楚,还么学到。
作者:
千千结
时间:
2013-7-22 16:39
第一个问题:那不是在两个if语句里面吗,当满足第一个if语句的情况时,说明地址不合法,返回程序结束。当满足第二个if语句的情况时,……
作者:
☆今☆
时间:
2013-7-23 00:35
因为if....if...是会连续判断条件(判断完第一个就算满足,也会判断第二个的),而return;就是用来结束Main方法,只要if满足,执行就直接结束Main函数.
args只是个数组名而已,可以修改的.只是都这么用而已.
mail.indexOf('@')>mail.indexOf('.'),是找'@'和'.'在mail中的位置在前面的角标比较小,就用角标来比较他俩的位置.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2