一个java程序
⑴ 一个java程序运行从上到下的环境次序是( )
Java程序、JRE/JVM、操作系统、硬件。
编写Java程序首先需要一个入口点,在运行的时候通过指定MainClass来指定入口点,代码层面主类必须实现一个静态的main函数,运行时虚拟机会从MainClass.main开始执行指令,其他的逻辑只是import和函数调用了。
(1)一个java程序扩展阅读:
注意事项:
运行java文件,必须先编译java文件为Class文件。然后在解析class文件。这两个步骤都是需要在安装了java运行环境的。安装好java后,要对java进行配置。
代码里的标点符号都要是英文状态下的,这一点很多新手朋友在写java文件的时候犯错。
java程序文件的文件名必须和java程序里的class名一致。
⑵ 用JAVA编写一个程序,要求如下:
实现代码如下:
Student类:
public class Student {
private String name;
private String sex;
private int age;
private double chinese;
private double math;
private double english;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getChinese() {
return chinese;
}
public void setChinese(double chinese) {
this.chinese = chinese;
}
public double getMath() {
return math;
}
public void setMath(double math) {
this.math = math;
}
public double getEnglish() {
return english;
}
public void setEnglish(double english) {
this.english = english;
}
}
-----------------------------------------------------------------
StudentTest类:(测试类)
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
Student student = new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入姓名:");
student.setName(sc.next());
System.out.println("请输入性别:");
student.setSex(sc.next());
System.out.println("请输入年龄:");
student.setAge(sc.nextInt());
System.out.println("请输入语文成绩、数学成绩、英语成绩:");
student.setChinese(sc.nextDouble());
student.setMath(sc.nextDouble());
student.setEnglish(sc.nextDouble());
Double count = student.getChinese()+ student.getMath()+student.getEnglish();
System.out.println("姓名:"+student.getName()+" 性别:"+student.getSex()+" 年龄:"+student.getAge());
System.out.println("总分:"+count+" 平均分:"+count/3);
}
}
运行结果为:
⑶ 用Java编写一个程序,要求如下:
1.内部使用 C 的 longjmp 机制让出一个协程。因此,如果一个 C 函数 foo 调用了一个 API 函数, 而这个 API 函数让出了(直接或间接调用了让出函数)。 由于 longjmp 会移除 C 栈的栈帧, Lua 就无法返回到 foo 里了。
2.为了回避这类问题, 碰到 API 调用中调用让出时,除了那些抛出错误的 API 外,还提供了三个函数: lua_yieldk, lua_callk,和 lua_pcallk 。 它们在让出发生时,可以从传入的 延续函数 (名为 k 的参数)继续运行。
3.我们需要预设一些术语来解释延续点。对于从 Lua 中调用的 C 函数,我们称之为 原函数。从这个原函数中调用的上面所述的三个 C API 函数我们称之为 被调函数。 被调函数可以使当前线程让出。 (让出发生在被调函数是 lua_yieldk, 或传入 lua_callk 或 lua_pcallk 的函数调用了让出时。)
4.假设正在运行的线程在执行被调函数时让出。当再次延续这条线程,它希望继续被调函数的运行。 然而,被调函数不可能返回到原函数中。 这是因为之前的让出操作破坏了 C 栈的栈帧。 作为替代品,Lua 调用那个作为被调函数参数给出的 延续函数 。 正如其名,延续函数将延续原函数的任务。
5.注意这里那个额外的显式的对延续函数的调用:Lua 仅在需要时,这可能是由错误导致的也可能是发生了让出而需要继续运行,才会调用延续函数。 如果没有发生过任何让出,调用的函数正常返回, 那么 lua_pcallk (以及 lua_callk)也会正常返回。 (当然,这个例子中你也可以不在之后调用延续函数, 而是在原函数的调用后直接写上需要做的工作。)
6.Lua 会把延续函数看作原函数。延续函数将接收到和原函数相同的 Lua 栈,其接收到的 lua 状态也和 被调函数若返回后应该有的状态一致。 (例如, lua_callk 调用之后, 栈中之前压入的函数和调用参数都被调用产生的返回值所替代。) 这时也有相同的上值。 等到它返回的时候,Lua 会将其看待成原函数的返回去操作。
7.我们需要预设一些术语来解释延续点。对于从 Lua 中调用的 C 函数,我们称之为 原函数。 从这个原函数中调用的上面所述的三个 C API 函数我们称之为 被调函数。 被调函数可以使当前线程让出。 (让出发生在被调函数是 lua_yieldk, 或传入 lua_callk 或 lua_pcallk 的函数调用了让出时。)
8.假设正在运行的线程在执行被调函数时让出。当再次延续这条线程,它希望继续被调函数的运行。 然而,被调函数不可能返回到原函数中。 这是因为之前的让出操作破坏了 C 栈的栈帧。 作为替代品,Lua 调用那个作为被调函数参数给出的 延续函数 。 正如其名,延续函数将延续原函数的任务。
希望能帮到你,谢谢!
⑷ 如何编译运行一个简单的java程序
通常开发一个java应用程序可分为三个步骤:
1.创建一个带有文件扩展名 *.java 的源文件
1).使用编辑器(如记事本,小编使用的是notepad++),输入以下6行文本:
1 //一个简单的application例子:打印一行文本
2 class Hello {
3 public static void main (String args[]){
4 System.out.println("Hello Java,This is my first Java Application!");
5 }
6 }
输入完成,如下图所示
爪哇之路开启成功。
⑸ 编写一个Java程序
public class Demo3 {
public static void main(String[] args) {
byte a =1;
short b=1;
int c = 1;
long d = 1l;
float e=1f;
double f =1;
char g ='1';
boolean h = true;
System.out.println("byte a ="+a);
System.out.println("short b="+b);
System.out.println("int c ="+c);
System.out.println("long d ="+d);
System.out.println("float e="+e);
System.out.println("double f ="+f);
System.out.println("char g ="+g);
System.out.println("boolean h ="+h);
int x=a%b;
long y = c+d;
boolean z=(b==c);
System.out.println("int x="+x);
System.out.println("long y"+y);
System.out.println("boolean z"+z);
}
}
⑹ java编写一个程序
通过Eclipse运行程序
启动Eclipse,在菜单中选择“文件 --> 新建 --> Java项目”,弹出对话框:
图5 通过命令编译并运行Java程序
在Eclipse中运行程序,实际上也是执行这些命令,并将输出结果显示到控制台。有了Eclipse,编程更加方便。
HelloWorld程序分析
分析上述代码,从程序开始处介绍。public class HelloWorld定义了一个类,类是 “public” 公共类型的,类名为“HelloWorld”。另外,Java 中主类名应该和要保存的 Java 文件名相同,也就是说,这里定义的类名是“HelloWorld”,则文件应该保存为“HelloWorld.java”。public static void main(String[] args)Java 中的主运行方法,它和 C/C++中的main()作用是一样的,就是所有的程序都从“main()”中开始执行。要执行 Java 程序,必须有一个包括主运行方法的类。至于“public static void”的含义,读者可以尝试着去掉,看看编译器会提示什么错误。System.out.println("Hello world");“System.out.println()”是 Java.lang 包的一个方法,用来将字串“Hello world”输出到命令行窗口。
⑺ 运行一个java程序的步骤是怎样的请做详细说明!
Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode)
2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( "semi-interpreted" language)。
下面通过以下这个java程序,来说明java程序从编译到最后运行的整个流程。代码如下:
//MainApp.java
public class MainApp {
public static void main(String[] args) {
Animal animal = new Animal("Puppy");
animal.printName();
}
}
//Animal.java
public class Animal {
public String name;
public Animal(String name) {
this.name = name;
}
public void printName() {
System.out.println("Animal ["+name+"]");
}
}
第一步(编译): 创建完源文件之后,程序会先被编译为.class文件。Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点象make。如果java编译器在指定目录下找不到该类所其依赖的类的.class文件或者.java源文件的话,编译器话报“cant find symbol”的错误。
编译后的字节码文件格式主要分为两部分:常量池和方法字节码。常量池记录的是代码出现过的所有token(类名,成员变量名等等)以及符号引用(方法引用,成员变量引用等等);方法字节码放的是类中各个方法的字节码。下面是MainApp.class通过反汇编的结果,我们可以清楚看到.class文件的结构:
第二步(运行):java类运行的过程大概可分为两个过程:1、类的加载 2、类的执行。需要说明的是:JVM主要在程序第一次主动使用类的时候,才会去加载该类。也就是说,JVM并不是在一开始就把一个程序就所有的类都加载到内存中,而是到不得不用的时候才把它加载进来,而且只加载一次。
下面是程序运行的详细步骤:
在编译好java程序得到MainApp.class文件后,在命令行上敲java AppMain。系统就会启动一个jvm进程,jvm进程从classpath路径中找到一个名为AppMain.class的二进制文件,将MainApp的类信息加载到运行时数据区的方法区内,这个过程叫做MainApp类的加载。
然后JVM找到AppMain的主函数入口,开始执行main函数。
main函数的第一条命令是Animal animal = new Animal("Puppy");就是让JVM创建一个Animal对象,但是这时候方法区中没有Animal类的信息,所以JVM马上加载Animal类,把Animal类的类型信息放到方法区中。
加载完Animal类之后,Java虚拟机做的第一件事情就是在堆区中为一个新的Animal实例分配内存, 然后调用构造函数初始化Animal实例,这个Animal实例持有着指向方法区的Animal类的类型信息(其中包含有方法表,java动态绑定的底层实现)的引用。
当使用animal.printName()的时候,JVM根据animal引用找到Animal对象,然后根据Animal对象持有的引用定位到方法区中Animal类的类型信息的方法表,获得printName()函数的字节码的地址。
开始运行printName()函数。
特别说明:java类中所有public和protected的实例方法都采用动态绑定机制,所有私有方法、静态方法、构造器及初始化方法<clinit>都是采用静态绑定机制。而使用动态绑定机制的时候会用到方法表,静态绑定时并不会用到。
⑻ 编写一个JAVA程序
为了在您的机器上配置起一个Java开发环境——您将使用一个“开发环境”来“开发”(编写)程序——您需要完成以下这些步骤:
1.下载一个包含Java开发环境(编译器和其他工具)的大文件。点击“下载J2SE SDK”链接下载SDK(软件开发工具包)软件。网页会显示一个许可协议。点击“接受”。选择您的操作系统,然后将文件保存到下载目录中。这是一个巨大的文件,用电话调制解调器下载需要好几个小时。接下来的两个文件也很大。
2.下载一个包含Java文档的大文件。选择操作系统后点击SDK1.4.1文档的链接。
3.如果您的机器上还没有安装WinZip(或可执行相同功能的程序),那么您需要下载一个包含WinZip的大文件并安装之。如果您的机器上没有安装某个的版本的WinZip或其他解压缩软件,下载WinZip的试用版。运行EXE文件安装。很快我们将使用它来安装文档。
4.安装Java开发环境。运行第一步下载的j2sdk-1_4_1-*.exe文件。他将自动解压并安装开发工具包。
5.安装文档。阅读安装说明文档。它会要求您将文档文件移至刚才开发工具包的安装目录。将文档解压缩,文件就会被安排到适当的位置。
6.调整环境变量。按照此页的要求,您需要改变路径变量。最简单的办法是打开一个MS-DOS窗口键入PATH看看当前的路径变量是什么,然后用记事本打开autoexec.bat按要求修改PATH环境变量。
7.全面测试。现在您应该可以打开另一个MS-DOS窗口并键入javac了。如果一切设置妥当,那么您将看到屏幕将输出两行文字告诉您如何使用javac。这意味着一切已经准备就绪了。如果您看到“错误的命令或文件名”这条消息,则说明还没有准备好。请重新阅读安装说明检查哪里出了问题。确定PATH被正确设置并可用。回头重新阅读上面的步骤,问题不解决不要轻易放弃。现在您已自豪地拥有一台能够编译Java程序的机器了。您已经准备好开始编写软件了!
顺便指出,刚才您解压缩的内容包括一个demo(演示)目录,其中包含许多精致的例子。所有的例子都可以立即执行,所以您不妨找到这个目录试运行一下其中的某些例子。许多例子都会发声,所以请打开扬声器。要运行例子,找到名如example1.html的网页文件并使用您常用的浏览器打开即可。
您的第一个程序将是小巧可爱的。它将建立一个绘图区域并在其上绘制一条对角线。创建此程序您需要:
1.打开记事本键入(或复制粘贴)程序 。建立一个新目录以保存程序。打开记事本(或其他可以创建TXT文件的文本编辑器)。将范例程序录入或复制粘贴到记事本窗口中。切记:输入程序的大小写敏感。因此必须按照范例程序中字母的大小写输入。重审以上编程步骤。如果录入内容和范例程序不是完全一致,则程序将无法正常运行。
2.保存程序 。将文件在第一步创建的路径下保存,文件名为FirstApplet.java。文件名大小写敏感。请确保字母“F”和“A”大写,其他字母小写,如前所示。
3.使用Java编译器编译程序生成一个Java程序 。
打开一个MS-DOS窗口。改变至包含FirstApplet.java的路径下(cd),键入:
javac FirstApplet.java
记住大小写敏感!或者编译成功,这时屏幕不输出任何信息,或者有错误发生。若没有错误,则会在目录里生成一个名为FirstApplet.class的文件与FirstApplet.java并列。
(请确保程序保存的文件名为FirstApplet.java而不是FirstApplet.java.txt。最简单的办法就是在MS-DOS窗口下键入dir然后查看文件名。若扩展名是.txt 则请重命名文件去掉此扩展名。也可以运行Windows资源管理器在“查看”菜单下点击“选项”。确保“隐藏已注册的MS-DOS文件扩展名”选项处于未选中状态,然后在资源管理器中查看文件名。若需要则将文件改名。)
4.排除问题。若有问题产生则想办法解决。将您的程序与上面的范例程序对比,使之完全相同。修改过程中不断编译程序,直到没有错误发生。
5.建立一个HTML网页“包含”刚创建的Java程序 。
创建一个HTML页面来包含小程序。另开一个记事本窗口。录入下面的内容:
将此文件存于同一目录中,文件名为applet.htm。
1.运行Java程序 。
在您的MS-DOS窗口中键入:
appletviewer applet.htm
应该可以看见一条从左上角到右下角的对角线:(如上图所示)
将小程序查看器的窗口拉大一些以查看整条对角线。您也可以将此HTML网页装载到任何现用的浏览器中,如Netscape Navigator或微软IE,看到的结果是大致相同的。
使用Java语言编程就需要一个Java编译器。下一节将指导您下载并安装一个编译器。一旦有了编译器我们就可以开始学习编程了。下载和安装过程将会持续几个小时,大部分时间用来下载几个很大的文件。您还需要有大约40兆字节的空闲磁盘空间(开始前请确定有足够的空间)。
这里是本节的示范程序:
import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
g.drawLine(0, 0, 200, 200);
}
}
⑼ 编写一个Java程序
人狠话不多,看代码,有问题请追问,对小白可能有帮助,希望采纳,谢谢
public class Demo01 {
public static void main(String[] args) {
//路径
String strUrl = "https://www.bilibili.com/video/";
//参数
String paramUrl = "?p=";
System.out.println("样式输出:" + strUrl + paramUrl+21);
//需求最大值500 可以根据需求更改maxNumber值
int maxNumber = 500;
//需求最小值1 可以根据需求更改minNumber值
int minNumber = 1;
for(int i = minNumber; i <= maxNumber; i++) {
System.out.println(strUrl + paramUrl + i);
}
}
}
输出结果如图: