游戏攻略网
当前位置: 首页 游戏攻略

java怎么用jdk运行(Javajdk命令行环境下编译和运行)

时间:2023-08-01 作者: 小编 阅读量: 1 栏目名: 游戏攻略

当时交互式电视已成为一个具有数百万美元产值的行业,该语言成为公司进入该行业的发展策略的一部分。正当Oak开发小组即将被放弃之时,Web开始流行起来。然而,C中有些难以学习和难以正确使用的内容已经从Java中删除。Android成为Java语言使用最为广阔的一个领域。java的核心是它的跨平台,而exe只是运行在win环境下。它的一个杀手级特性是用户在输入代码时,其代码编辑器能够自动检测到Java语法错误。

Java是在1990年由James Gosling创建的,其初衷是作为智能设备(如交互式电视、无所不能的烤箱、时间旅行的终结者、奴役人类的SkyNet军用卫星等)的大脑。Gosling对其使用C编写的程序感到失望,他灵机一动,决定躲在办公室开发一种更适合其需求的新语言。

当时交互式电视已成为一个具有数百万美元产值的行业,该语言成为公司进入该行业的发展策略的一部分。可到今天这些都没成为现实(尽管Netflix、Hulu以及其他公司都在向游戏领域进军),但Gosling发明的新语言却发生了重大变化。

正当Oak开发小组即将被放弃之时,Web开始流行起来。正是阴差阳错,使Gosling发明的语言适合家用电器的特性也使其适用于Web。Gosling的团队设计了能够让程序在Web页面安全运行的方法,而且为了与该语言的新用途相匹配,为之选了一个引人注目的新名字:Java。

Java语言的最初目标之一就是要比C容易掌握,James Gosling于20世纪90年代在他的智能家电项目中使用的就是C。Java的很大一部分都是基于C的,因此学习过C语言编程的人学习起Java来也不困难。然而,C中有些难以学习和难以正确使用的内容已经从Java中删除。

Android成为Java语言使用最为广阔的一个领域。在掌握了Java语言之后,你可以使用Android软件开发包(SDK)开发自己的app。Android SDK是一款可以在Windows、Mac OS和Linux上运行的免费编程套件。

1 jdk下载和安装

下载地址(下载时要用邮箱申请一个帐号):

https://www.oracle.com/java/technologies/downloads/#java8-windows

jdk-8u321-windows-i586.exe 162M

安装:

1.1 可选组件

1.2 可在安装完成后访问教程:

https://docs.oracle.com/javase/8/docs/

安装后文件夹大小:

安装好JDK后就可以用cmd来编译和运行java程序了。

编译.java使用javac.exe,编译后生成同名.class(跨平台),用java.exe运行,两个程序如下安装路径:

"C:\Program Files\Java\jdk1.8.0_321\bin\javac.exe"

"C:\Program Files\Java\jre1.8.0_321\bin\java.exe"

2 windows 7 32位平台下第一个java程序(在CMD下编译、运行)

ref:

https://docs.oracle.com/javase/tutorial/getStarted/cupojava/win32.html

2.1 Create a Source File,扩展名为.java

