當前位置:首頁 » 編程語言 » 用java

用java

發布時間: 2022-01-15 23:00:02

1. java的主要用途是哪個方面

1、Android應用

許多的 Android應用都是Java程序員開發者開發。雖然 Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當一部分的手機中都支持JAVA游戲,這就使很多非編程人員都認識了JAVA。

2、在金融業應用的伺服器程序

Java在金融服務業的應用非常廣泛,很多第三方交易系統、銀行、金融機構都選擇用Java開發,因為相對而言,Java較安全 。大型跨國投資銀行用Java來編寫前台和後台的電子交易系統,結算和確認系統,數據處理項目以及其他項目。

3、網站

Java 在電子商務領域以及網站開發領域占據了一定的席位。開發人員可以運用許多不同的框架來創建web項目,SpringMVC,Struts2.0以及frameworks。

4、嵌入式領域

Java在嵌入式領域發展空間很大。在這個平台上,只需130KB就能夠使用Java技術(在智能卡或者感測器上)。

5、大數據技術

Hadoop以及其他大數據處理技術很多都是用Java,例如Apache的基於Java的HBase和Accumulo以及 ElasticSearchas。

6、高頻交易的空間

Java平台提高了這個平台的特性和即使編譯,他同時也能夠像 C++ 一樣傳遞數據。正是由於這個原因,Java成為的程序員編寫交易平台的語言,因為雖然性能不比C++,但開發人員可以避開安全性,可移植性和可維護性等問題。

7、科學應用

Java在科學應用中是很好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的並發性更好。

(1)用java擴展閱讀:

java的用途已經數不勝數,舉不勝舉,擁有著無可比擬的能力,另外在節省時間和開發費用方面也十分可觀,程序員可以藉助java語言,自由的使用現有的硬體和軟體系統平台,因為java是獨立於任何平台的。具體應用領域總結如下:

第 1 個領域、桌面應用系統開發;

第 2 個領域、嵌入式系統開發;

第 3 個領域、電子商務系統開發;

第 4 個領域、企業級應用開發;

第 5 個領域、互動式系統開發;

第 6 個領域、多媒體系統開發;

第 7 個領域、分布式系統開發;

第 8 個領域、Web應用系統開發。

網路-Java

2. 用java程序

一、JAVA中所需要做的工作
在JAVA程序中,首先需要在類中聲明所調用的庫名稱,如下:
static {
System.loadLibrary(「goodluck」);
}

在這里,庫的擴展名字可以不用寫出來,究竟是DLL還是SO,由系統自己判斷。
還需要對將要調用的方法做本地聲明,關鍵字為native。並且只需要聲明,而不需要具 體實現。如下:
public native static void set(int i);
public native static int get();
然後編譯該JAVA程序文件,生成CLASS,再用JAVAH命令,JNI就會生成C/C++的頭文件。
例如程序testdll.java,內容為:
public class testdll
{
static
{
System.loadLibrary("goodluck");
}
public native static int get();
public native static void set(int i);

public static void main(String[] args)
{
testdll test = new testdll();
test.set(10);
System.out.println(test.get());
}
}

用javac testdll.java編譯它,會生成testdll.class。
再用javah testdll,則會在當前目錄下生成testdll.h文件,這個文件需要被C/C++程序調用來生成所需的庫文件。
二、C/C++中所需要做的工作
對於已生成的.h頭文件,C/C++所需要做的,就是把它的各個方法具體的實現。然後編譯連接成庫文件即可。再把庫文件拷貝到JAVA程序的路徑下面,就可以用JAVA調用C/C++所實現的功能了。
接上例子。我們先看一下testdll.h文件的內容:

#i nclude <jni.h>

#ifndef _Included_testdll
#define _Included_testdll
#ifdef __cplusplus
extern "C" {
#endif

JNIEXPORT jint JNICALL Java_testdll_get (JNIEnv *, jclass);

JNIEXPORT void JNICALL Java_testdll_set (JNIEnv *, jclass, jint);
#ifdef __cplusplus
}
#endif
#endif
在具體實現的時候,我們只關心兩個函數原型
JNIEXPORT jint JNICALL Java_testdll_get (JNIEnv *, jclass); 和
JNIEXPORT void JNICALL Java_testdll_set (JNIEnv *, jclass, jint);
這里JNIEXPORT和JNICALL都是JNI的關鍵字,表示此函數是要被JNI調用的。而jint是以JNI為中介使JAVA的int類型與本地的int溝通的一種類型,我們可以視而不見,就當做int使用。函數的名稱是JAVA_再加上java程序的package路徑再加函數名組成的。參數中,我們也只需要關心在JAVA程序中存在的參數,至於JNIEnv*和jclass我們一般沒有必要去碰它。
好,下面我們用testdll.cpp文件具體實現這兩個函數:
#i nclude "testdll.h"
int i = 0;
JNIEXPORT jint JNICALL Java_testdll_get (JNIEnv *, jclass)
{
return i;
}
JNIEXPORT void JNICALL Java_testdll_set (JNIEnv *, jclass, jint j)
{
i = j;
}
編譯連接成庫文件,本例是在WINDOWS下做的,生成的是DLL文件。並且名稱要與JAVA中需要調用的一致,這里就是goodluck.dll 。把goodluck.dll拷貝到testdll.class的目錄下,java testdll運行它,就可以觀察到結果了。

3. 用Java編寫

importjava.awt.BorderLayout;
importjava.awt.Component;
importjava.awt.Container;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;

importjavax.swing.ButtonGroup;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JRadioButton;
importjavax.swing.JTextField;
/**
*做一個窗體應用程序「體重指數計算器」,能根據用戶輸入的性別、身高、體重計算出「體質指數(身體質量指數)」,並給出是否偏胖的判斷。其中,體質指數(BMI)=體重(kg)÷身高^2(m),大於24則為偏胖。要求有更詳細的判斷。要求有用戶界面組件(如文本框、單選按鈕、按鈕)、布局和事件處理。
*
*@authorchunyan
*
*/
{
JTextFieldheight;
JTextFieldweight;
JLabelresult;
//構造函數
publicDemoFrame(){
init();
}
//初始化JFrame
privatevoidinit(){
this.setTitle("體質指數計算平台");
this.setSize(702,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//點擊關閉
this.setLocationRelativeTo(null);//設置居中
this.setContentPane(createContentPane());//創建主面板
}
//創建面板
(){
JPanelp=newJPanel(newBorderLayout());
p.add(BorderLayout.NORTH,createNorthPane());
p.add(BorderLayout.CENTER,createCenterPane());
p.add(BorderLayout.SOUTH,createSouthPane());
returnp;
}
//最北邊的輸入框
(){
JPanelp=newJPanel();
JLabellabel=newJLabel("性別:");
ButtonGroupbg=newButtonGroup();
JRadioButtonjrb1=newJRadioButton("男");
JRadioButtonjrb2=newJRadioButton("女");
bg.add(jrb1);
bg.add(jrb2);
//身高,輸入框
JLabellabel_height=newJLabel("身高:");
height=newJTextField("請輸入身高,單位為:米",20);
//體重,輸入框
JLabellabel_weight=newJLabel("體重:");
weight=newJTextField("請輸入體重,單位為:千克",20);
p.add(label);
p.add(jrb1);
p.add(jrb2);
p.add(label_height);
p.add(height);
p.add(label_weight);
p.add(weight);
returnp;
}
//中間的提交
(){
JPanelp=newJPanel();
JButtonbutton=newJButton("檢測身體素質");
button.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
Doubleh=Double.valueOf(height.getText());
Doublew=Double.valueOf(weight.getText());
Doublebmi=w/(Math.pow(h,2));
if(bmi>24){
result.setText("體質指數:"+bmi+" 提示:偏胖");
}else{
result.setText(bmi+"");
}
}
});
p.add(button);
returnp;
}
//底部的結果顯示
(){
JPanelp=newJPanel();
result=newJLabel("結果...");
p.add(result);
returnp;
}
publicstaticvoidmain(String[]args){
DemoFramedemoFrame=newDemoFrame();
demoFrame.setVisible(true);
}
}

