PoeticalJustice

导航

System.exit(status)+使用JOptionPane组件+String[]args D:\金旭亮\1.JavaSE\Java程序设计\1.编程起步\Java结构化编程基础\1.Java Application基础\SourceCode

Welcome1.java(System.exit(status)这个方法)

package cn.edu.bit.cs.javaapplicationbasic;
/*
 * 参考链接 http://blog.csdn.net/xuewater/article/details/22884753
 * System.exit(status)这个方法
 * 注释中说的很清楚,这个方法是用来结束当前正在运行中的java虚拟机。
 * 如何status是非零参数,那么表示是非正常退出。
 * 
 *System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,
 *而dispose()只是关闭这个窗口,但是并没有停止整个application。
 *exit方法把内存都释放了,也就是说连JVM都关闭了,内存里根本不可能还有什么东西
 *System.exit(0)是正常退出程序,
 *而System.exit(1)或者说非0表示非正常退出程序
 *System.exit(status)不管status为何值都会退出程序。
 *和return 相比有以下不同点:  
 *return是回到上一层,而System.exit(status)是回到最上层
 *在一个if-else判断中,如果我们程序是按照我们预想的执行,到最后我们需要停止程序,那么我们使用System.exit(0)
 *而System.exit(1)一般放在catch块中,
 *当捕获到异常,需要停止程序,我们使用System.exit(1)。这个status=1是用来表示这个程序是非正常退出。
 * 
 */
class Welcome1 
{

  public  static void main(String args[]) {
     System.out.println( "Welcome to Java Programming!" );
     System.exit(0);
  }
}

  

Welcome2.java(使用JOptionPane组件)

package cn.edu.bit.cs.javaapplicationbasic;
/*
 * Swing之JOptionPane组件常用方法 参考链接http://www.cnblogs.com/PoeticalJustice/articles/8316026.html
 */
import javax.swing.JOptionPane;

public class Welcome2 {
	   public static void main( String args[] )
	   {
	      JOptionPane.showMessageDialog(
	         null, "Welcome\nto\nJava\nProgramming!" );

	      System.exit( 0 );  // terminate the program
	   }
	}

  

JavaAppArguments.java(String[]args )

package cn.edu.bit.cs.javaapplicationbasic;
/*
 * 参考链接: https://www.cnblogs.com/xy-hong/p/7197725.html
 * 
 * args是什么?
 * args是一个字符串数组的变量名,不是关键字,是arguments的缩写,只是一个默认名
 * 
 * 先说一下
 * args的作用:
 *    我们习惯将一些有用的参数传递给我们定义的函数,那么可曾想过有参数传递给main函数?args就是传递给main函数的一个数组参数。
 *  可是main函数作为程序(application程序)的入口点,是由系统自动调用的,怎样传递参数给它呢?
 *  
 * 如何传参给main函数?
 *    现在很多人编码都是使用集成工具(eclipse、netbean......),这些工具直接运行,是不会有参数传递给main的,
 *  如果要设置参数,以eclipse为例,选择:Run->Run...,弹出窗口Run,Arguments->Program arguments里
 *  就可以设置传递给args的参数。
 *  请记住java(其他语言我不清楚)的参数之间是用空格来分开的,不要用逗号。
 * 
 * 
 * 
 * 
 * 
 */
public class JavaAppArguments {
	public static void main(String[] args) {
		System.out.println("参数个数:"+args.length);
		for (String arg : args) {
			System.out.println(arg);
		}
	}
}

 Test.java

package cn.edu.bit.cs.javaapplicationbasics;
/**
 * 
 * @author Administrator
 *
 *
 *Java源文件名必须与公有类名一致
 * 类源文件名=公有类名+ .java
 * 注意:
 *1. 如果一个类被声明为public,则它本身所在的源文件名也必须
 *与类名相同,连大小写都不能错!
 *2. 这并非说一个Java源文件中只能写一个类,完全可以写多个类,
 *但其中与源文件同名的类,只能有一个,并且是“公有(public)”的,并且Java要求
 *文件名也要与之一致。
 *
 */
public class Test {
	public static void main(String[] args) {
	}
	public class test{
		
	}
	public class InnerClass{
		
	}
} 
 课堂练习1

一个Java类文件中真的只能有一个公有类吗?

请使用Eclipse或javac检测一下以下代码,有错吗?

 




课堂练习2
练习:模仿JavaAppArguments.java示例,编写一个程序,此 程序从命令行接收多个数字,求和之后输出结果。

提示: 你需要解决以下技术难点: 命令行参数都是字符串,必须先将其转化为数字,才能相加。 如果你不知道如何完成这一工作,请利用互联网解决之。

设计思想:主要是在命令行进行参数的转化并相加输出。由于命令行参数都是字符串,想要进行相加运算必须进行转化,借助示例JavaAppArguments.java可以很好的进行转化,之后再进行相加运算就完成了。

流程图如下:

 

public class JavaAppArguments {
	public static void main(String[] args) {
		int sum=0;
		System.out.println("参数个数:"+args.length);
		for (String arg : args) {
			System.out.println(arg);
			sum= sum+Integer.parseInt(arg);
		}
		System.out.println("参数和"+sum);
	}
}

 右键

 

输入参数 每个数之间空格

结果

 

posted on 2018-01-19 11:11  PoeticalJustice  阅读(149)  评论(0)    收藏  举报