新聞中心
JAVA問題,求 代碼1~代碼8 并解釋下代碼2賦值的問題和代碼4和代碼5的調(diào)用問題
代碼1:int static b;
張灣網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
代碼2:this.a = 10;
代碼3:Ca.b = 10;
代碼4:m1();
代碼5:new Ca().m2();
代碼6:System.out.println(Ca.b);
代碼7:System.out.println(s1.b);
代碼8:System.out.println(s2.b);
代碼2賦值問題,在靜態(tài)的m1()方法中,不能直接調(diào)用非靜態(tài)的變量,可以調(diào)用自身this對象。
在靜態(tài)的方法中,可以直接調(diào)用靜態(tài)的變量和方法,其它的要實例后再調(diào)用。希望回答對你有所幫助。
有沒有哪個Java 8妙用Nashorn引擎的好例子
使用Java8,Nashorn大大提高了JavaScript 引擎引入,以取代現(xiàn)有的Nashorn Java腳本引擎。Nashorn提供2至10倍更好的性能,因為它直接編譯代碼在存儲器,并傳遞到字節(jié)碼JVM.Nashorn使用invokedynamics函數(shù),在Java7引入以提高性能。
jjs
對于Nashorn引擎,JAVA8引入了一個新的命令行工具,JJS到控制臺執(zhí)行Java腳本代碼。
解讀js文件
創(chuàng)建并保存sample.js在 C: JAVA 文件夾。
sample.jsprint('Hello World!');
打開控制臺并使用下面的命令。
C:\JAVAjjs sample.js
看到結(jié)果
Hello World!
JJS在交互模式
打開控制臺并使用下面的命令
C:\JAVAjjs
jjs print("Hello, World!")
Hello, World!
jjs quit()
傳遞參數(shù)
打開控制臺并使用下面的命令。
C:\JAVA jjs -- a b c
jjs print('letters: ' +arguments.join(", "))
letters: a, b, c
jjs
在JAVA調(diào)用JavaScript
使用ScriptEngineManager,JavaScript代碼用Java編寫可以被調(diào)用。
示例
選擇使用任何編輯器創(chuàng)建以下java程序在 C:/ JAVA
Java8Tester.javaimport javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
public class Java8Tester {
public static void main(String args[]){
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn");
String name = "Mahesh";
Integer result = null;
try {
nashorn.eval("print('" + name + "')");
result = (Integer) nashorn.eval("10 + 2");
}catch(ScriptException e){
System.out.println("Error executing script: "+ e.getMessage());
}
System.out.println(result.toString());
}
}
驗證結(jié)果
使用javac編譯器編譯如下類
C:\JAVAjavac Java8Tester.java
現(xiàn)在運行Java8Tester看到的結(jié)果
C:\JAVAjava Java8Tester
看到結(jié)果
Mahesh
12
從JavaScript調(diào)用Java
下面的例子將展示如何導入和使用Java類的Java腳本。
創(chuàng)建并保存 sample.js 在 c: JAVA 文件夾.
sample.jsvar BigDecimal = Java.type('java.math.BigDecimal');
function calculate(amount, percentage) {
var result = new BigDecimal(amount).multiply(
new BigDecimal(percentage)).divide(
new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_EVEN);
return result.toPlainString();
}
var result = calculate(568000000000000000023,13.9);
print(result);
打開控制臺并使用下面的命令。
C:\JAVAjjs sample.js
看到結(jié)果
78952000000000000003.20
刪除數(shù)組中所有為8的元素 用Java編寫代碼
這種題,其實是考察你對數(shù)組的理解。
實際工作上,一般用List。區(qū)別在于,List可動態(tài)分配空間,數(shù)組長度是定死的。
List其實是對數(shù)組的封裝,底層也是數(shù)組。
解決這個問題的思路(假設(shè)刪除一個元素):
創(chuàng)建一個新的數(shù)組,長度為原來數(shù)組減1;
循環(huán)復(fù)制,匹配的不復(fù)制,不匹配的復(fù)制到新數(shù)組;
代碼如下:
public class $ {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
System.out.print("刪除前:");
show(arr);
// ///////////////////////////////////
int[] brr = new int[arr.length - 1];
int idx = 0;
for (int i : arr) {
if (i != 3) {
brr[idx++] = i;
}
}
// ///////////////////////////////////
System.out.print("刪除后:");
show(brr);
}
private static void show(int[] arr) {
for (int i : arr) {
System.out.print(i + ",");
}
System.out.println();
}
}
新聞標題:java8代碼范例的簡單介紹
本文來源:http://www.ef60e0e.cn/article/ddseoej.html