結果:

4. 如何使用java

Java語言定義了public、protected、private、abstract、static和final這6常用修飾詞外還定義了5個不太常用的修飾詞,下面是對這11個Java修飾詞的介紹:
1.public
使用對象:類、介面、成員
介紹:無論它所處在的包定義在哪,該類(介面、成員)都是可訪問
2.private
使用對象:成員
介紹:成員只可以在定義它的類中被訪問
3.static
使用對象:類、方法、欄位、初始化函數
介紹:成名為static的內部類是一個頂級類,它和包含類的成員是不相關的。靜態方法是類方法,是被指向到所屬的類而不是類的實例。靜態欄位是類欄位,無論該欄位所在的類創建了多少實例,該欄位只存在一個實例被指向到所屬的類而不是類的實例。初始化函數是在裝載類時執行的,而不是在創建實例時執行的。
4.final
使用對象:類、方法、欄位、變數
介紹:被定義成final的類不允許出現子類,不能被覆蓋(不應用於動態查詢),欄位值不允許被修改。
5.abstract
使用對象:類、介面、方法
介紹:類中包括沒有實現的方法,不能被實例化。如果是一個abstract方法,則方法體為空,該方法的實現在子類中被定義,並且包含一個abstract方法的類必須是一個abstract類
6.protected
使用對象:成員
介紹:成員只能在定義它的包中被訪問,如果在其他包中被訪問,則實現這個方法的類必須是該成員所屬類的子類。
7.native
使用對象:成員
介紹:與操作平台相關,定義時並不定義其方法,方法的實現被一個外部的庫實現。
8.strictfp
使用對象:類、方法
介紹:strictfp修飾的類中所有的方法都隱藏了strictfp修飾詞,方法執行的所有浮點計算遵守IEEE
754標准,所有取值包括中間的結果都必須表示為float或double類型,而不能利用由本地平台浮點格式或硬體提供的額外精度或表示範圍。
9.synchronized
使用對象:方法
介紹:對於一個靜態的方法,在執行之前jvm把它所在的類鎖定;對於一個非靜態類的方法,執行前把某個特定對象實例鎖定。
10.volatile
使用對象:欄位
介紹:因為非同步線程可以訪問欄位,所以有些優化操作是一定不能作用在欄位上的。volatile有時可以代替synchronized。
11.transient
使用對象:欄位
介紹:欄位不是對象持久狀態的一部分,不應該把欄位和對象一起串起。

5. 用JAVA定義