class HelloWorldApp {public static void main(String[] args) {System.out.println("Hello World!"); // Display the string.}}

2.2 Compile the Source File into a .class File

windows徽标键 R,运行CMD,输入:

"C:\Program Files\Java\jdk1.8.0_321\bin\javac.exe" "f:\java\HelloWorldApp.java"

路径有空格,加上双引号。

在.java相同路径下生成同名.class文件。

2.3 run .class file

再在CMD输入:cd \d f:\java

使用.java所在路径为CMD当前路径,再输入:

"C:\Program Files\Java\jre1.8.0_321\bin\java.exe" "HelloWorldApp"

即可运行.class文件。

2.4 配置环境变量(简化路径输入)

以上运行java.exe和javac.exe老是要在前面加一串路径字符串,不方便,这就要配置环境变量了,这样在CMD直接输入java和javac时,CMD就会在环境变量指示的路径下搜索java和javac的路径,以确定是不是内部变量和外部程序。

2.4.1 将javac.exe所在路径配置到path

2.4.2 将java.exe所在路径配置为JAVA

如果是Vista、Win7、Win8系统,使用鼠标右击“计算机”->属性->左侧高级系统设置->高级->环境变量

系统变量->新建->变量名:JAVA_HOME 变量值:JDK安装目录

系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib

系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;

至于exe文件?为什么要用java来做exe文件?java的核心是它的跨平台,而exe只是运行在win环境下。

3 netbeans

尽管可以只使用Java开发工具包(JDK)和文本编辑器来开发Java 程序,但是如果使用IDE,由此带来的编程体验会更好。

NetBeans是Oracle为Java程序员提供的一款免费IDE,它可以更容易地组织、编写、编译和测试使用Java开发的软件。NetBeans集成了编辑器、图形界面编译、调试、运行等工具,包含一个项目和文件管理器、图形用户界面设计器,以及许多其他工具。它的一个杀手级特性是用户在输入代码时,其代码编辑器能够自动检测到Java语法错误。

3.1 下载

https:///s/1qYZFRre#list/path=/

netbeans-8.2-windows.exe:231M

3.2 安装

安装时会检查是否安装了JDK,需要先安装JDK。

NetBeans对3个版本的Java语言都提供支持,这3个版本是:JavaStandard Edition(JSE)、Java Enterprise Edition(JEE)和JavaMobile Edition(JME)。它还支持Web应用开发、Web服务和JavaBeans。

Java Enterprise Edition是Java Standard Edition的一个扩展,它包含了支持Enterprise JavaBeans、XML处理和servlet开发的包,其中servlet是运行在Web服务器上的Java程序。Java EE还包含一个应用服务器,这是一个复杂的环境,用来执行专门为企业和其他大型组织开发的具有大量计算需求的Java软件。

筛选后可以减少安装大小:

安装后文件夹大小:

4 netBeans下第一个java程序

4.1 新建项目:

输入项目名称:

自动生成框架代码:

项目文件和文件夹:

源文件:

4.2 编译、及编译后的项目和文件夹:

编译文件:

4.3 运行

5 在线运行

https://www.onlinegdb.com/

https://tool.lu/coderunner/

https://www.bejson.com/runcode/java/

demo(体会与C语法的区别):

package first;// 用包组织类// to group classes in a collection called a package.// The standard Java library is distributed over a number of packages,import java.util.*;// #include using namespace othersimport java.io.*;public class First {// C类是全局的,无修饰// Everything in a Java program must be inside a class.// every class in Java extends Object.// A source file can only contain one public class,// and the names of the file and the public class must match.private String city;int ivar; // default scope: packagepublic static void main(String[] args) { // 一个程序需要某个类有main方法// 任何Java程序都是一个类,拥有main的称为主类// 主类,程序名与类名一致时,// 其它类,可有main,用于单元测试,//System.out.println(args[0]);// bound checking, not program itselfint $var = 3; // C变量只能以字母和下划线开头String str = "abc";// Cstring是模板类的typedefbyte i = 3;// byte,取值范围为−128~127的整数,signed charboolean b = true;// boolfinal int FIELDGOAL = 3;// constint bit = 0b01011;//System.out.println(str"def"bitib);// 隐式转换,Cprintf()System.out.printf("%8.5f\n",1/0.618);String declar;// only declarationdeclar = new String("abc");System.out.println(declar);// switch不只是整型String command = "BUY";int balance = 550;int quantity = 42;switch (command) {case "BUY":quantity= 5;balance -= 20;break;case "SELL":quantity -= 5;balance= 15;}// A constant expression of type char, byte, short, or int// An enumerated constant// Starting with Java SE 7, a string literalSystem.out.println("Balance: "balance"\n""Quantity: "quantity);// timelong startTime = System.currentTimeMillis();System.out.println(startTime);// c: time_t first = time(NULL);// 数组int[] arr = new int[25]; // int *arr = new int[25];// 对象与类型转换// Java中的所有对象都是Object类的子类String[] names = {"Spanky", "Alfalfa", "Buckwheat", "Daria","Stymie", "Marianne", "Scotty", "Tommy", "Chubby"};ArrayList<String> list = new ArrayList<String>(); //vector<int> arr[25];// the angle brackets cannot be a primitive typefor (i = 0; i < names.length; i) {list.add(names[i]);}Collections.sort(list);for (String name : list){System.out.println(name);}int[][] magicSquare = {{16, 3, 2, 13},{5, 10, 11, 8},{9, 6, 7, 12},{4, 15, 14, 1}};for (i = 0; i < magicSquare.length; i){for (int j = 0; j < magicSquare[i].length; j) {System.out.printf("%d ",magicSquare[i][j]);}System.out.printf("\n");}//System.out.printf("%d ",magicSquare[8][8]);// bounding checking// 哈希类HashMap phonebook2 = new HashMap(30, 0.7F); // 初始容量和负载因子HashMap<String, Integer> phonebook = new HashMap<>(); // 指明键和值的类phonebook.put("Butterball Turkey Line", 80028883);int number = phonebook.get("Butterball Turkey Line");File cookie = new File("cookie.web");try (FileInputStream stream = new FileInputStream(cookie)) {System.out.println("Length of file: "cookie.length());} catch (IOException ioe) {System.out.println("Could not read file.");}// lambdaComparator<String> comp= (first, second) // Same as (String first, String second)-> first.length() - second.length();// object// java data typeInteger xx = 17;// Autoboxing (int -> Integer)int aa = xx;// Unboxing(Integer -> int)Moden md = new Moden(80);// All Java objects live on the heapSystem.out.println(md.speed);Demo.staticFunc();Demo de = new Demo();// return a object referencede.instanceFunc();/*1 primitive types: boolean, byte, char, double, float, int, long, short;2 reference types: A class type, interface type, or array type, such as String, Charge, Comparable, or int[]. A variable of a reference type stores an object reference, not the data-type value itself.3 wrapper types: A reference type corresponding to one of the primitive types,such as Boolean, Btye, Character(char), Double, Float, int(Integer), Long, Short.Java automatically converts between an object from a wrapper typeand the corresponding primitive data-type value—in assignment statements,method arguments, and arithmetic/logic expressions.pass by value: Java's style of passing arguments to methods—either as a data-type value (for primitive types)or as an object reference (for reference types).*/// interface instance, lambdadouble res = integrate(new GaussianPDF(), -1, 1, 1000);System.out.println(res);res = integrate(x -> x*x, 0, 10, 1000); // lambda expressionSystem.out.println(res);}public static double integrate(Function f,double a, double b, int n) {double delta = (b - a) / n;double sum = 0.0;for (int i = 0; i < n; i) {sum= delta * f.evaluate(adelta * (i0.5));}return sum;}}// 继承class Moden {int speed;public Moden(int i) {speed = i;}}class cableModen extends Moden { // :public, All inheritance in Java is public inheritancepublic int size;public cableModen(int speed,int size){ // :Moden(speed){this.size = size;}super(speed);this.size = size;}}abstract class Comparable2{private String datafiled;public abstract int compareTo(Object other); // }// an abstract method is called a pure virtual function and is tagged with a trailing = 0interface Comparable{int compareTo(Object other); // All methods of an interface are automatically public.default int compareTo2(Object other) { return 0; }// By default, all elements are the same}class Demo{public static void staticFunc(){System.out.println("class method(static, class call)!");}public void instanceFunc(){System.out.println("Instance method(object call)!");}}interface Function{public abstract double evaluate(double x);}class Square implements Function{public double evaluate(double x){return x*x;}}class GaussianPDF implements Function{public double evaluate(double x){return Math.exp(-x*x/2) / Math.sqrt(2 * Math.PI);}}class LinkedStackOfStrings {private Node first;private class Node {private String item;private Node next;}public boolean isEmpty(){return (first == null); }public void push(String item){// Insert a new node at the beginning of the list.Node oldFirst = first;first = new Node();first.item = item;first.next = oldFirst;}public String pop() {// Remove the first node from the list and return item.String item = first.item;first = first.next;return item;}}/*Supplying instance fields and methods that operate on themis the job of the classes that implement the interface.being similar to an abstract class with no instance fields. *//*Why can’t Comparable simply be an abstract class?A class can only extend a single class(not support multiple inheritance.But each class can implement as many interfaces.Chas multiple inheritance, similar to a Java class with a single superclassand additional interfaces.*/// dynamic binding is the default behavior; // if you do not want a method to be virtual, you tag it as final.// Unlike C, Java has no programmable operator overloading.// Since Java does automatic garbage collection, // manual memory reclamation is not needed, so Java does not support destructors. // implements将类声明为支持一个或多个监听接口 支持Runnable接口// class LoadStocks implements Runnable {} //// Cvirtual function override, implement abstract class// 通过调用Thread构造函数创建线程化类的对象;// 通过调用start()方法启动线程。

附Java简史:

1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0)。

1998年12月8日,第二代Java平台的企业版J2EE发布(Enterprise Edition)。

2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),代号为“Tiger”,Tiger包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。

