真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java程序代碼h,Java程序代碼電視遙控器

求一段簡單的java代碼

不知道是否理解對了你的意思,大概寫了一下:

創(chuàng)新互聯(lián)主營石獅網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),石獅h5重慶小程序開發(fā)公司搭建,石獅網(wǎng)站營銷推廣歡迎石獅等地區(qū)企業(yè)咨詢

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.StringReader;

import java.io.StringWriter;

public class FileReadAndWrite {

private static final int DEFAULT_BUFFER_SIZE = 1024;

public static void main(String[] args) {

File file = new File("E:/workspace/FileIOTest/src/a.txt");

String str = file2String(file, "UTF-8");

str = str.replace('d', 'f');

string2File(str,"E:/workspace/FileIOTest/src/b.txt");

System.out.println("處理完畢");

}

/**

* 文本文件轉(zhuǎn)換為指定編碼的字符串

*

* @param file

* 文本文件

* @param encoding

* 編碼類型

* @return 轉(zhuǎn)換后的字符串

* @throws IOException

*/

public static String file2String(File file, String encoding) {

InputStreamReader reader = null;

StringWriter writer = new StringWriter();

try {

if (encoding == null || "".equals(encoding.trim())) {

reader = new InputStreamReader(new FileInputStream(file),

encoding);

} else {

reader = new InputStreamReader(new FileInputStream(file));

}

// 將輸入流寫入輸出流

char[] buffer = new char[DEFAULT_BUFFER_SIZE];

int n = 0;

while (-1 != (n = reader.read(buffer))) {

writer.write(buffer, 0, n);

}

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

if (reader != null)

try {

reader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

// 返回轉(zhuǎn)換結(jié)果

if (writer != null)

return writer.toString();

else

return null;

}

/**

* 將字符串寫入指定文件(當(dāng)指定的父路徑中文件夾不存在時(shí),會最大限度去創(chuàng)建,以保證保存成功!)

*

* @param res

* 原字符串

* @param filePath

* 文件路徑

* @return 成功標(biāo)記

*/

public static boolean string2File(String res, String filePath) {

boolean flag = true;

BufferedReader bufferedReader = null;

BufferedWriter bufferedWriter = null;

try {

File distFile = new File(filePath);

if (!distFile.getParentFile().exists())

distFile.getParentFile().mkdirs();

bufferedReader = new BufferedReader(new StringReader(res));

bufferedWriter = new BufferedWriter(new FileWriter(distFile));

char buf[] = new char[1024]; // 字符緩沖區(qū)

int len;

while ((len = bufferedReader.read(buf)) != -1) {

bufferedWriter.write(buf, 0, len);

}

bufferedWriter.flush();

bufferedReader.close();

bufferedWriter.close();

} catch (IOException e) {

e.printStackTrace();

flag = false;

return flag;

} finally {

if (bufferedReader != null) {

try {

bufferedReader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return flag;

}

}

計(jì)數(shù)器的java代碼

Java技術(shù)與Java虛擬機(jī)中文JAVA技術(shù)網(wǎng)g0cVV+]

中文JAVA技術(shù)網(wǎng)I5Zz[ }'Og G6Y

說起Java,人們首先想到的是Java編程語言,然而事實(shí)上,Java是一種技術(shù),它由四方面組成:Java編程語言、Java類文件格式、Java虛擬機(jī)和Java應(yīng)用程序接口(Java API)。它們的關(guān)系如下圖所示:

[)|)k3b9M#\)w%Q{~r0中文JAVA技術(shù)網(wǎng):cP+] _2tRtm*K

中文JAVA技術(shù)網(wǎng)yz;_Y0FB

圖1 Java四個(gè)方面的關(guān)系

,YWx ^L |Q0運(yùn)行期環(huán)境代表著Java平臺,開發(fā)人員編寫Java代碼(.java文件),然后將之編譯成字節(jié)碼(.class文件)。最后字節(jié)碼被裝入內(nèi)存,一旦字節(jié)碼進(jìn)入虛擬機(jī),它就會被解釋器解釋執(zhí)行,或者是被即時(shí)代碼發(fā)生器有選擇的轉(zhuǎn)換成機(jī)器碼執(zhí)行。從上圖也可以看出Java平臺由Java虛擬機(jī)和Java應(yīng)用程序接口搭建,Java語言則是進(jìn)入這個(gè)平臺的通道,用Java語言編寫并編譯的程序可以運(yùn)行在這個(gè)平臺上。這個(gè)平臺的結(jié)構(gòu)如下圖所示:

x[+DX0\:W-o@a0中文JAVA技術(shù)網(wǎng)"? c3Y6bj-_

中文JAVA技術(shù)網(wǎng)P @+O3lf_pJ b

中文JAVA技術(shù)網(wǎng)5h:OY TyL2\|Z

在Java平臺的結(jié)構(gòu)中, 可以看出,Java虛擬機(jī)(JVM) 處在核心的位置,是程序與底層操作系統(tǒng)和硬件無關(guān)的關(guān)鍵。它的下方是移植接口,移植接口由兩部分組成:適配器和Java操作系統(tǒng), 其中依賴于平臺的部分稱為適配器;JVM 通過移植接口在具體的平臺和操作系統(tǒng)上實(shí)現(xiàn);在JVM 的上方是Java的基本類庫和擴(kuò)展類庫以及它們的API, 利用Java API編寫的應(yīng)用程序(application) 和小程序(Java applet) 可以在任何Java平臺上運(yùn)行而無需考慮底層平臺, 就是因?yàn)橛蠮ava虛擬機(jī)(JVM)實(shí)現(xiàn)了程序與操作系統(tǒng)的分離,從而實(shí)現(xiàn)了Java 的平臺無關(guān)性。

h6l-v;HV1SvYO0中文JAVA技術(shù)網(wǎng)-G5cAK(e w}

那么到底什么是Java虛擬機(jī)(JVM)呢?通常我們談?wù)揓VM時(shí),我們的意思可能是:中文JAVA技術(shù)網(wǎng),T,Y5d(B5r

中文JAVA技術(shù)網(wǎng)yWv~s;J

對JVM規(guī)范的的比較抽象的說明;

b0r[/o_k+p0對JVM的具體實(shí)現(xiàn);中文JAVA技術(shù)網(wǎng)Xdt8M1sP T_"_s

在程序運(yùn)行期間所生成的一個(gè)JVM實(shí)例。中文JAVA技術(shù)網(wǎng)H k0g,~ hO\

中文JAVA技術(shù)網(wǎng)C3@ w6O-a

對JVM規(guī)范的的抽象說明是一些概念的集合,它們已經(jīng)在書《The Java Virtual Machine Specification》(《Java虛擬機(jī)規(guī)范》)中被詳細(xì)地描述了;對JVM的具體實(shí)現(xiàn)要么是軟件,要么是軟件和硬件的組合,它已經(jīng)被許多生產(chǎn)廠商所實(shí)現(xiàn),并存在于多種平臺之上;運(yùn)行Java程序的任務(wù)由JVM的運(yùn)行期實(shí)例單個(gè)承擔(dān)。在本文中我們所討論的Java虛擬機(jī)(JVM)主要針對第三種情況而言。它可以被看成一個(gè)想象中的機(jī)器,在實(shí)際的計(jì)算機(jī)上通過軟件模擬來實(shí)現(xiàn),有自己想象中的硬件,如處理器、堆棧、寄存器等,還有自己相應(yīng)的指令系統(tǒng)。中文JAVA技術(shù)網(wǎng)nC/D IHP,|

A)R-DFw o2X0JVM在它的生存周期中有一個(gè)明確的任務(wù),那就是運(yùn)行Java程序,因此當(dāng)Java程序啟動的時(shí)候,就產(chǎn)生JVM的一個(gè)實(shí)例;當(dāng)程序運(yùn)行結(jié)束的時(shí)候,該實(shí)例也跟著消失了。下面我們從JVM的體系結(jié)構(gòu)和它的運(yùn)行過程這兩個(gè)方面來對它進(jìn)行比較深入的研究。

Z6?gXm!~0Java虛擬機(jī)的體系結(jié)構(gòu)

2XFZ@"I I,\0

e-i'_;P X a0剛才已經(jīng)提到,JVM可以由不同的廠商來實(shí)現(xiàn)。由于廠商的不同必然導(dǎo)致JVM在實(shí)現(xiàn)上的一些不同,然而JVM還是可以實(shí)現(xiàn)跨平臺的特性,這就要?dú)w功于設(shè)計(jì)JVM時(shí)的體系結(jié)構(gòu)了。中文JAVA技術(shù)網(wǎng){ v2TtMlG?"]*N

中文JAVA技術(shù)網(wǎng),HK3YQN k

我們知道,一個(gè)JVM實(shí)例的行為不光是它自己的事,還涉及到它的子系統(tǒng)、存儲區(qū)域、數(shù)據(jù)類型和指令這些部分,它們描述了JVM的一個(gè)抽象的內(nèi)部體系結(jié)構(gòu),其目的不光規(guī)定實(shí)現(xiàn)JVM時(shí)它內(nèi)部的體系結(jié)構(gòu),更重要的是提供了一種方式,用于嚴(yán)格定義實(shí)現(xiàn)時(shí)的外部行為。每個(gè)JVM都有兩種機(jī)制,一個(gè)是裝載具有合適名稱的類(類或是接口),叫做類裝載子系統(tǒng);另外的一個(gè)負(fù)責(zé)執(zhí)行包含在已裝載的類或接口中的指令,叫做運(yùn)行引擎。每個(gè)JVM又包括方法區(qū)、堆、Java棧、程序計(jì)數(shù)器和本地方法棧這五個(gè)部分,這幾個(gè)部分和類裝載機(jī)制與運(yùn)行引擎機(jī)制一起組成的體系結(jié)構(gòu)圖為:中文JAVA技術(shù)網(wǎng)BW0EZCI

2o\d oz0中文JAVA技術(shù)網(wǎng)%K1Hl:f ~(@Y(U

圖3 JVM的體系結(jié)構(gòu)中文JAVA技術(shù)網(wǎng)0P/b(jt U$x

7{F*d8f7ySt:Q0JVM的每個(gè)實(shí)例都有一個(gè)它自己的方法域和一個(gè)堆,運(yùn)行于JVM內(nèi)的所有的線程都共享這些區(qū)域;當(dāng)虛擬機(jī)裝載類文件的時(shí)候,它解析其中的二進(jìn)制數(shù)據(jù)所包含的類信息,并把它們放到方法域中;當(dāng)程序運(yùn)行的時(shí)候,JVM把程序初始化的所有對象置于堆上;而每個(gè)線程創(chuàng)建的時(shí)候,都會擁有自己的程序計(jì)數(shù)器和Java棧,其中程序計(jì)數(shù)器中的值指向下一條即將被執(zhí)行的指令,線程的Java棧則存儲為該線程調(diào)用Java方法的狀態(tài);本地方法調(diào)用的狀態(tài)被存儲在本地方法棧,該方法棧依賴于具體的實(shí)現(xiàn)。中文JAVA技術(shù)網(wǎng) t?!Pz!B]

"^x1MT5qj0下面分別對這幾個(gè)部分進(jìn)行說明。

/}C2v7b:]%vo[|0中文JAVA技術(shù)網(wǎng)'z/@1RG7[E1`8B

執(zhí)行引擎處于JVM的核心位置,在Java虛擬機(jī)規(guī)范中,它的行為是由指令集所決定的。盡管對于每條指令,規(guī)范很詳細(xì)地說明了當(dāng)JVM執(zhí)行字節(jié)碼遇到指令時(shí),它的實(shí)現(xiàn)應(yīng)該做什么,但對于怎么做卻言之甚少。Java虛擬機(jī)支持大約248個(gè)字節(jié)碼。每個(gè)字節(jié)碼執(zhí)行一種基本的CPU運(yùn)算,例如,把一個(gè)整數(shù)加到寄存器,子程序轉(zhuǎn)移等。Java指令集相當(dāng)于Java程序的匯編語言。中文JAVA技術(shù)網(wǎng) ^sH2X*b,Z

q3[ OT`z"M4V0Java指令集中的指令包含一個(gè)單字節(jié)的操作符,用于指定要執(zhí)行的操作,還有0個(gè)或多個(gè)操作數(shù),提供操作所需的參數(shù)或數(shù)據(jù)。許多指令沒有操作數(shù),僅由一個(gè)單字節(jié)的操作符構(gòu)成。

P.R.Uxbfc0

o"o qq9_0虛擬機(jī)的內(nèi)層循環(huán)的執(zhí)行過程如下:中文JAVA技術(shù)網(wǎng)3Hn8B r,xE

MjHj(zBG t"m P0do{

l$Iz V!M9[0取一個(gè)操作符字節(jié);中文JAVA技術(shù)網(wǎng)7[?3o?,v A|3b+O R

根據(jù)操作符的值執(zhí)行一個(gè)動作;

I(^e)G)Hf6`0}while(程序未結(jié)束)中文JAVA技術(shù)網(wǎng)y}0J/|:so

中文JAVA技術(shù)網(wǎng)c|%L(ud

由于指令系統(tǒng)的簡單性,使得虛擬機(jī)執(zhí)行的過程十分簡單,從而有利于提高執(zhí)行的效率。指令中操作數(shù)的數(shù)量和大小是由操作符決定的。如果操作數(shù)比一個(gè)字節(jié)大,那么它存儲的順序是高位字節(jié)優(yōu)先。例如,一個(gè)16位的參數(shù)存放時(shí)占用兩個(gè)字節(jié),其值為:

0H.w`wb}.X0中文JAVA技術(shù)網(wǎng)y{X;n.u4PT+e)D7\E

第一個(gè)字節(jié)*256+第二個(gè)字節(jié)字節(jié)碼。中文JAVA技術(shù)網(wǎng)"V[]J!_0v+D

5^t6E[3aW![0指令流一般只是字節(jié)對齊的。指令tableswitch和lookup是例外,在這兩條指令內(nèi)部要求強(qiáng)制的4字節(jié)邊界對齊。

#Rop'v6w FS0中文JAVA技術(shù)網(wǎng)g8Ai _)iw8r

對于本地方法接口,實(shí)現(xiàn)JVM并不要求一定要有它的支持,甚至可以完全沒有。Sun公司實(shí)現(xiàn)Java本地接口(JNI)是出于可移植性的考慮,當(dāng)然我們也可以設(shè)計(jì)出其它的本地接口來代替Sun公司的JNI。但是這些設(shè)計(jì)與實(shí)現(xiàn)是比較復(fù)雜的事情,需要確保垃圾回收器不會將那些正在被本地方法調(diào)用的對象釋放掉。

~:Jin+U$zE SI7Y0

"j1lJ`7Dd0v"v0Java的堆是一個(gè)運(yùn)行時(shí)數(shù)據(jù)區(qū),類的實(shí)例(對象)從中分配空間,它的管理是由垃圾回收來負(fù)責(zé)的:不給程序員顯式釋放對象的能力。Java不規(guī)定具體使用的垃圾回收算法,可以根據(jù)系統(tǒng)的需求使用各種各樣的算法。中文JAVA技術(shù)網(wǎng)'z/wgb.s

中文JAVA技術(shù)網(wǎng)\TMY[:H)Z#@ tr

根據(jù)以下任務(wù)要求,編寫Java應(yīng)用程序?

按照題目要求編寫的Java程序如下

注意 請使用你的真實(shí)姓名和班級替換Test類中

創(chuàng)建Student對象stu時(shí)用的"張三"和"20計(jì)算機(jī)應(yīng)用01班"

import java.util.Scanner;

class Student{

private String name,classname;

private int starnum,scorenum;

private int[] scores;

public void setStarNum(int n){

this.starnum=n;

}

public Student(String name,String classname,int scorenum){

this.name=name;

this.classname=classname;

this.scorenum=scorenum;

}

public String getName(){

return this.name;

}

public void printStar(){

for(int i=0;istarnum;i++){

for(int j=0;j2*i+1;j++){

System.out.print("*");

}

System.out.println();

}

}

public void setScore(){

Scanner sc=new Scanner(System.in);

scores=new int[scorenum];

System.out.print("請輸入各科成績:");

for(int i=0;iscorenum;i++){

scores[i]=sc.nextInt();

}

}

public void showInfo(){

System.out.print(name+"同學(xué),你所在的班級是"+classname+",你各科考試成績分別為:");

for(int i=0;iscorenum;i++){

if(i==scorenum-1)

System.out.print(scores[i]);

else

System.out.print(scores[i]+",");

}

System.out.println();

}

public float getAvg(){

float sum=0;

for(int i=0;iscorenum;i++){

sum=sum+scores[i];

}

return sum/scorenum;

}

}

public class Test{

public static void main(String[] args){

Student stu=new Student("張三","20計(jì)算機(jī)應(yīng)用01班",5);

stu.setStarNum(4);

stu.printStar();

stu.setScore();

stu.showInfo();

if(stu.getAvg()60){

System.out.println(stu.getName()+"是不合格學(xué)生");

}else{

System.out.println(stu.getName()+"是個(gè)合格學(xué)生");

}

}

}

JAVA編程

/*

* Question9.java

*

* Created on 2007年1月18日, 下午9:04

*

* To change this template, choose Tools | Template Manager

* and open the template in the editor.

*/

package know;

/**

*

* @author Administrator

*/

public class Question9 {

public static void main(String args[]) {

StringBuffer str=new StringBuffer("ABCDEFG");

//【代碼1】 // 向str尾加“123456789”。

str.append("123456789");

System.out.println(str);

//【代碼2】 // 將str中的字符 ‘B’替換為‘b’。

str.replace(1,2,"b");

System.out.println(str);

//【代碼3】 // 在str中的“123456789”前面插入“Game”。

str.insert(7,"Game");

System.out.println(str);

int index= str.indexOf("1"); // 獲取str中首次出現(xiàn)“1”的位置。

//【代碼5】 // 刪除str中“1234”。

str.delete(11,15);

System.out.println(str);

int n = str.length();//【代碼6】 // 獲取str中字符個(gè)數(shù)。

//System.out.println(n);

//【代碼7】 // 將str中“789”替換為“七八九”。

str.replace(13,16,"七八九");

System.out.println(str);

/*

StringBuffer otherStr = new StringBuffer("we love you");

int start = 0;

char c = '\0';

while(start!=-1) {

if(start!=0) {

start=start+1;

}

c=otherStr.charAt(start);

if(Character.isLowerCase(c)) {

c=Character.toUpperCase(c);

otherStr.setCharAt(start,c);

}

start=otherStr.indexOf(" ",start); //查找下一個(gè)空格。

}

System.out.println(otherStr);

*/

StringBuffer yourStr=new StringBuffer("i Love THIS GaME");

//【代碼8】 // 將yourStr中的大寫字符替換為對應(yīng)的小寫字符,

// 小寫字符替換為對應(yīng)的大寫字符

char h = '\0';

for(int i = 0;i yourStr.length(); i++){

h = yourStr.charAt(i);

if(Character.isLowerCase(h))

h = Character.toUpperCase(h) ;

else

h = Character.toLowerCase(h);

yourStr.setCharAt(i,h);

}

System.out.println(yourStr);

}

}


當(dāng)前名稱:java程序代碼h,Java程序代碼電視遙控器
轉(zhuǎn)載源于:http://weahome.cn/article/dsidopd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部