当前位置:文档之家› 129336664160000000实验一 Java语言基础

129336664160000000实验一 Java语言基础

129336664160000000实验一  Java语言基础
129336664160000000实验一  Java语言基础

实验一 Java语言基础

一.基本运算练习

【实验目的】

(1)了解和掌握Java的基本数据类型;

(2)掌握Java的基本运算;

(3)熟练了解Java语言的标准输入和输出;

(4)了解和运用Javax.swing.JOptionPane类实现数据的输入和输出。

【实验任务】

本实验由4个练习构成。

练习1:在控制台下求两个实数的最大值问题。通过该程序了解类System在数据输入和输出中所起的作用,以及Scanner的作用。

练习2:要求编写一个应用程序,输入一个整数,输出将该整数分别向左移5位和向右移3位的结果。

练习3:回文数。编写一个Java程序。用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。

练习4:猜数字游戏。编写一个程序,实现下列功能:程序随机分配给客户一个1~100之间的整数,用户在输入对话框中输入自己的猜测。程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对了”。

【实验内容】

练习1:在控制台下求两个实数的最大值。

从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。数据输入和输出用Java的标准输入流和输出流来实现。阅读分析下面程序,将程序中的代码补充完整,实现数据比较功能。

import java.util.Scanner;

public class CompareTwoNumbers1 {

double number1,number2;

Scanner scanner;

public CompareTwoNumbers1(){

System.out.println("请输入两个数字:");

scanner=new Scanner( 代码1 );//实例化一个Scanner对象;

number1= 代码2 ;//从键盘输入一个实数赋值给number1;

number2= 代码3 ;// 从键盘输入一个实数赋值给number2;

System.out.println("较大的数值是:"+ 代码4 );

//将number1和number2中的较大值输出;

}

public static void main(String args[]){

CompareTwoNumbers1 ct=new CompareTwoNumbers1();

System.exit(0);

}

}

练习2:移位运算

本练习是了解移位运算的规则,并能熟练运用JOptionPane类实现数据的输入和输出。阅读分析下面的程序,将程序中的代码补充完整,编译并调试程序,查看结果。

//BitMovement.java

import javax.swing.JOptionPane;