public class Student {

private String id; //學號
private String name; //姓名
private String gender; //性別
private int age; //年齡
private String classroom; //班級
private double internet; //計算機網路基礎課程成績
private double java; //嵌入式面向對象編程(Java)課程成績
private double mysql; //MySQL資料庫課程成績
private double inventor; //面向對象計算思維APP Inventor課程成績

//求課程的總成績
public void ShowGrade() {
double grade = getInternet() + getJava() + getMysql() + getInventor();
System.out.println("四門功課的總成績:" + grade);
System.out.println("平均成績:" + grade / 4);
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getClassroom() {
return classroom;
}

public void setClassroom(String classroom) {
this.classroom = classroom;
}

public double getInternet() {
return internet;
}

public void setInternet(double internet) {
this.internet = internet;
}

public double getJava() {
return java;
}

public void setJava(double java) {
this.java = java;
}

public double getMysql() {
return mysql;
}

public void setMysql(double mysql) {
this.mysql = mysql;
}

public double getInventor() {
return inventor;
}

public void setInventor(double inventor) {
this.inventor = inventor;
}
}

6. 用Java實現

這是什麼題……先用random類取任意百內整數,然後用if語句去判斷該數對3和5取模是否為0即可。

java.util.Random r=new java.util.Random();
int num=r.nextInt(100)+1;
if(num%3==0&&num%5==0){
System.out.println("麥叔");
}else if(num%3==0){
System.out.println("麥");
}else if(num%5==0){
System.out.println("叔");
}else{System.out.println("非3與5的倍數");}

7. 用JAVA編程

樓主你好

具體代碼如下:
import java.util.*;

public class Test {
public static void fun(int[] a,int m){
int count = 0;//素數計數
for (int i = m+1;;i++) {
int j;
for (j = 2; j<= i/2; j++){//判斷素數
if(i%j == 0){
break;
}
}
if(j> i/2 ){//如果是素數 賦給數組a的對應元素
a[count] = i;
count++;
if(count == 5){//當為5時 就跳出for循環
break;
}
}
}
}
public static void main (String[] args) {
int m;
int[] a = new int[5];
Scanner in = new Scanner(System.in);
System.out.print ("輸入一個整數m:");
m = in.nextInt();
fun(a,m);
System.out.println ("大於" + m + "且臨街" + m + "的5個素數分別是:");
for(int v:a){
System.out.println (v);
}
}
}

運行結果:
輸入一個整數m:5
大於5且臨街5的5個素數分別是:
7
11
13
17
19

希望能幫助你哈

8. 用java語言編寫程序

你這不是一個排序演算法么,
int[] arr = new int[10];
for(int i=0;i<10;i++){
int k=arr[i];
fo(int j=10;j>i;j--){
int g=arr[j];
if(arr[i]>arr[j]){
int zj = k;
k=j;
j=zj;
}
}
}

9. 用Java,

packagecom.dcits.client;

publicclassStudent{
privateintid;
privateStringname;
privateintscore;
publicStudent(){
super();
//TODOAuto-generatedconstructorstub
}
publicStudent(intid,Stringname,intscore){
super();
this.id=id;
this.name=name;
this.score=score;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetScore(){
returnscore;
}
publicvoidsetScore(intscore){
this.score=score;
}


publicstaticvoidprintInfo(Student[]ss){
for(inti=0;i<ss.length;i++){
System.out.println(ss[i].getId()+""+ss[i].getName()+""+ss[i].getScore());
}
}

publicstaticvoidmain(String[]args){
Student[]ss=newStudent[3];
ss[0]=newStudent(1,"小明",80);
ss[1]=newStudent(2,"李磊",75);
ss[2]=newStudent(3,"韓梅梅",90);
printInfo(ss);
}
}

10. java中!的用法

!是一個一元運算符,運算對象是boolean類型的,若運算對象為true則返回false,若運算對象為true則返回false。!value的話value要是boolean值才可以進行運算。

下面舉的例子if(file!=null)就是如果file對象不為空,則執行if下面的語句。

if(!value.equal("")) 顯然value是一個string類型的,這里的!操作符並不是對value進行運算的,而是對value.equal("")進行運算的
equal()方法返回的值是boolean類型的
if(!value.equal(""))整個意思是如果value不為空字元串(注意哦,不是不為空,這是有區別的),則執行if下面的於語句。

熱點內容
寫一個編譯器 發布:2022-01-16 06:06:09 瀏覽:153
pe演算法 發布:2022-01-16 06:06:09 瀏覽:589
linux內核編譯全過程 發布:2022-01-16 06:06:05 瀏覽:689
c盤壓縮 發布:2022-01-16 06:06:03 瀏覽:74
java的異常 發布:2022-01-16 06:05:55 瀏覽:443
如何查看三星手機配置 發布:2022-01-16 06:04:41 瀏覽:926
dnf輔助源碼 發布:2022-01-16 06:04:35 瀏覽:452
演算法排列 發布:2022-01-16 06:04:25 瀏覽:647
百變遙控安卓版怎麼用 發布:2022-01-16 06:03:48 瀏覽:358
室內設計需要什麼配置的電腦 發布:2022-01-16 06:03:41 瀏覽:621