2009年,甲骨文公司宣布收购Sun。

2014年,甲骨文公司发布了Java8正式版。新增lambda表达式、提供函数式接口。

2017年9月22 日,Java 9正式发布,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。此后,半年一次版本迭代。

Java SE 10 2018-03-14

Java SE 11 2018-09-26,长期支持版本(LTS, Long-Term-Support),将会获得 5 年的技术支持。

Java SE 12 2019-03-20

Java SE 13 2019-09-17

Java SE 14 2020-03-17

Java SE 15 2020-09

Java SE 16 2021-03

Java SE 17 2021-09,长期支持版本,将会获得 8 年的技术支持。

附关键字:

ref:

https://www.oracle.com/java/technologies/

https://jingyan.baidu.com/article/1612d500968640e20e1eeebb.html

https://baike.baidu.com/item/jdk/1011

-End-

    推荐阅读
  • steam棋牌游戏推荐(幸运之夜新版本亮相TGC)

    steam棋牌游戏推荐12月1日,2017腾讯游戏嘉年华正式在成都开幕,腾讯的VR社交游戏《幸运之夜》在现场发布了最新版本。VR《幸运之夜》在TGC2017上惊艳亮相《幸运之夜》新版本发布邀请好友一起游戏今年7月底,《幸运之夜》正式在Steam发布,并推出了首款游戏作品“德州扑克”。今年的TGC2017现场,《幸运之夜》全新版本便带来了对互动性方面的提升。

  • 儿童睡前故事卖火柴的小女孩大全(卖火柴的小女孩)

    在长发公主的故事里,兔子小姐变成了手持宝剑的骑士,穿过了山川和河流,战胜了地狱恶犬,最终救出了长着一头金黄色长发的熊猫先生。随着一阵空间的波动,熊猫先生和兔子小姐来到了冰天雪地的圣诞节。小女孩被这突如其来的变化惊呆了。熊猫先生没有回答,轻轻摸了摸小女孩的头。小女孩点燃了第二根火柴。熊猫先生和兔子小姐则来到壁炉前,商量起小女孩最后一个愿望。熊猫先生蹲下来,握起小女孩的手。

  • 怎样做ppr管快一点(PPR管安装方法及技巧)

    怎样做ppr管快一点PPR管安装方法及技巧首先准备好需要的材料:热熔机,小剪刀,ppr管,管件,手巾。一定要根据自己热熔ppr管的口径,准备相应的热熔头。清洁:清洁管材与管件的焊接段部位,建议用95%浓度酒精擦净。在熔接时间内迅速的将管材无旋转的垂直插入管件中,并维持5秒以上,然后按相应冷却时间冷却。热熔后做到横平竖直,美观大方。

  • 大托特包搭配技巧(大托特包搭配技巧简述)

    西装外套+托特包复古时尚的格子,由黑白交错的条纹形成,文艺而又端庄搭配撞色托特包,优雅而不失俏皮,让气场变得灵动起来内搭白色连帽卫衣,减龄又可爱,接下来我们就来聊聊关于大托特包搭配技巧?大托特包搭配技巧西装外套+托特包复古时尚的格子,由黑白交错的条纹形成,文艺而又端庄。衬衫+托特包白色的衬衫休闲慵懒,给人一种空灵的感觉以及干净纯粹的气质。

  • 刘涛电视剧口碑(电视剧景气指数第一)

    还记得3月份刘涛在和周渝民主演的《大宋宫词》中扮嫩出演少妇被很多观众吐槽。万万没想到时隔数月,刘涛带着她的新剧《星辰大海》杀回来了。目前主要的剧情线在刘涛饰演的女主简爱身上。因为小时候意外发现母亲出轨的事,得知真相的父亲激愤之下杀死母亲并自杀,简爱因此成为了一个孤女。逃出傻子家的简爱在与姑姑的争执中误伤姑姑,从此开启逃命生涯。简爱从面馆辞职走投无路,误打误撞进入大公司之后面临着同事的故意刁难。

  • 外墙装修材料有哪些 外墙装修材料有哪些类型

    外墙涂料具有装饰性良好、耐污染耐老化以及施工维修容易和价格合理的特点。一般来说釉面外墙砖有亚光面与无光面两大类。它的装饰的效果也不错,有柚木色、深灰色等等可供选择。由于它的表面的肌理很清晰,所以色泽漂亮且装饰性极强。本站,中国知名大型装修平台,装修领导品牌。

  • 世界上有哪些花(世界上有哪些花 名字)

    瓜叶菊、香豌豆、夏兰、石竹、石蒜、荷花、翠菊、睡莲、福禄考、晚香玉、万寿菊、千日红、建兰、铃兰、报岁兰、香堇、大岩桐、水仙、小草兰、瓜叶菊、蒲包花、免子花、入腊红、三色堇、百日草、鸡冠花、一串红。孔雀草、大波斯菊、金盏菊、非洲凤仙花、菊花、非洲菊、观赏凤梨类、射干、非洲紫罗兰、天堂鸟、炮竹红、菊花、康乃馨、红掌、满天星、星辰花、三角梅、虞美人。

  • 长歌行李长歌母亲是谁杀的(长歌行李长歌的简介)

    下面更多详细答案一起来看看吧!长歌行李长歌母亲是谁杀的《长歌行》李长歌母亲是自杀的。李长歌,太子李建成之女,生母则是回纥王族。父母手足均死于玄武门之变,满怀愤恨的长歌凭高超武艺逃出皇宫,并在追捕过程中制造“坠崖假死”而逃生,其后女扮男装隐瞒身份流落民间,一心只想为父母复仇,在家和国的利害冲突中,最后放弃复仇,和阿诗勒隼一起成为了民族和解的使者。

  • 什么时候喝蛋白粉增肌效果最好(什么时候喝蛋白粉增肌效果最好)

    从长远来看,这种方法被证明可以促使肌肉明显增长。如果摄入量超过一定的阈值,蛋白质的合成就会受限。如果是以乳清饮料的形式摄入乳清蛋白,运动者可以在运动结束后立即饮用。按每公斤体重1克的标准,在健身前后立即摄入以及在运动后1小时内摄入可快速吸收的碳水化合物,可以明显抑制肌肉分解,并大大促进肌肉快速和明显的增长。在这种情况下,大量分泌的胰岛素促进了氨基酸向工作中的肌肉运输,为蛋白质合成奠定基础。

  • 窦骁周冬雨山楂树之恋结局(周冬雨18岁第一次出演)

    周冬雨18岁第一次出演要说最近最火的电影,非《少年的你》莫属,上映14天,已经收获了12.45亿的票房成绩,成为现阶段最强的票房黑马而作为该片主演的周冬雨和易烊千玺,也凭借在该片中的精彩演出,演技得到大众的进一步认可作为“。