public class BitMovement {

int number,result1,result2;

String numStr,resultStr;

public BitMovement() {

numStr= 代码1 ;//利用JOptionPane从输入窗口中输入一个数字;

number=Integer.parseInt(numStr);//解析numStr字符串,得到的整数赋值给number;

result1= 代码2 ;//将数字number向左移动5位赋值给result1;

result2= 代码3 ;//将数字number向右移动3位赋值给result2;

resultStr=number+"<<5="+result1;

resultStr+="\n"+number+">>3="+result2;

//将移位的结果result1和result2添加到字符串resultStr尾部

JOptionPane.showMessageDialog(null,resultStr,"移位的结果

",https://www.doczj.com/doc/3611940641.html,RMATION_MESSAGE);//显示运行结果

}

public static void main(String args[]){

BitMovement bitMovement=new BitMovement();

System.exit(0);

}

}

思考:移位运算中“>>”和“>>>”有什么不同?将程序中第9行语句实现右移5位,分别用这两个运算符来实现,比较它们在分别输入数字-1和1的时候,结果有什么不同?为什么?

练习3:回文数

阅读分析下面程序,将程序中的代码补充完整,编辑运行查看结果。

//Number.java

import javax.swing.JOptionPane;

public class Number

{

public static void main(String args[])

{

int number=0,d5,d4,d3,d2,d1;

String str=JOptionPane.showInputDialog("输入一个1至99999之间的数"); number=Integer.parseInt(str);

if(【代码1】) //判断number在1至99999之间的条件

{

【代码2】 //计算number的最高位(万位)d5

【代码3】 //计算number的千位d4

【代码4】 //计算number的百位d3

d2=number%100/10;

d1=number%10;

if(【代码5】) //判断number是5位数的条件

{

System.out.println(number+"是5位数");

if(【代码6】) //判断number是回文数的条件

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(【代码7】) //判断number是4位数的条件

{

System.out.println(number+"是4位数");

if(【代码8】) //判断number是回文数的条件码

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(【代码9】) //判断number是3位数的条件

{

System.out.println(number+"是3位数");

if(【代码10】) //判断number是回文数的条件

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(d2!=0)

{

System.out.println(number+"是2位数");

if(d1==d2)

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(d1!=0)

{

System.out.println(number+"是1位数");

System.out.println(number+"是回文数");

}

}

else

{

System.out.printf("\n%d不在1至99999之间",number);

}

}

}

练习4:猜数字游戏

阅读分析下面程序,将程序中的代码补充完整,编辑运行查看结果。

//GuessNumber.java

import javax.swing.JOptionPane;

public class GuessNumber

{

public static void main (String args[ ])

{

System.out.println("给你一个1至100之间的整数,请猜测这个数");

int realNumber=(int)(Math.random()*100)+1;

int yourGuess=0;

String str=JOptionPane.showInputDialog("输入您的猜测:");

yourGuess=Integer.parseInt(str);

while(【代码1】) //循环条件

{

if(【代码2】) //条件代码

{

str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str);

}

else if(【代码3】) //条件代码

{

str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:"); yourGuess=Integer.parseInt(str);

}

}

System.out.println("猜对了!");

}

}

二.数组排序

【实验目的】

(1)理解和掌握数组的基本内容:数组声明、数组初始化、数组的复制、数组的应用等;

(2)熟练掌握和运用数组来解决实际问题。

【实验任务】

从键盘任意输入10个数字,对这些数字用直接插入排序的方法进行排序,排序后将10个数字按从小到大的顺序排列显示出来。

【实验内容】

直接插入排序的基本思想:假设待排序的记录存放在数组num[1..n]中。初始时,num[1]自成1个有序区,无序区为num[2..n]。从i=2起直至i=n为止,依次将num[i]插入当前的有序区num[1..i-1]中,生成含n个记录的有序区。阅读并分析以下程序,深刻理解直接插入排序的算法,并将程序中的代码补充完整,编辑并查看结果。

//InsertSort.java

import java.util.Scanner;

public class InsertSort {

double num[];

Scanner scanner;

public InsertSort() {

num=new double[11];

scanner=new Scanner(System.in);

num[0]=0;//作为哨兵

System.out.println("请输入十个数字:");

for(int i=1;i

num[i]=scanner.nextDouble();

}//输入10个数字;

directSort(num); //对num数组下标从1到11的元素直接插入排序

System.out.println("排序后的结果是:");

for(int i=1;i

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

}//将排序后的num输出

}

public void directSort(double n[]){

//对数组下标为1的开始的元素进行直接插入排序

int i,j;

for(i=2;i

代码1

for(j=i-1; 代码2 ;j--)

代码3

代码4 =n[0];

}

}//对十个数字进行插入排序;

public static void main(String args[]){

InsertSort insertSort=new InsertSort();

System.exit(0);

}

}

思考:本练习是先输入10个数字在排序,如果要求边输入数字边按从小到大的顺序插入到数组中,该如何实现?

三.字符串类的常见应用

【实验目的】

(1)了解和运用String类,熟悉String类的构造方法;

(2)掌握String类的常用方法,特别是对这些方法的作用、特点以及应用的前提有一个深入的认识。

【实验任务】

练习1:String类的常用方法。编写一个Java应用程序,判断两个字符串是否相等,判断字符串的前缀、后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串放到数组中,用字符数组创建字符串。

练习2:统计最长子串的长度。给定某一长度的字符串,请找出其中由相同字符连接而成的最长字符串,并以“字母,长度”的形式返回。比如“aaxxxbbbbxxxxxdd”其中由相同字符连接而成的最长字符串为xxxxx,则返回“x,5”。如果出现由不同字符构成的长度相同的字符串,则返回先出现的字符串。

练习3:用String类实现单词替换。用户在书写文字的时候,由于书写错误,往往会对给的文字的特定单词进行替换。例如:给定文字“too be or not too be,that is the question”就需要用单词to去替换文字中的单词too。

【实验内容】

练习1:String类的常用方法。

阅读分析下面程序,把程序中的代码补充完整,并查看结果。

//StringExample.java

class StringExample

{ public static void main(String args[])

{ String s1=new String("you are a student"),

s2=new String("how are you");

if(【代码1】) // 使用equals方法判断s1与s2是否相同

{

System.out.println("s1与s2相同");

}

else

{

System.out.println("s1与s2不相同");

}

String s3=new String("22030219851022024");

if(【代码2】) //判断s3的前缀是否是“220302”。

{

System.out.println("吉林省的身份证");

}

String s4=new String("你"),

s5=new String("我");

if(【代码3】)//按着字典序s4大于s5的表达式。

{

System.out.println("按字典序s4大于s5");

}

else

{

System.out.println("按字典序s4小于s5");

}

int position=0;

String path="c:\\java\\jsp\\A.java";

String fileName=【代码4】//获取path中“A.java”子字符串。

System.out.println("c:\\java\\jsp\\A.java中含有的文件

名:"+fileName);

String s6=new String("100"),

s7=new String("123.678");

int n1=【代码5】 //将s6转化成int型数据。

double n2=【代码6】 //将s7转化成double型数据。

double m=n1+n2;

System.out.println(m);

String s8=【代码7】 //String调用valuOf(int n)方法将m转化为字符串对象 position=s8.indexOf(".");

String temp=s8.substring(position+1);

System.out.println("数字"+m+"有"+temp.length()+"位小数") ;

String s9=new String("ABCDEF");

char a[]=【代码8】 //将s9存放到数组a中。

for(int i=a.length-1;i>=0;i--)

{

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

}

}

}

练习2:统计最长子串的长度

本练习主要考察对String类常用方法的使用。阅读分析下面程序,把程序中的代码补充完整,并查看结果。

// SequenceFinder.java

import javax.swing.*;

public class SequenceFinder{

String orignal;//输入的源字符串;

StringBuffer strTemp;//临时对象;

String maxString;//最长的子串;

String output="字符为:";//输出结果

public SequenceFinder() {

orignal=JOptionPane.showInputDialog("请输入字符串");

strTemp= 代码1 //创建StringBuffer对象,具有和orignal同样的字符内容;

maxString=find(strTemp);//获得最长的子串;

output+=maxString.charAt(0)+",长度为:"+maxString.length();

JOptionPane.showMessageDialog(null,output);

}

public String find(StringBuffer str){

String temp=new String();

int maxLen=0;

String maxStr="";//最长的子串;

while(str.length()>0){

temp="";

char ch= 代码2 ;//取出str串的第一个字符

temp+=ch;

int i;

for(i=1;i

//查找str的子串;

if(i>maxLen){maxStr=temp;maxLen=i;}

代码3 ;//将字符内容相等,0~i-1之间的子串从串str中删除;

代码4 ;//将串str中的当前第一个字符删除;

}

return maxStr;

}

public static void main(String args[]){

SequenceFinder seqFinder=new SequenceFinder();

System.exit(0);

}

}

思考:如果出现由不同字符构成的长度最长的字符串存在多个的话,则显示最后出现的最长字符串的组成字符和字符串的长度,该程序该如何修改?

练习3:用String类实现单词替换问题

程序功能:从键盘中输入一行文字(不超过100个单词),例如“too be or not too be,that is the question.”,单词和单词之间以及单词和标点符合之间有空格分割。对该文字中特定的单词如too用单词to替换,将替换后的文本显示输出。

阅读分析下面程序,把程序中的代码补充完整,并查看结果。

//WordReplacement.java

import javax.swing.*;

public class WordReplacement {

String[] word;

String orignalWords;//源文字

String soWord;//被替换的单词

String deWord;//替换的单词

String words; //替换成功的文字

public WordReplacement() {

word = new String[100];

orignalWords=JOptionPane.showInputDialog(null,"请输入要修改的文字"); soWord=JOptionPane.showInputDialog(null,"请输入需要替换的单词");

deWord=JOptionPane.showInputDialog(null,"请输入替换单词");

word=splitWords(orignalWords);

//将字符串orignalWords按空格分解成字符串数组,并赋值给word;

words=replaceWord(word,soWord,deWord);

//将字符串word的soWord字符串被字符串deWord替换;

JOptionPane.showMessageDialog(null, 代码1 ,"替换结果是:",1);

//输出替换后的结果;

}

public String[] splitWords(String words){

//分解字符串words,将分解的子串以字符串数组形式返回

String[] wordString= 代码2 ;

return wordString;

}

public String replaceWord(String[] word,String source,String dest ){ String result="";

for(int i=0;i

if(word[i].compareTo(source) 代码3 ){

//比较当前字符串word[i]和字符串source是否相等,相等则用dest替换;

word[i]=dest;

}

}

for(int i=0;i

代码4 //将字符串数组word重新组装成一个字符串result

}

return result;

}

public static void main(String args[]){

WordReplacement wr=new WordReplacement();

System.exit(0);

}

}

实验5 JAVA常用类

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期 实验5 JAVA常用类实验名称 一.实验目的: (1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其equals方法和==比较的区别; (3)掌握String类常用方法的使用; (4)掌握字符串与字符数组和byte数组之间的转换方法; (5)Date,Math,PrintWriter,Scanner类的常用方法。 二.实验内容 1.二进制数转换为十六进制数(此程序参考例题249页9. 2.13) 程序源代码 import java.util.*; public class BinToHexConversion{ //二进制转化为十六进制的方法 public static String binToHex(String bin){ int temp; //二进制转化为十六进制的位数 if(bin.length()%4==0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char []hex = new char[temp]; //十六进制数的字符形式 int []hexDec = new int[temp];//十六进制数的十进制数形式 int j = 0; for(int i=0;i=0&&dec<10) return (char)('0'+dec-0); else if(dec>=10&&dec<=15) return (char)('A'+dec-10); else return '@'; }

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

实验一java基础知识

实验一:java基础知识 实验目的: 1.掌握jave中变量的类型。 2.掌握常用的运算符 3.程序流程控制:顺序,选择和分支 实验内容: 1、回文数: 编写一个Java程序。用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指该数含有的数字逆序排列后得到的数和原数相同。 实验类别:验证性 2、猜数字游戏 编写一个Java应用程序,实现如下功能: 程序随机分配给客户一个1-100之间的整数 用户在输入对话框中输入自己的猜测 程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、和“猜对了”用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了” 实验类别:设计性 3、输出希腊字母表 为了输出希腊字母表,首先获取希腊字母表的第一个字母和最后一个字母在unicode表中的位置,然后使用循环输出剩余的希腊字母 要观察一个字符在uniclde表中的顺序位置 实验类别:设计性

实验二类和对象 实验目的: 1.理解类的基本概念。 2.掌握如何定义类,定义类的成员变量和成员方法.创建和使用对象。 3.掌握定义重载方法和构造方法,方法参数的传递。 4. static变量和方法的使用。 实验内容: 1、定义一个名为Rectangle的类表示矩形,其中含有length,width两个double型 的成员变量表示矩形的长和宽。要求为每个变量定义访问方法和修改方法,定义求矩形周长的方法peremeter和求面积的方法area。定义一个带参数构造方法,通过给出的长和宽创建矩形对象。定义默认构造方法,在该方法中调用有参构造方法,将矩形长宽设置为1.0。 实验类别:验证性 2、方法重载: 编写一个Java程序,反映方法重载的使用特点,该程序包含多个重载的加法的运算,如整型加法,实型加法。 实验类别:验证性 3、学生类的创建: 1)创建一个student类,包括的域有学号、班号、姓名、性别、年龄等 2)声明一个构造方法,以初始化对象的所有域 3)声明分别获得各属性(学号、班号、姓名、性别、年龄)的各个public方法。4)声明修改各属性(学号、班号、姓名、性别、年龄)的各个public方法。5)创建一个具体学生对象,进行输出。 实验类别:设计性 4、定义一个类,类中有两个整型变量x和y,并定义构造函数初始化这两个变量。(通过构造函数传数据,数据值自定) 类中还可定义以下方法: 求两个数的和(x+y)并返回结果,求两个数的差(x-y)并返回结果,求两个数商(x/y)并返回结果,求两个数的余数(x%y)并返回结果,求两个数的最大值并返回结果。 编写应用程序,测试上面定义的类,使用类中定义的各个方法并将其结果输出。实验类别:验证性 5、用set()、get()方法传递数据: 本工程共有三个类,Person类、Employee类、和Test类,其中Test类 为测试类,其中有main()方法。 调用的是默认的构造方法,参数为空。 实验类别:设计性

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.doczj.com/doc/3611940641.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

《java语言基础》考试题

《java语言基础》练习题 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.doczj.com/doc/3611940641.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:=

答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象 答案:A

实验5Java常用类(一)

实验5 Java类库和常用类(一) 一. 实验目的及实验环境 1理解类库的概念,掌握分析、应用类库中的类的方法。 2熟练掌握Math类的常用方法。熟悉Random类的常用方法。 3理解String类的特性,熟练掌握String类的常用方法。 4能用Date类创建对象,熟练掌握Date类的常用方法。 5熟练掌握SimpleDateFormat解析日期和设置日期输出格式。 6学会查阅Java API在线参考文档和离线文档的方法。 二. 实验内容 1 基本内容(实验前请及时熟悉如下相关内容) 1)练习使用Math类的常用方法。 2)应用String类编程练习。 3)编写程序应用Random类生成随机数。 4)练习使用Date类的常用方法。 5)查阅Java API在线参考文档和下载Java API离线文档。 示例1. 应用SimpleDateFormat类的程序示例如下,共同学们模仿参考。 import java.text.*; import java.util.Date; public class FormatDateTime { public static void main(String[] args) { SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒"); SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm"); SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 等价于now.toLocaleString() SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒 E "); SimpleDateFormat myFmt4 = new SimpleDateFormat("一年中的第 D 天一年中第w个星期一月中第W个星期在一天中k时 z时区"); Date now = new Date();//当前时间 System.out.println(myFmt.format(now)); System.out.println(myFmt1.format(now)); System.out.println(myFmt2.format(now)); System.out.println(myFmt3.format(now)); System.out.println(myFmt4.format(now)); System.out.println(now.toGMTString());//The method toGMTString() from the type Date is deprecated. System.out.println(now.toLocaleString()); System.out.println(now.toString()); } }

实验四 Java知识

实验四java知识 本实验目的是练习如何创建Java 的基本语法,以及面向对象的知识,为后续的实验作好准备工作。 【课堂练习】一 (1)对数组排序 【实验效果】 根据实验要求,您必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,如:http://localhost:8080/sort.jsp 【课堂练习】Java面向对象思想 课堂练习——包创建和引用 案例:新建Project项目,在该项目中创建aa.bb包,然后再引入java.util包中的Date类,并创建ShiJian类,练习包的创建和引用。 课堂练习——相同包之间的访问 案例:在已经建立Project项目中创建mr.bbb包,然后在该包中创建Test和ImpTest两个类,测试同包之间类的访问。 课堂练习——不同包中类之间的访问 案例:在已经建立Project项目中创建mr.aaa包和mr.zzk包,然后分别在包中创建Exam 和ImpExam两个类,测试不同包之间类的访问。 课堂练习——final变量 案例:在已经建立Project项目中创建mingri包,并在该包中创建T1类,在该类中定义一个final变量,然后再主方法中创建T1类的实例,并测试能否改变final变量的值。

课堂练习——final方法 案例:在已创建的项目Project的包mingri中创建T1类的之类ExT1,然后再ExT1类中测试是否能重写父类T1中的final方法。 课堂练习——继承性 案例:在项目的包aaa中创建A和B两个类,使类B是类A的子类,然后在子类B中创建B的实例,并通过该实例分别调用类A和类B的方法,掌握继承的原理。 课堂练习——抽象类 案例:在项目的包aaa中创建抽象类Example及其子类SubExample,在抽象类Example 中分别定义一个成员方法和一个抽象方法,并在子类中进行测试。 课堂练习——权限访问 案例:在项目的包aaa中创建类Exm,在该类中分别定义4种权限修饰符的成员变量并附初值,然后在主方法中创建类的实例,并分别输出这4个成员变量的值,测试上述4种权限修饰符的成员变量在当前类中的可见性。 案例:在项目的包aaa中创建类SameExm,也就是和前一个例子中创建的Exm类都放在同一个包aaa中,然后在SameExm类的主方法中创建类Exm的实例,并分别输出类Exm中4个成员变量的值,测试上述4种权限修饰符的成员变量在相同包的其他类中的可见性。

java语言基础教程

一、标识符及字符集 Java语言规定标识符是以字母、下划线"_"或美元符号"$"开始,随后可跟数字、字母、下划线或美元符号的字符序列。Java标识符大小写敏感,没有长度限制,可以为标识符取任意长度的名字,但关键字不能作为标识符。为增强程序可读性,Java作如下的约定: 1.类、接口:通常使用名词,且每个单词的首字母要大写 2.方法:通常使用动词,首字母小写,其后用大写字母分隔每个单词 3.常量:全部大写,单词之间用下划线分隔 4.变量:通常使用名词,首字母小写,其后大写字母分隔每个单词,避免使用$符号。 Java语言使用国际字符集(Unicode)。Unicode字符集定义了一套国际标准字符集。通常的ASCII码是8位的,而Unicode字符集中的每个字符占16位,即2个字节,整个字符集共包括65336个字符,兼容ASCII,排在Unicode字符集最前面的256个字符就是ASCII码。Unicode除了可以表示256个ASCII码外,还可以表示汉字、拉丁语、希腊字母、朝鲜语等。 Java标识符总结:1.由字母、数字、_或$组成,不能以数字开头;2.严格区分大小写;3.长度不限 二、关键字 Java常用关键字列表如下:

分类如下: 1.访问控制:private 私有的 protected 受保护的 public 公共的 2.类、方法和变量修饰符abstract 声明抽象 class 类 extends 扩允,继承final 终极,不可改变的implements实现 interface 接口 native 本地 new 新,创建 static 静态 strictfp 严格,精准synchronized 线程,同步 transient 短暂 volatile 易失 3.程序控制语句 break 跳出循环 continue 继续 return 返回 do 运行while 循环 if 如果 else 反之 for 循 instanceof 实例 switch 开关 case 返回开关里的结果 default 默认 4.错误处理 catch 处理异常 finally 有没有异常都执行 throw 抛出一个异常对象 throws 声明一个异常可能被抛出 try 捕获异常 5.包相关import 引入 package 包 6.基本类型 boolean 布尔型 byte 字节型 char 字符型 double 双精度float 浮点 int 整型 long 长整型 short 短整型 null 空 true 真 false 假

作业1—java基础实验——参考答案

1、从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换…第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。 参考答案 具体代码实现如下: 1.package programe; 2. 3.import java.io.BufferedReader; 4.import java.io.IOException; 5.import java.io.InputStreamReader; 6. 7.public class HuHuanDemo { 8.public static void main(String args[]) { 9. print(); 10. 11. } 12. 13.public static int[] write() { 14. BufferedReader[] buf = new BufferedReader[10];/* 申请缓冲数组 */ 15.int n;/* 开关量和中间量 */ 16.int array[] = new int[10]; 17.for (int i = 0; i < 10; i++)/* 赋值 */ 18. { 19. buf[i] = new BufferedReader(new InputStreamReader(System.in)); 20./* 给每个缓冲区定义 */ 21.do/* 判断是否是空串,如是则重新输入 */ 22. { 23. n = 1; 24. System.out.print("请输入第" + (i + 1) + "个整 数:"); 25.try/* 建立一个异常捕获 */ 26. { 27. array[i] = Integer.parseInt (buf[i].readLine());/* 执行串变整数 */ 28./* 29. * Integer.parseInt(str) - str 转成 int型 buf[i].readLine() - 30. * 从系统输入缓冲区读入字符流给 buf缓冲区并返回字符串 31. */

实验一 Java编程环境使用(汽院含答案)

实验一Java编程环境使用 实验目的 1.掌握Java运行环境的配置 2.掌握Java程序的编写、编译、运行等过程 3.熟悉Java语言的基本语法和运行原理 4.掌握Java的基本数据类型、表达式和程序控制结构 5.熟悉Eclipse开发环境的基本使用方法 实验导读 1.Java的标准输入和输出流 https://www.doczj.com/doc/3611940641.html,ng.System类提供了三种有用的标准流:标准输入流(System.in)、标准输出流(System.out)和标准出错流(System.err)。通过他们可以实现数据的输入输出操作。 1)标准输入流(System.in) 通常用于读取用户从键盘输入或用户定义的输入设备的输入。类java.util.Scanner 结合System.in实现对指定数据的输入。 2)标准输出流(System.out) 用于程序的输出,通常用来在屏幕或用户指定的输出设备上显示信息。有两种典型用法:System.out.print(data)实现在当前位置输出数据,System.out.println(data)实现换行输出数据到屏幕或用户定义的输出设备。 3)标准出错流(System.err) 用于显示出错信息,采用System.err.print(data)或System.err.println(data)将指定的data输出到指定的输出设备,默认设备为屏幕。 2.javax.swing.JOptionPane 对话框式的输入和输出,可以提供较好的界面处理。能通过弹出一个标准对话框,来提示用户。可以通过这个性质来实现具有对话框显示效果的数据输入和输出。例如:String str=JOptionPane.showInputDialog("输入您的猜测:"); 3.java.util.Scanner java.util.Scanner类可将文本转换成原语或字符串。Scanner对象通过next()系列方法将文本标识转换成不同类型的值。通常和标准输入流(System.in)结合,允许用户通过标准输入流读入数据。Scanner类提供的方法:nextByte()、nextshort()、nextLong()、nextDouble()、nextFloat()、nextInt()等。例如: Scanner scanner=new Scanner(System.in); int i=https://www.doczj.com/doc/3611940641.html,Int(); //从键盘输入一个整数 scanner.close(); 4.Java Applet小应用程序 Java Applet必须由浏览器来运行,因此必须编写一个超文本文件(含有applet标记的Web页),通知浏览器来运行这个Java Applet。下面是一个简单的HTML文件,使用记事本编辑如下:

Java语言程序设计(基础篇)原书第十版 梁勇著 第一章答案

第一章 1.1 public class Test{ public static void main(String[] args){ System.out.println("Welcome to Java !"); System.out.println("Welcome to Computer Science !"); System.out.println("Programming is fun ."); } } 1.2 public class Test{ public static void main(String[] args){ for(int i = 0;i <= 4;i++){ System.out.println("Welcome to Java !"); } } } 1.3 public class Test{ public static void main(String[] args){ System.out.println(" ]"); System.out.println(" ]"); System.out.println("] ]"); System.out.println(" ]]"); } } public class Test{ public static void main(String[] args){ System.out.println(" A"); System.out.println(" A A"); System.out.println(" AAAAA"); System.out.println("A A"); } } public class Test{ public static void main(String[] args){ System.out.println("V V"); System.out.println(" V V"); System.out.println(" V V"); System.out.println(" V"); } } 1.4 public class Test{ public static void main(String[] args){ System.out.println("a a^2 a^3");

Java基础学习知识检验测试实验检查题(内容规范标准答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();}

3. 下面哪个函数是public void aMethod(){...}的重载函数?( D ) A、void aMethod( ){...} B、public int aMethod(){...} C、public void aMethod ( ){...} D、public int aMethod ( int m){...} (重载:定义同名的方法,方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同) 4. A派生出子类B,B派生出子类C,并且在Java源代码中有如

下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的?( D ) A、只有第1行能通过编译 B、第1、2行能通过编译,但第3行编译出错 C、第1、2、3行能通过编译,但第2、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的 (A是B的父类,也算是C的父类) 5. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) A a = new A(); class A { int i; static String s; void method1() { } static void method2() { } } A、System.out.println(a.i); B、a.method1(); C、A.method1(); D、A.method2() ;(A是类名,应该调用对象a) 6. 有如下代码段: 1)

JAVA基础实验编程

Java实验报告 实验日期:2011年10月17日实验机房与机号:___________ 实验班级: ________ 组员姓名学号:指导教师:刘寿强 第三单兀 实验目的:掌握陈述面向对象的思想,通过创建类的实力来体现 实验内容:第三单元; 实验步骤: 3-2 class Dog{ String color; int weight; public Dog(String color,int weight){ this.color=color; this.weight=weight; } public void showd(){ System.out.println(”这是体重为"+weight+"斤,"+"颜色为"+color+"的狗"); } } class Cat{ String color; int weight; public Cat(String color,int weight){ this.color=color; this.weight=weight; } public void showc(){ System.out.println(”这是体重为"+weight+"斤,"+"颜色为"+color+"的猫"); } } public class A{ public static void main(String[] args){ Dog d1= new Dog("黄色",100); Cat c1= new Cat(" 白色",200); d1.showd(); c1.showc(); } } 3-3 class Car{ String ping; double price; String date; public Car(String ping,double price,String date){ this.ping=ping; this.price=price;

java实验报告-总结

实验报告□实践报告□ 课程名称:Java语言程序设计 实验、实践名称:Java语言基础、数组和字符串编程、 Java面向对象程序设计、Java异常处 理多线程编程、图形用户界面编程实验、实践地点:致向楼301 专业班级:软件1531 学号:2015006446 学生姓名:关玉芬 指导教师:相洁 2017 年1月8日

实验一Java语言基础 一、实验目的和要求 (1) 通过实验,掌握Java语言程序设计的基本方法。 (2) 学会Java语言中标示符的命名、运算符和表达式的应用。 (3) 熟练地掌握Java程序流程控制语句的应用。 二、实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。 4. 有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5. 使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。 三、主要仪器设备 使用的计算机惠普:硬件配置Win7、软件环境eclipse 四、实验代码 1. public class a1 { public static void main(String[] args) { int i,sum=0; for(i=0;i<=100;i++){ if(i%2==0)

2020年JAVA实验报告一(实用)

JAVA实验报告一 Java语言程序设计实验报告 一 班级: 姓名: 学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节.实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质....感谢聆听... 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够

正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。...感谢聆听... (1)掌握Java语言的编程技巧,能够独立进行面向对象的 开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料, 完成系统的能力. (3)具有分析、寻找和排除程序中常见问题的能力。 二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使 用练习,正确配置Java开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。可以通过IE或Netscape 浏览器浏览网址:,根据提示可以下载支持Microsoft W indows操作系统的jdk-1_5_0—windows—i586。 exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1—2。正确安装后,在JDK目录下有bin、demo、lib、jr e等子目录,如图1-3,其中bin目录保存了java c、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE). ...感谢聆听...

实验一、java语言基础

实验一、java语言基础 一、实验目的 1.熟悉J a v a的运行环境。 2.掌握编写与运行J a v a程序的方法。 3.熟练掌握J a v a中的数据类型、运算符、表达式及流程控制语句。 4.掌握数组的定义、建立及其使用方法。 5.熟悉J a v a一般程序的结构。。 二、实验要求 1.熟悉J a v a的运行环境E c l i p s e。 2.编写一个J a v a应用程序,在屏幕上输出”h e l l o,j a v a!”。3.编写一个J a v a小应用程序,在屏幕上输出”h e l l o,j a v a!”。4.掌握运行J a v a程序的步骤。 5.浏览S D K自带的A p p l e t应用小程序。 6.编写一个声明J a v a不同数据类型变量的程序。 7.编写一个使用运算符、表达式、变量的程序。 8.编写表达式语句、复合语句的程序。 9.编写使用不同选择结构的程序。 10.编写使用不同循环结构结构的程序。 11.编写一个使用J a v a数组的程序。 三、实验内容 (一)编写Java a p p l i c a t i o n源程序 在E c l i p s e环境下,编写程序如下: p u b l i c c l a s s H e l l o{ p u b l i c s t a t i c v o i d m a i n(S t r i n g a r g s[]){ S y s t e m.o u t.p r i n t l n("H e l l o,w e l c o m e!"); } } 运行此应用程序,查看运行结果。 (二)编写J a v a a p p l e t源程序 1.在E c l i p s e环境下键入如下程序: H e l l o A p p l e t.j a v a i m p o r t j a v a.a w t.G r a p h i c s; i m p o r t j a v a.a p p l e t.A p p l e t; p u b l i c c l a s s H e l l o A p p l e t e x t e n d s A p p l e t{ p u b l i c v o i d p a i n t(G r a p h i c s g){ g.d r a w S t r i n g(“H e l l o,w e l c o m e!”,10,20); } } 2.编译j a v a小程序 j a v a c H e l l o A p p l e t.j a v a 3.建立i n d e x.h t m l文件,嵌入H e l l o A p p l e t.c l a s s

Java语言基础

1.1 Java标识符有什么规定和特点? 在源程序设计中,绝大多数语言都采用标识符,在Java程序设计中,也允许程序员采用标识符来对变量、方法和类进行命名。 在Java语言中,标识符可以含任意多个字母、数字、下划线或美元符号,但第一个字符必须为字母、下划线或美元符号。Java不采用通常计算机系统采用的ASCII代码级,而是采用更为国际化的Unicode字符集。在这种字符集中,每个字符用二个字节即16位表示。这样,整个字符集中共包含65535个字符。其中,前面256个表示ASCII码,使其对ASCII码具有兼容性;后面21000个字符用来表示汉字、日文片假名、平假名和朝鲜文等。但是Unicode只用在Java平台内部,当涉及打印、屏幕显示、键盘输入等外部操作时,仍由具体计算机的操作系统决定表示方法。比如,用英文操作系统时,采用8位二进制表示的ASCII 码。 1.2 Java语言中有哪些关键字?定义了这些关键字后,程序员应注意什么问题? 关键字就是在程序设计中已经被赋予特定意义的一些单词。通常,关键字也叫保留字。由于编译器在编译过程中进行词法扫描时,对关键字作特殊对待,所以,程序员在程序设计时,要注意不可以把这类单词作为标识符来用,否则会使编译出错。 Java语言中的关键字如下: abstract boolean break byte case catch char class continue default do double else extends false find finally float for if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try void volatile while 2.1 在Java源程序中,有哪集中插入注释的方法? Java源程序中,允许用三种插入注释的方式,插入注释使程序更加易读易懂。这三种方式及相应例子如下: a:以“//“作为开头,知道此行末尾。如://comment on one line. b:以“/*“作为开头,直到”*/“结束。如:/* comment on one or more lines */ c:以“/**“作为开头,以”*/“作为结束。如/** documenting comment having many lines*/ 2.2 Java的变量有哪些类型?变量如何定义?如何初始化? Java的变量有两大类:基本类型和复合类型。基本类型包括数值型、布尔型和字符型;复合类型包括数组和字符串,他们是由基本类型组合而成的。 和大多数高级语言一样,Java语言也要求变量在使用前进行定义。变量的定

JAVA 实验二报告

§2.2 Java程序设计结构 §2.1.1实验目的、内容及性质 1、掌握Java语言基础知识如变量、编程基本结构。 2、数组的使用 实验性质:验证、必做 实验学时:4学时 §2.2.2问题及思考 1、字符串和字符如何区别?常见的转义字符有那些? 2、变量按作用域可以分为那几类? 3、说明java 语言中的数据类型以及基本数据类型的默认值。类型转换规则。 4、数组如何定义,如何初始化?基本数组的一些算法?如查找、排序等 §2.2.3实验指导 1、选择结构示例 (1)if语句

2、循环结构示例(1)for语句

§2.2.4实践编程 编写以下程序 1、显示星期几对应的英文字符串。 用week表示星期几,可用switch语句将week转换成对应英文字符串,week为整型数据由用户输入。 用户输入参考: import java.util.Scanner; public class StandardIO{ public static void main(String[] args) { Scanner scan=new Scanner(System.in); String s=scan.next(); //输入一个字符串 int x=scan.nextInt();//输入一个整形数字 double d=scan.nextDouble();//输入一个double } } 程序: import java.util.Scanner; public class Word1 { public static void main(String[] args) { Scanner scan =new Scanner(System.in); System.out.println("请输入一个数字:"); int week=scan.nextInt();//输入一个整形数字 switch (week){ case 1: System.out.println("Monday");break; case 2: System.out.println("Tuesday");break; case 3: System.out.println("Wedensday");break; case 4: System.out.println("Thurday");break; case 5: System.out.println("Friday");break; case 6: System.out.println("Saturday");break; case 7: System.out.println("Sunday");break; } scan.close(); } 截图: 2、计算输出Fibonacci前20序列。用数组编程 Fibonacci序列是指首两项为0、1,以后各项的值是其前两项之和:0,1,1,2,3,5,8,… 程序运行结果:

相关主题
文本预览
相关文档 最新文档