java开发技巧
Java是一种通用的编程语言,在几乎所有接触计算机的行业中都以某种方式使用。 Java的最大功能是它运行在Java虚拟机(JVM)中,该层将Java代码转换为与您的操作系统兼容的字节码。 只要您的操作系统存在JVM,无论该OS是在服务器上(或在此情况下为无服务器 ),台式机,便携式计算机,移动设备或嵌入式设备上,都可以在其上运行Java应用程序。
许多语言和框架都是跨平台的,但没有一个提供相同级别的抽象。 使用Java,您的目标是JVM,而不是OS。 对于程序员来说,这是遇到一些编程挑战时阻力最小的途径,但是只有在您知道如何编程Java时,它才有用。 如果您刚刚开始Java编程,那么您需要了解以下七个基本技巧。
但是首先,如果不确定是否已安装Java,则可以通过运行以下命令在终端(例如Bash或PowerShell )中查找:
$
java
--version
openjdk 12.0.2
2019 -07-
16
OpenJDK Runtime Environment
19.3
( build 12.0.2+
9
)
OpenJDK
64 -Bit Server VM
19.3
( build 12.0.2+
9 , mixed mode, sharing
)
如果收到错误或没有回报,则应该安装Java Development Kit (JDK)来开始Java开发。 或安装Java Runtime Environment (JRE),如果您只需要运行Java应用程序。
1. Java包
在Java中,相关类分组为package 。 下载JDK时获得的基本Java库分为以java或javax开头的软件包。 软件包的功能与计算机上的文件夹类似:它们提供相关元素的结构和定义(在编程术语中为名称空间 )。 可以从独立的编码器,开放源代码项目和商业供应商处获得其他软件包,就像可以为任何编程语言获得库一样。
编写Java程序时,应在代码顶部声明一个程序包名称。 如果您只是在编写一个简单的应用程序以开始使用Java,则包名可以和项目名一样简单。 如果使用的是Eclipse之类的Java集成开发环境(IDE),则在启动新项目时会为您生成一个合理的程序包名称。
package
helloworld
;
/**
* @author seth
* An application written in Java.
*/
否则,您可以通过查看与项目的广泛定义相关的路径来确定软件包的名称。 例如,如果您正在编写一组类来协助游戏开发,并且该集合称为jgamer ,则其中可能包含几个唯一的类。
package
jgamer.avatar
;
/**
* @author seth
* An imaginary game library.
*/
软件包的顶层是jgamer ,其中的每个软件包都是后代,例如jgamer.avatar和jgamer.score等。 在文件系统中,结构反映了这一点, jgamer是包含文件avatar.java和score.java的顶层目录。
2. Java导入
作为一名多语言程序员,您将获得的最大乐趣就是试图跟踪您是否以编写的任何编程语言来包含 , 导入 , 使用 , require或其他术语一个库。Java, 导入代码所需的库时使用import关键字。
package
helloworld
;
import
javax.swing.*
;
import
java.awt.*
;
import
java.awt.event.*
;
/**
* @author seth
* A GUI hello world.
*/
根据环境的Java路径导入工作。 如果Java不知道Java库在系统上的存储位置,那么导入将无法成功。 只要将库存储在系统的Java路径中,导入就可以成功,并且可以使用库来构建和运行Java应用程序。
如果不希望某个库位于Java路径中(例如,因为您自己编写该库),则可以将该库与您的应用程序捆绑在一起(许可许可),以便导入可以按预期进行。
3. Java类
用关键字public class声明Java类,并用一个唯一的类名镜像其文件名。 例如,在项目helloworld中的Hello.java文件中:
package
helloworld
;
import
javax.swing.*
;
import
java.awt.*
;
import
java.awt.event.*
;
/**
* @author seth
* A GUI hello world.
*/
public
class Hello
{
// this is an empty class
}
您可以在类内声明变量和函数。 在Java中,类中的变量称为字段 。
4. Java方法
Java方法本质上是对象内的函数。 根据返回的数据的预期类型(例如void , int , float等),将它们定义为公共的 (意味着它们可以由任何其他类访问)或私有的 (限制其使用)。
public
void helloPrompt
(
ActionEvent event
)
{
String salutation
=
"Hello %s"
;
string helloMessage
=
"World"
;
message
=
String .
format
( salutation, helloMessage
)
;
JOptionPane .
showMessageDialog
(
this , message
)
;
}
private
int someNumber
( x
)
{
return x
*
2
;
}
直接调用方法时,将通过其类和方法名称进行引用。 例如, Hello.someNumber引用Hello类中的someNumber方法。
5.静态
Java中的static关键字使代码中的成员可以独立于包含其的对象而被访问。
在面向对象的编程中,您编写的代码用作“对象”的模板,这些对象在应用程序运行时产生。 例如,您没有编写特定的窗口,而是编写了基于Java中的窗口类的窗口实例 (并由您的代码进行了修改)。 由于在应用程序生成实例之前,您编写的所有代码都不会“存在”,因此大多数方法和变量(甚至是嵌套类)都无法使用,直到创建了它们所依赖的对象。
但是,有时您需要在应用程序创建对象之前访问或使用对象中的数据(例如,应用程序在不首先知道该球是红色的情况下无法生成红色球)。 对于这些情况,有static关键字。
6.尝试抓住
Java在捕获错误方面非常出色,但是只有告诉您怎么做,它才能正常恢复。 尝试在Java中执行动作的级联层次结构从try开始,回退到catch , 最后结束。 如果try子句失败,则将调用catch , 最后 ,无论结果如何,总有最终要执行一些明智的操作。 这是一个例子:
try
{
cmd
= parser.
parse
( opt, args
)
;
if
( cmd.
hasOption
(
"help"
)
)
{
HelpFormatter helper
=
new HelpFormatter
(
)
;
helper.
printHelp
(
"Hello <options>" , opt
)
;
System .
exit
(
0
)
;
}
else
{
if
( cmd.
hasOption
(
"shell"
)
|| cmd.
hasOption
(
"s"
)
)
{
String target
= cmd.
getOptionValue
(
"tgt"
)
;
}
// else
}
// fi
}
catch
(
ParseException err
)
{
System .
out .
println
( err
)
;
System .
exit
(
1
)
;
}
//catch
finally
{
new Hello
(
) .
helloWorld
( opt
)
;
}
//finally
}
//try
这是一个健壮的系统,它试图避免不可恢复的错误,或者至少为您提供向用户提供有用反馈的选项。 经常使用它,您的用户将感谢您!
7.运行Java应用程序
Java文件通常以.java结尾,理论上可以使用java命令运行。 但是,如果应用程序很复杂,则运行单个文件是否会产生有意义的结果是另一个问题。
要直接运行.java文件,请执行以下操作:
$ java . / Hello.java
通常,Java应用程序以Java存档(JAR)文件分发,以.jar结尾。 一个JAR文件包含一个清单文件,该清单文件指定了主类,一些有关项目结构的元数据以及运行该应用程序所需的所有代码部分。
要运行JAR文件,您可以双击其图标(取决于您的操作系统的设置方式),也可以从终端启动它:
$ java -jar . / Hello.jar
适合所有人的Java
Java是一种功能强大的语言,并且由于OpenJDK项目和其他计划的支持,它是一个开放规范,使IcedTea , Dalvik和Kotlin等项目得以蓬勃发展。 学习Java是准备在各种行业中工作的好方法,而且,使用 Java的理由很多。
java开发技巧