導航:首頁 > 編程語言 > java函數聲明

java函數聲明

發布時間:2022-08-27 10:28:23

java中main函數

1、main是java的入口方法
2、main的入口方法是規定的寫法,可以理解為死的,固定的
3、每個類中,都可以有main方法
4、一個類中,可以有多個main方法,參數可以不一樣,但是入口的只有一個

⑵ Java中定義和聲明的區別

Java中,我們應該知道最基本的就是定義變數和聲明變數了,那麼定義與聲明這兩者有沒有區別呢?具體的區別又是哪些呢?下面學習啦小編來告訴你定義與聲明的區別。

定義和聲明的定義區別

1、一種是需要建立存儲空間的。例如:int a 在聲明的時候就已經建立了存儲空間。

2、另一種是不需要建立存儲空間的。 例如:extern int a 其中變數a是在別的文件中定義的。

聲明是向編譯器介紹名字--標識符。它告訴編譯器「這個函數或變數在某處可找到,它的模樣象什麼」。

而定義是說:「在這里建立變數」或「在這里建立函數」。它為名字分配存儲空間。無論定義的是函數還是變數,編譯器都要為它們在定義點分配存儲空間。

對於變數,編譯器確定變數的大小,然後在內存中開辟空間來保存其數據,對於函數,編譯器會生成代碼,這些代碼最終也要佔用一定的內存。

總之就是:把建立空間的聲明成為「定義」,把不需要建立存儲空間的成為「聲明」。

基本類型變數的聲明和定義(初始化)是同時產生的;而對於對象來說,聲明和定義是分開的。

下面小編給大家舉個例子說明一下。

例如:類A

如果A a;就是一個聲明,告訴編譯器a是A類的一個對象變數,但是不進行初始化;

如果以後a=new A();這就是初始化,分配了空間。

需要注意的是我們聲明的最終目的是為了提前使用,即在定義之前使用,如果不需要提前使用就沒有單獨聲明的必要,變數是如此,函數也是如此,所以聲明不會分配存儲空間,只有定義時才會分配存儲空間。

用static來聲明一個變數的作用有二:

(1)對於局部變數用static聲明,則是為該變數分配的空間在整個程序的執行期內都始終存在。

(2)外部變數用static來聲明,則該變數的作用只限於本文件模塊。

定義和聲明的具體區別

所謂定義就是(編譯器)創建一個對象,為這個對象分配一塊內存,並給它取上一個名字,這個名字就是就是我們經常所說的變數名或對象名。

聲明有2重含義:

(1) 告訴編譯器,這個名字已經匹配到一塊內存上,下面的代碼用到變數或者對象是在別的地方定義的。聲明可以出現多次。

(2) 告訴編譯器,這個名字已經被預定了,別的地方再也不能用它來作為變數名或對象名。

定義和聲明最重要區別

定義創建對象並為這個對象分配了內存,聲明沒有分配內存。

⑶ 在oracle中怎樣聲明這個java類中的函數

環境:windows2000 + oracle9.2
1、loadjava
2、直接在Oracle中使用Java源,Oracle內置JVM,對java支持很好
(1). 建立 java source
create or replace and compile java source named js_output_test as
public class js_test
{
public static String js_desc()
{
return "this is java source test.";
}
}

(2). 發布java source
CREATE OR REPLACE FUNCTION fn_test_js RETURN VARCHAR2
AS LANGUAGE JAVA NAME 'js_test.js_desc() return java.lang.String';

(3). 測試.
SQL> set serveroutput on;
SQL> var v_test varchar2(25);
SQL> call fn_test_js() into :v_test;
調用完成。
SQL> print v_test;
V_TEST
--------------------------------
this is java source test.
注意:發布時參數中的java.lang.String一定要寫全,返回類型可以用number代替int
====================================================================
create or replace and compile java source named hello as
public class Hello {
static public String Message(String yname) {
return "Hello, " + yname;
}
}
create or replace function hello (Name VARCHAR2) return VARCHAR2
as language java name
'Hello.Message (java.lang.String) return java.lang.String';

Select hello('every body!') From al;
====================================================================
create or replace and compile java source named sea as
public class Sea{
public static String myReplaceAll(String src,String name1,String name2) {
int a=0; int n=name1.length(); int l=src.indexOf(name1,a);
while(l>0){
src = src.substring(0,l) + src.substring(l+n);
a=a+n;
l=src.indexOf(name1,a);
}
return src;
}

public static String getSameCompany(String name11,String name22){
if(name11==null || name22==null){
return "false";
}
String s1=myReplaceAll(name11,"公司",""); String s2=myReplaceAll(name22,"公司","");
s1=myReplaceAll(s1,"有限",""); s2=myReplaceAll(s2,"有限","");
s1=myReplaceAll(s1,"責任",""); s2=myReplaceAll(s2,"責任","");
s1=myReplaceAll(s1,"市",""); s2=myReplaceAll(s2,"市","");
s1=myReplaceAll(s1,"股份",""); s2=myReplaceAll(s2,"股份","");

if(s1.indexOf(s2)>=0 || s2.indexOf(s1)>=0){
return "true";
}else{
return "false";
}
}
}
CREATE OR REPLACE Function same (name1 Varchar2, name2 Varchar2) Return Varchar2
As Language Java Name
'Sea.getSameCompany(java.lang.String,java.lang.String) return java.lang.String';

====================================================================
CREATE OR REPLACE Function SAME_COMPANY_NAME(Name1 In Varchar2, Name2 In Varchar2) Return Integer Is
Nam1 Varchar2(255); Nam2 Varchar2(255);
Begin
Nam1 := Replace(Name1, '公司', ''); Nam2 := Replace(Name2, '公司', '');
Nam1 := Replace(Nam1, '有限', ''); Nam2 := Replace(Nam2, '有限', '');
Nam1 := Replace(Nam1, '責任', ''); Nam2 := Replace(Nam2, '責任', '');
Nam1 := Replace(Nam1, '市', ''); Nam2 := Replace(Nam2, '市', '');
Nam1 := Replace(Nam1, '股份', ''); Nam2 := Replace(Nam2, '股份', '');
If (Instr(Nam1, Nam2) > 0 Or Instr(Nam2, Nam1) > 0) Then Return 0; Else Return 1; End If;
End SAME_COMPANY_NAME;
====================================================================

閱讀全文

與java函數聲明相關的資料

熱點內容
編譯原理代碼在哪裡運行 瀏覽:584
解密攝影pdf 瀏覽:72
演算法編程中級題目 瀏覽:249
c語言編譯器畢業設計 瀏覽:715
醫保卡申請app哪個好 瀏覽:944
阿里雲伺服器上傳源碼 瀏覽:602
營銷管理科特勒pdf 瀏覽:696
願望清單app哪個好 瀏覽:459
安卓外放聲音怎麼解決 瀏覽:195
脈脈app干什麼用的 瀏覽:360
拽姐是哪個app 瀏覽:861
雲伺服器刪除了還有嗎 瀏覽:234
macbook可以用單片機嘛 瀏覽:309
南陽php招聘 瀏覽:818
去哪裡找按摩師很漂亮的app 瀏覽:821
86x99用簡便演算法計算 瀏覽:833
php截圖flash 瀏覽:276
卸載聯想app哪個好 瀏覽:722
php文字轉圖片 瀏覽:332
豆客後台怎麼加密碼 瀏覽:577