java程序代码h,Java程序代码电视遥控器

求一段简单的java代码

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

创新互联主营石狮网站建设的网络公司,主营网站建设方案,成都app软件开发,石狮h5重庆小程序开发公司搭建,石狮网站营销推广欢迎石狮等地区企业咨询

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("处理完毕");

}

/**

* 文本文件转换为指定编码的字符串

*

* @param file

* 文本文件

* @param encoding

* 编码类型

* @return 转换后的字符串

* @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();

}

}

// 返回转换结果

if (writer != null)

return writer.toString();

else

return null;

}

/**

* 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!)

*

* @param res

* 原字符串

* @param filePath

* 文件路径

* @return 成功标记

*/

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]; // 字符缓冲区

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;

}

}

计数器的java代码

Java技术与Java虚拟机中文JAVA技术网g0cVV+]

中文JAVA技术网I5Zz[ }'Og G6Y

说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:

[)|)k3b9M#\)w%Q{~r0中文JAVA技术网:cP+] _2tRtm*K

中文JAVA技术网yz;_Y0FB

图1 Java四个方面的关系

,YWx ^L |Q0运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件)。最后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。从上图也可以看出Java平台由Java虚拟机和Java应用程序接口搭建,Java语言则是进入这个平台的通道,用Java语言编写并编译的程序可以运行在这个平台上。这个平台的结构如下图所示:

x[+DX0\:W-o@a0中文JAVA技术网"? c3Y6bj-_

中文JAVA技术网P @+O3lf_pJ b

中文JAVA技术网5h:OY TyL2\|Z

在Java平台的结构中, 可以看出,Java虚拟机(JVM) 处在核心的位置,是程序与底层操作系统和硬件无关的关键。它的下方是移植接口,移植接口由两部分组成:适配器和Java操作系统, 其中依赖于平台的部分称为适配器;JVM 通过移植接口在具体的平台和操作系统上实现;在JVM 的上方是Java的基本类库和扩展类库以及它们的API, 利用Java API编写的应用程序(application) 和小程序(Java applet) 可以在任何Java平台上运行而无需考虑底层平台, 就是因为有Java虚拟机(JVM)实现了程序与操作系统的分离,从而实现了Java 的平台无关性。

h6l-v;HV1SvYO0中文JAVA技术网-G5cAK(e w}

那么到底什么是Java虚拟机(JVM)呢?通常我们谈论JVM时,我们的意思可能是:中文JAVA技术网,T,Y5d(B5r

中文JAVA技术网yWv~s;J

对JVM规范的的比较抽象的说明;

b0r[/o_k+p0对JVM的具体实现;中文JAVA技术网Xdt8M1sP T_"_s

在程序运行期间所生成的一个JVM实例。中文JAVA技术网H k0g,~ hO\

中文JAVA技术网C3@ w6O-a

对JVM规范的的抽象说明是一些概念的集合,它们已经在书《The Java Virtual Machine Specification》(《Java虚拟机规范》)中被详细地描述了;对JVM的具体实现要么是软件,要么是软件和硬件的组合,它已经被许多生产厂商所实现,并存在于多种平台之上;运行Java程序的任务由JVM的运行期实例单个承担。在本文中我们所讨论的Java虚拟机(JVM)主要针对第三种情况而言。它可以被看成一个想象中的机器,在实际的计算机上通过软件模拟来实现,有自己想象中的硬件,如处理器、堆栈、寄存器等,还有自己相应的指令系统。中文JAVA技术网nC/D IHP,|

A)R-DFw o2X0JVM在它的生存周期中有一个明确的任务,那就是运行Java程序,因此当Java程序启动的时候,就产生JVM的一个实例;当程序运行结束的时候,该实例也跟着消失了。下面我们从JVM的体系结构和它的运行过程这两个方面来对它进行比较深入的研究。

Z6?gXm!~0Java虚拟机的体系结构

2XFZ@"I I,\0

e-i'_;P X a0刚才已经提到,JVM可以由不同的厂商来实现。由于厂商的不同必然导致JVM在实现上的一些不同,然而JVM还是可以实现跨平台的特性,这就要归功于设计JVM时的体系结构了。中文JAVA技术网{ v2TtMlG?"]*N

中文JAVA技术网,HK3YQN k

我们知道,一个JVM实例的行为不光是它自己的事,还涉及到它的子系统、存储区域、数据类型和指令这些部分,它们描述了JVM的一个抽象的内部体系结构,其目的不光规定实现JVM时它内部的体系结构,更重要的是提供了一种方式,用于严格定义实现时的外部行为。每个JVM都有两种机制,一个是装载具有合适名称的类(类或是接口),叫做类装载子系统;另外的一个负责执行包含在已装载的类或接口中的指令,叫做运行引擎。每个JVM又包括方法区、堆、Java栈、程序计数器和本地方法栈这五个部分,这几个部分和类装载机制与运行引擎机制一起组成的体系结构图为:中文JAVA技术网BW0EZCI

2o\d oz0中文JAVA技术网%K1Hl:f ~(@Y(U

图3 JVM的体系结构中文JAVA技术网0P/b(jt U$x

7{F*d8f7ySt:Q0JVM的每个实例都有一个它自己的方法域和一个堆,运行于JVM内的所有的线程都共享这些区域;当虚拟机装载类文件的时候,它解析其中的二进制数据所包含的类信息,并把它们放到方法域中;当程序运行的时候,JVM把程序初始化的所有对象置于堆上;而每个线程创建的时候,都会拥有自己的程序计数器和Java栈,其中程序计数器中的值指向下一条即将被执行的指令,线程的Java栈则存储为该线程调用Java方法的状态;本地方法调用的状态被存储在本地方法栈,该方法栈依赖于具体的实现。中文JAVA技术网 t?!Pz!B]

"^x1MT5qj0下面分别对这几个部分进行说明。

/}C2v7b:]%vo[|0中文JAVA技术网'z/@1RG7[E1`8B

执行引擎处于JVM的核心位置,在Java虚拟机规范中,它的行为是由指令集所决定的。尽管对于每条指令,规范很详细地说明了当JVM执行字节码遇到指令时,它的实现应该做什么,但对于怎么做却言之甚少。Java虚拟机支持大约248个字节码。每个字节码执行一种基本的CPU运算,例如,把一个整数加到寄存器,子程序转移等。Java指令集相当于Java程序的汇编语言。中文JAVA技术网 ^sH2X*b,Z

q3[ OT`z"M4V0Java指令集中的指令包含一个单字节的操作符,用于指定要执行的操作,还有0个或多个操作数,提供操作所需的参数或数据。许多指令没有操作数,仅由一个单字节的操作符构成。

P.R.Uxbfc0

o"o qq9_0虚拟机的内层循环的执行过程如下:中文JAVA技术网3Hn8B r,xE

MjHj(zBG t"m P0do{

l$Iz V!M9[0取一个操作符字节;中文JAVA技术网7[?3o?,v A|3b+O R

根据操作符的值执行一个动作;

I(^e)G)Hf6`0}while(程序未结束)中文JAVA技术网y}0J/|:so

中文JAVA技术网c|%L(ud

由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率。指令中操作数的数量和大小是由操作符决定的。如果操作数比一个字节大,那么它存储的顺序是高位字节优先。例如,一个16位的参数存放时占用两个字节,其值为:

0H.w`wb}.X0中文JAVA技术网y{X;n.u4PT+e)D7\E

第一个字节*256+第二个字节字节码。中文JAVA技术网"V[]J!_0v+D

5^t6E[3aW![0指令流一般只是字节对齐的。指令tableswitch和lookup是例外,在这两条指令内部要求强制的4字节边界对齐。

#Rop'v6w FS0中文JAVA技术网g8Ai _)iw8r

对于本地方法接口,实现JVM并不要求一定要有它的支持,甚至可以完全没有。Sun公司实现Java本地接口(JNI)是出于可移植性的考虑,当然我们也可以设计出其它的本地接口来代替Sun公司的JNI。但是这些设计与实现是比较复杂的事情,需要确保垃圾回收器不会将那些正在被本地方法调用的对象释放掉。

~:Jin+U$zE SI7Y0

"j1lJ`7Dd0v"v0Java的堆是一个运行时数据区,类的实例(对象)从中分配空间,它的管理是由垃圾回收来负责的:不给程序员显式释放对象的能力。Java不规定具体使用的垃圾回收算法,可以根据系统的需求使用各种各样的算法。中文JAVA技术网'z/wgb.s

中文JAVA技术网\TMY[:H)Z#@ tr

根据以下任务要求,编写Java应用程序?

按照题目要求编写的Java程序如下

注意 请使用你的真实姓名和班级替换Test类中

创建Student对象stu时用的"张三"和"20计算机应用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+"同学,你所在的班级是"+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计算机应用01班",5);

stu.setStarNum(4);

stu.printStar();

stu.setScore();

stu.showInfo();

if(stu.getAvg()60){

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

}else{

System.out.println(stu.getName()+"是个合格学生");

}

}

}

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中首次出现“1”的位置。

//【代码5】 // 删除str中“1234”。

str.delete(11,15);

System.out.println(str);

int n = str.length();//【代码6】 // 获取str中字符个数。

//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); //查找下一个空格。

}

System.out.println(otherStr);

*/

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

//【代码8】 // 将yourStr中的大写字符替换为对应的小写字符,

// 小写字符替换为对应的大写字符

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);

}

}


分享文章:java程序代码h,Java程序代码电视遥控器
URL分享:http://ybzwz.com/article/dsidopd.html