实验2 Java基本语法练习
- 格式:doc
- 大小:76.50 KB
- 文档页数:11
实验二 Java基本语法练习【开发语言及实现平台或实验环境】Windows2000 或XP,JDK1.6与Jcreator4.0【实验目的】1.了解Java的数据类型2.掌握各种变量的声明方式3.理解运算符的优先级4.掌握java基本数据类型。
运算符与表达式、数组的使用方法5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法【实验要求】1.编写一个声明java不同数据类型变量的程序2.编写一个使用运算符、表达式、变量的程序3.编写一个使用java数据的程序4.编写表达式语句、复合语句的程序5.编写使用不同选择结构的程序6.编写使用不同循环结构的程序【实验内容】一、编写程序,打印自己的学号、姓名及专业。
二、编写程序,打印九九乘法表。
三、编程输出以下图案:要求:*行数n小于40,在程序开头直接指定,不必从键盘输入。
四、编写程序,将1~500间能同时被2,5,7整除的数打印出来。
五、输出100!的结果简单实现:输出大概值,直接用一个变量累乘100! ≈ 9.3326215443944152681699238856267e+157六、选做题:精确输出100!的每一位的结果提示:用数组保存每一位数,计算时对数组每一位进行乘法,注意进位的处理。
参考答案:100!的精确结果为: 933262154439441526816992388562667004907159682643816214685929638952175 999932299156089414639761565182862536979208272237582511852109168640000 00000000000000000000100!的位数为:158。
JAVA语言实验指导《Java程序设计》课程实验指导书实验一熟悉Java编程环境和Java程序结构一、实验目的:通过简单的输入输出程序熟悉Java编程环境,认识Java程序结构。
二、实验内容:在JDK或者V isual J++环境下编写简单的输入输出程序。
三、实验要求:1. 接收一个键盘输入的字符;2. 输出一条简单的问候信息;3. 写出实验报告,要求对程序结构做出详细的解释。
四、实验学时:2学时五、实验步骤:1.进入Java编程环境;2. 新建一个Java文件,命名为inOut.java;3. 定义主方法static public void main(String[ ] args);在方法体中调用System.in.read方法接收一个键盘输入的字符;调用System.out.println()方法,使程序输出一条问候信息;4. 编译运行程序,观察运行情况和输出结果。
(如果使用JDK环境,调用javac.exe和java.exe编译和执行程序)六、选作实验编写Java Applet程序实现上述功能。
实验二 Java语言基础训练一、实验目的:熟悉Java基本语法,练习使用Java的数据类型和控制结构,实现简单的数据和字符串操作。
二、实验内容:编写Java程序,输出1900年到2000年之间的所有润年。
三、实验要求:1. 正确使用Java语言的控制结构;2. 从屏幕输出1900年到2000年之间的所有润年;3. 写出实验报告。
四、实验学时:2学时五、实验步骤:1.进入Java编程环境;2. 新建一个Java文件,命名为runY ear.java;3. 定义主方法,查找1900到2000年之间的润年,并输出它们;4. 编译运行程序,观察输出结果是否正确。
六、选作实验编写程序,查找一个字符串中是否包含指定的字符。
实验三面向对象基础熟悉Java类的结构,掌握类的定义、方法和属性的定义以及对象的实现,掌握类的继承。
java实践练习题Java是一种常用的高级编程语言,广泛应用于软件开发领域。
为了提高自己的编程技能,掌握Java的基本语法和特性,进行实践练习是必不可少的。
本文将为大家提供一些Java实践练习题,帮助读者加深对Java的理解和应用。
练习题一:用户登录验证编写一个Java程序,实现用户登录验证功能。
要求实现以下功能:1. 提示用户输入用户名和密码;2. 编写一个方法来判断用户输入的用户名和密码是否正确;3. 如果用户名和密码正确,则输出“登录成功”,否则输出“登录失败”。
示例代码:```import java.util.Scanner;public class UserLogin {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入用户名:");String username = input.nextLine();System.out.println("请输入密码:");String password = input.nextLine();if (validateUser(username, password)) {System.out.println("登录成功");} else {System.out.println("登录失败");}input.close();}public static boolean validateUser(String username, String password) { // 编写验证逻辑// 返回true或false表示验证结果}}```练习题二:计算阶乘编写一个Java程序,计算给定数字的阶乘。
要求实现以下功能:1. 提示用户输入一个正整数;2. 编写一个方法来计算给定数字的阶乘;3. 输出计算结果。
java基本语法练习题1. 编写一个Java程序,实现以下功能:a) 声明一个整型变量x,并初始化为10。
b) 声明一个双精度浮点型变量y,并初始化为3.14。
c) 声明一个字符型变量c,并初始化为'A'。
d) 分别打印出x、y和c的值。
2. 编写一个Java程序,实现以下功能:a) 创建一个整型数组arr,包含5个元素。
b) 使用循环结构,给数组中的元素赋值为1到5。
c) 使用循环结构,打印数组中的元素。
3. 编写一个Java程序,实现以下功能:a) 定义一个方法,接受两个整型参数,并返回它们的和。
b) 在主方法中调用该方法,并输出结果。
4. 编写一个Java程序,实现以下功能:a) 声明一个字符串变量str,并初始化为"Hello, World!"。
b) 使用字符串的length()方法,输出字符串的长度。
c) 使用字符串的substring()方法,从字符串中截取出"World"并打印。
5. 编写一个Java程序,实现以下功能:a) 声明一个布尔型变量a,并初始化为true。
b) 声明一个布尔型变量b,并初始化为false。
c) 使用逻辑运算符,打印出a与b的逻辑与、逻辑或和逻辑非的结果。
6. 编写一个Java程序,实现以下功能:a) 声明一个整型变量i,并初始化为1。
b) 使用while循环结构,打印出1到10之间的所有整数。
c) 使用for循环结构,打印出1到10之间的所有整数的平方。
7. 编写一个Java程序,实现以下功能:a) 声明一个整型变量num1,并初始化为10。
b) 声明一个整型变量num2,并初始化为5。
c) 使用条件语句和关系运算符,判断num1是否大于num2,并打印判断结果。
8. 编写一个Java程序,实现以下功能:a) 使用Scanner类,接受用户输入的整型数字。
b) 使用条件语句判断该数字是否是奇数,如果是,则打印"奇数",否则打印"偶数"。
Java基础编程练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 编写一个Java程序,判断一个整数是奇数还是偶数。
5. 编写一个Java程序,交换两个变量的值。
二、控制结构1. 使用ifelse语句判断一个年份是否为闰年。
2. 编写一个Java程序,使用for循环输出1到100的所有偶数。
3. 使用while循环计算1+2+3++100的和。
4. 编写一个Java程序,使用dowhile循环输出1到10的所有整数。
5. 使用switch语句实现一个简单的计算器程序,支持加、减、乘、除四种运算。
三、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。
2. 编写一个Java程序,计算数组中所有元素的和。
3. 实现一个方法,用于查找数组中的最大值。
4. 编写一个Java程序,将一个字符串数组按照字母顺序排序。
5. 使用二维数组输出一个5x5的乘法表。
四、字符串操作1. 编写一个Java程序,连接两个字符串。
2. 实现一个方法,判断一个字符串是否为回文。
3. 编写一个Java程序,将字符串中的所有小写字母转换为大写字母。
4. 使用StringBuilder类实现字符串的逆序输出。
5. 编写一个Java程序,计算一个字符串中某个字符出现的次数。
五、面向对象基础1. 创建一个名为Person的类,包含姓名、年龄和性别属性,并提供相应的构造方法和getter/setter方法。
2. 编写一个Java程序,实现两个Person对象的比较(按年龄比较)。
3. 创建一个Student类,继承自Person类,并添加成绩属性。
4. 编写一个Java程序,实现Student类的多态。
5. 创建一个接口Animal,包含吃、睡觉和叫三个方法,然后创建两个类Dog和Cat实现该接口。
Java入门练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 声明一个浮点型变量并赋值为3.14,然后输出该变量的值。
5. 编写一个Java程序,交换两个变量的值。
二、条件语句1. 判断一个整数是正数、负数还是零。
2. 编写一个Java程序,根据用户输入的成绩,判断其等级(优秀、良好、中等、及格、不及格)。
3. 判断一个年份是否为闰年。
4. 编写一个Java程序,实现简易计算器功能(加、减、乘、除)。
三、循环结构1. 输出1到100之间所有的偶数。
2. 计算1到100之间所有整数的和。
3. 输出九九乘法表。
4. 编写一个Java程序,求斐波那契数列的前20项。
5. 使用while循环实现冒泡排序算法。
四、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。
2. 编写一个Java程序,实现数组元素的逆序输出。
3. 计算一个整型数组中所有元素的和。
4. 查找一个整型数组中的最大值和最小值。
5. 编写一个Java程序,实现两个数组的合并。
五、面向对象基础1. 创建一个学生类,包含姓名、年龄、成绩属性,并实现一个打印学生信息的方法。
2. 编写一个Java程序,创建一个矩形类,包含长和宽属性,并实现计算面积和周长的方法。
3. 创建一个动物类,包含吃、睡觉、叫的方法,并创建猫和狗两个子类继承动物类。
4. 编写一个Java程序,实现一个简单的银行账户类,包含存款、取款和查询余额方法。
5. 创建一个图书类,包含书名、作者、价格属性,并实现一个比较价格的方法。
六、字符串操作1. 编写一个Java程序,实现字符串的逆序输出。
2. 判断一个字符串是否为回文。
3. 查找字符串中某个字符出现的次数。
4. 编写一个Java程序,实现字符串的替换功能。
实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。
二、预习内容安装工具软件的基本方法。
三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。
1、打开Eclipse的安装盘安装Eclipse。
2、在相同目录下安装J2SDK。
3、打开Eclipse软件对J2SDK文件进行配置。
4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。
Pulic class Hello{public static void main(String args[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。
实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。
应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。
(1)编辑A verage.java。
class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。
Java实验报告中的所有实验题实验一略实验二Java 基本语法练习【完成实验项目】1.输入一个整数,输出该数的二进制表示形式的字符串2.编写Java应用程序,把100~1000的自然数中能够被3整除的数输出到屏幕上。
3.打印小于1000的斐波纳契数4. 输入一个梯形的上底、下底和高,求其面积实验三面向对象基础编程【完成实验项目】1.写一个名为Rectangle的类表示矩形。
其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。
要求该类提供计算面积的方法getArea()方法,以及修改width和height的值及获得width和height当前值的方法。
要求:(1)使用构造函数完成各属性的初始赋值(2)使用getter和setter的形式完成属性的访问及修改2. . 请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face 和suit:face描述一张牌的牌面值(如:"Ace", "Deuce", "Three","Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King");suit描述一张牌的花色(如:"Hearts", "Diamonds", "Clubs", "Spades")。
定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法getFace(),得到扑克牌的牌面值; 定义protected访问权限的方法getSuit(),得到扑克牌的花色; 定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如“Ace of Hearts”、“Ten of Clubs”等)。
实验二 Java基本语法练习一、实验目的1、了解Java的数据类型2、掌握各种变量的声明方法3、掌握Java基本数据类型、运算符与表达式的使用方法4、掌握Java程序语法结构,掌握顺序结构、选择结构和循环结构的程序设计方法二、实验环境开发工具:JDK、JCreator Pro三、实验内容1、声明不同数据类型的变量(1)编写声明不同数据类型变量的程序文件Lab02_1.java,源代码如下:(2)编译并运行该程序,观察分析运行结果并将运行结果截图贴至下方。
2、使用关系运算符和逻辑运算符(1)编写使用关系运算符和逻辑运算符的程序文件Lab02_2.java,源代码如下:(2)编译并运行该程序,观察分析运行结果并将运行结果截图贴至下方。
3、使用表达式语句(1)编写包含表达式语句的程序,源代码如下:(2)编译并运行该程序,观察分析运行结果并将运行结果截图贴至下方。
4、使用复合语句(1)编写包含复合语句的程序,源代码如下:(2)编译并运行该程序,观察分析运行结果并将运行结果截图贴至下方。
(3)如果在复合块内定义变量i,会有什么样的结果?5、简单程序的编程设计(1)求矩形的面积和周长,矩形的长和宽用showInputDialog方法输入,所求面积和周长用showMessageDialog方法分两行带提示输出。
程序的运行结果如下:(2)求ax2+bx+c=0方程的根。
使用next方法输入a、b、c的值,设b2-4ac>0。
提示:a acbbx242 1--+=,a acbbx242 2---=程序的运行结果如下:6、使用选择语句(1)使用if-else语句编程:用random方法产生4位数的年号,判断是否为闰年的年号。
若是闰年,则输出“****年是闰年!”,否则输出“****年是平年!”。
说明:满足下列条件之一为闰年:年号能被400整除;年号能被4整除但不能被100整除。
(2)铁路运货的运费与路程远近及货物的重量有关,设有如下的单位运费:(1)不足100千米,每吨每千米1.00元;(2)100千米以上,不足300千米,每吨每千米为0.90元;(3)300千米以上,不足500千米,每吨每千米0.80元;(4)500千米以上,不足1000千米,每吨每千米为0.70元;(5)1000千米以上,每吨每千米为0.60元。
实验二Java 基本语法练习【开发语言及实现平台或实验环境】Windows2000 或XP,JDK1.6与Eclipse【实验目的】1. 掌握java基本数据类型、变量极其使用。
2. 掌握运算符的优先级3. 掌握if,if-else语句,for语句和while语句【实验要求】1. 编写使用不同的数据类型变量2. 编写使用不同的运算符【实验内容】一、表达式1.分析下面的程序,写出运行结果public class Ch22{public static void main(String args[]){boolean x,y,z;int a=12,b=24;x=(a>b);y=(a!=b);z=(a+b==36);System.out.println("x="+x);System.out.println("y="+y);System.out.println("z="+z);}}x=falsey=truez=true2.写出下面程序运行的结果class Expression {public static void main(String args[]) {int a=25, b=20, e=3, f=0;boolean d=a<b;System.out.println("a=25,b=20,e=3,f=0");System.out.println("因为关系表达式 a<b 为假,所以其逻辑值为: "+d);if (e!=0 && a/e>5)System.out.println("因为e 非0 且a/e 为8 大于5,所以输出 a/e="+a/e);if (f!=0 && a/f>5)System.out.println("a/f = "+a/f);elseSystem.out.println("因为f 值为0,所以输出 f = "+f);}}因为关系表达式 a<b 为假,所以其逻辑值为: false因为e 非0 且a/e 为8 大于5,所以输出 a/e= 8因为f 值为0,所以输出 f = 03.假如一个颜色值包含了红黄兰三个分量,每个分量范围在0至255,可以定义一个int类型(4个字节)的变量color,利用它的从低到高连续三个字节分别表示三个颜色分量的值,请编写程序利用移位表达式求出每个颜色的值各是多少。
1、以下为一个名为HelloWorld的Java文件,要使其编译和运行,在屏幕上显示“你好” 。
哪句有错误?public class Helloworld{ ①public static void main(String[] args){ ②System.out.println("你好"); ③}}A.①有错B.②有错C.③有错D.没有错2、Java源文件和编译后的文件扩展名分别为A、.class和 .javaB、.java和 .classC、.class和 .classD、.java和 .java3. 下列正确编写入口点语句的是A. public void static main(String[] args)B. public void static main(string[] args)C. public static void main(string[] args)D. public static void main(String[] args)4、下列声明变量方式正确的是A.int a=1,double b=12345;B. int c=12;double d=154;C. char e=’ok’;D. boolean f=0;5、下列程序能正确执行的是A.public class helloworld{public static void main(string[] args){System.out.println(“helloworld!”);}}B.public class helloworld{public static void main(String[] args){System.out.println(“helloworld!”)}}C.public class helloworld{public static void main(String[] args){System.out.print(“helloworld!”);}}D.public class helloworld{public static void main(String[] args);{System.out.println(“helloworld!”);}}6、新建一个Hello.java文件存放在E盘test文件夹,下列语法在命令模式中正确是A.切换源文件所在目录: cd \d E:/testB.用javac命令编译源文件: javac Hello.javaC.在命令模式下java hello命令执行时生成Hello.class文件D.运行程序: java hello.java7、以下变量名合法的是A. basicSalaryB. 2_stNameC.byte-sizeD. hello world8、下列对数组进行初始化错误的是:A.int[] intArray={1,2,3,4,5};B.int[] intArray=new int[]{1,2,3,4,5};C.int[] intArray=new int[5];D.int[] intArray=new int[5]{1,2,3,4,5};9、下列程序存在语法错误的是A.int i=0;for(;i<10;){i++;System.out.prinln(i);}B.for(int i=0;i<10;i++);System.out.println(i);for(;;){System.out.println(i);}C.for(int i=0;i<10;i++)System.out.println(i);D.int i=0;10、下列代码执行的结果是:for(int i=0;i<10;i++){if(i%2==0){continue;System.out.print(i);}System.out.print("a");}A.0a2a4a6a8aB.0aa2aa4aa6aa8aaC.aaaaaD.1a3a5a7a9a11、编译并运行下面代码出现的结果?int i=1;switch (i) {case 0:System.out.print("zero");break;case 1:System.out.print("one");case 2:System.out.print("two");default:System.out.print("default");}A、oneB、one two defaultC、onetwodefaultD、default12、public class aa {public static void main(String[] args) { int a=5,c=5,b,d;b=a++-1;d=++c-1;System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);}}输出a,b,c,d分别是A、5,4,5,5B、6,5,6,5C、6,4,6,4D、6,4,6,513、for(int i=100;i>=1;i--){if(i%3==0 && i%5==0){System.out.print(i+””);break;}}for(int j=0;j<10;j++){if(j%2==0)continue;System.out.print(j+””);}输出 i,j 分别是A、i:90j:1 3 5 7 9B、i: 90 75 60 45 30 15j:2 4 6 8C、i:90j:2 4 6 8D、i: 90 75 60 45 30 15j:1 3 5 7 914、下列程序无语法错误的是A.public class helloworld{public static void main(string[] args){boolean b1,b2;if(b1==b2){System.out.println(b1);}}}B.public class helloworld{public static void main(String[] args){int a=8;if(1<=a<=10){a=10;}}}C.public class helloworld{public static void main(String[] args){int a=8,b=18;if(a=b){a=100;}}}D.public class helloworld{public static void main(String[] args);{int n=10;boolean b=(n<8)&&((n=1)!=0);System.out.println(n);System.out.println(b);}}15、下列语句输出不为死循环的是A、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;i++){i++;}System.out.println(i);}}B、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;){i--;System.out.println(i);}}}C、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;i++){i--;System.out.println(i);}}}D、public class BreakDemo{public static void main(String[] args){int i=0;for(;;){System.out.println(i);}i++;}}16、下列程序执行的结果是Public class IfDemo{Public static void main(String[] args){ int m=9;boolean b=m>9;if(b){m+=1;System.out.println(m);}int n=8;boolean b2=m>9;if(!b2);n++;System.out.println(n);}}A.10 和 8B.10 和 9C.8D.917、下面对于类的命名,正确的是A.StringB.My BoxC._BoxD.My.Box18、考察以下两种陈述:陈述1:变量有成员变量和局部变量两种,局部变量的作用域一般比成员变量的作用域要大一些陈述2:在程序中,用属性来表示对象的状态,用方法来表示对象的行为A.陈述1错误,陈述2正确B.陈述1正确,陈述2错误C.两种陈述都正确D.两种陈述都错误19. 预测以下程序的运行结果:public class Cat{String name;public void setName(String n){name = n;}public void cry(){System.out.println(name+":喵!喵~~喵!");}public static void main(String[] args){Cat c = new Cat();c.setName("小花猫");}}A.将输出:小花猫":喵!喵~~喵!"B.程序编译出错C.程序编译无错误,但运行时出错D.程序编译和运行都没错误,但屏幕上没有任何输出20.以下程序运行结果为()public class Test{int x=10;int y=1;public static void main(String [] args){for(int i=0;i!=x-y;i+=2){i+=1;if(i= =5)continue;System.out.println(i);}}}A、1 4 7B、1 5 7 9C、1 3 7 9D、1 3 5 7。
java程序设计实验指导书答案【篇一:java程序设计实验指导书】=txt>一、实验目的及要求1. 安装并配置java运行开发环境;2. 掌握开发java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序;3. 学习同时编译多个java源文件;4. 掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;5. 掌握使用if…else分支和while循环语句解决问题。
二、实验学时6学时三、实验任务1.安装jdk,设置环境变量path和classpath。
1)下载jdk2)安装jdk运行下载的“jdk-6u1-windows-i586-p.exe”软件包,在安装过程中可以设置安装路径及选择组件,默认的组件选择是全部安装,安装成功后,其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发java程序使用,demo文件夹中包含开源代码程序实例。
3)jdk中主要文件夹和文件安装成功后,d:\java\jdk1.6中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发java程序使用,sample文件夹包含开源代码程序实例,src压缩文件中包含类库开源代码。
设置环境变量jdk中的工具都是命令行工具,需要从命令行即ms-dos提示符下运行它们。
以windows xp为例说明设置过程。
右击桌面“我的电脑”图标,选择“属性”菜单在“高级”选项卡中单击“环境变量”按钮,将出现“环境变量”设置界面在“系统变量”框中点击“新建”按钮,在出现的“编辑系统变量”对话框中,在“变量名”栏的文本框内输入“javahome”,在变量值栏的文本框内输入“d:\java\jdk1.6”(即jdk安装的主目录)在“系统变量”框中选择“path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中,在“变量值”栏的命令后添加“;%javahome%\bin”。
Java练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 声明一个浮点型变量并赋值为3.14,然后输出该变量的值。
5. 编写一个Java程序,判断一个整数是奇数还是偶数。
6. 使用三元运算符计算两个整数中的较大值。
7. 编写一个Java程序,实现字符串的拼接。
8. 声明一个布尔型变量并赋值为true,然后输出该变量的值。
9. 编写一个Java程序,输出1到100的所有偶数。
10. 使用for循环输出九九乘法表。
二、数组与字符串1. 声明一个整型数组并初始化,然后输出数组中的所有元素。
2. 编写一个Java程序,实现数组的逆序输出。
3. 计算一个整型数组的平均值。
4. 编写一个Java程序,查找数组中的最大值和最小值。
5. 使用冒泡排序算法对整型数组进行排序。
6. 编写一个Java程序,实现字符串的反转。
7. 判断一个字符串是否为回文。
8. 输出一个字符串中字母和数字的个数。
9. 编写一个Java程序,实现字符串的截取。
10. 使用StringBuilder类拼接一个由100个“Java”组成的字符串。
三、面向对象1. 定义一个学生类(Student),包含姓名、年龄和成绩属性,并实现一个打印学生信息的方法。
2. 编写一个Java程序,创建一个学生对象并设置其属性,然后调用打印学生信息的方法。
3. 定义一个矩形类(Rectangle),包含长和宽属性,并实现计算面积和周长的方法。
4. 编写一个Java程序,创建两个矩形对象,并比较它们的面积大小。
5. 定义一个动物类(Animal),包含吃、睡和叫的方法,然后创建一个狗类(Dog)继承动物类,并重写叫的方法。
6. 编写一个Java程序,演示多态性,创建一个动物数组,包含狗和猫对象,并调用它们的叫方法。
实验二Java基本语法一、实验目的与要求(1)掌握Java常用编程工具的使用;(2)掌握Java语言的基本语法,包括:标识符、简单类型、表达式及运算、选择结构、循环结构、输入输出。
二、实验原理标识符:Java语言使用的是Unicode字符集,使用2个字节表示一个符号,总共可描述65536个不同的符号,基本上可以描述世界上所有国家的文字。
因此,除可以使用通常的方式来命名标识符之外,也可以使用中文、日文、朝鲜文作为标识符。
但是,对于程序员来说:最好还是使用遵从一般规范。
在Java语言中规定了各基本类型的数据所占的固定字节数。
分别如下:与C语言不同的是,Java语言中增加了boolean类型,即逻辑类型(布尔类型),其变量只有2个常量值,绝对不能与C中的非0就是真、0就是假混淆。
运算规则、选择结构、循环结构与C语言基本一致,不再赘述了。
三、预习与准备掌握基本的概念及原理,明确实验任务和目的,准备实验的源代码。
四、实验内容每道题基本代表了一个重要的知识点或者技能。
1.输入的一个浮点数,把它的整数部分和小数部分分别输出。
2.输入任意的年月日,输出它是这一年的第几天?星期几?3.判断一个整数是否是素数。
4.输入一个正整数,求它的所有因子。
5.找出10000之内的所有完全数。
五、实验过程1.输入的一个浮点数,把它的整数部分和小数部分分别输出。
代码:publicclass Chp1 {publicstaticvoid main(String[] args) {int number;float number1;double number2=1254.236;number=(int)number2;number1=(float)(number2-number);System.out.println("该浮点数为:"+number2);System.out.println("整数部分为:"+number);System.out.println("小数部分为:"+number1);}}运行结果:2.输入任意的年月日,输出它是这一年的第几天?星期几?代码:package chapter10;import java.io.*;import java.util.*;import java.text.*;publicclass Chp5 {publicstaticvoid main(String[] args) {BufferedReader br=new BufferedReader(new InputStreamReader(System.in));int sum=0, flag=0;int day=0,month=0,year=0;int months[]={0,31,28,31,30,31,30,31,31,30,31,30,31};System.out.println("请输入年月日:");try{System.out.print("年:");year=Integer.parseInt(br.readLine());System.out.print("月:");month=Integer.parseInt(br.readLine());System.out.print("日:");day=Integer.parseInt(br.readLine());}catch(IOException e){e.printStackTrace();}if((year%400==0)||(year%4==0&&year%100!=0))//判断是否为瑞年months[2]=29;if((month>12)||(month<1))flag=1;//输入错误时标记为1if((day>months[month])||(day<1))flag=1;if(flag==1){System.out.println("erro");return;}for(int i=0;i<month;i++){sum+=months[i];}sum=sum+day;System.out.println("这一天为这一年的第"+sum+"天");}}运行结果:3.判断一个整数是否是素数。
Java-2实⽤教程习题解答习题解答习题1(第1章)⼀、问答题1.Java语⾔的主要贡献者是谁?2.开发Java应⽤程序需要经过哪些主要步骤?3.Java源⽂件是由什么组成的?⼀个源⽂件中必须要有public类吗?4.如果JDK的安装⽬录为D:\jdk,应当怎样设置path和classpath的值?5.Java源⽂件的扩展名是什么?Java字节码的扩展名是什么?6.如果Java应⽤程序主类的名字是Bird,编译之后,应当怎样运⾏该程序?7.有哪两种编程风格,在格式上各有怎样的特点?1.James Gosling2.需3个步骤:1)⽤⽂本编辑器编写源⽂件。
2)使⽤javac编译源⽂件,得到字节码⽂件。
3)使⽤解释器运⾏程序。
3.源⽂件由若⼲个类所构成。
对于应⽤程序,必须有⼀个类含有public static void main(String args[])的⽅法,含有该⽅法的类称为应⽤程序的主类。
不⼀定,但⾄多有⼀个public类。
4.set classpath=D:\jdk\jre\lib\;.;5. java和class6. java Bird7.独⾏风格(⼤括号独占⾏)和⾏尾风格(左⼤扩号在上⼀⾏⾏尾,右⼤括号独占⾏)⼆、选择题1.B。
2.D。
1.下列哪个是JDK提供的编译器?A)B)C)D)2.下列哪个是Java应⽤程序主类中正确的main⽅法?A) public void main (String args[ ])B) static void main (String args[ ])C) public static void Main (String args[])D) public static void main (String args[ ])三、阅读程序阅读下列Java源⽂件,并回答问题。
public class Person {void speakHello() {"您好,很⾼兴认识您");" nice to meet you");}}class Xiti {public static void main(String args[]) {Person zhang = new Person();();}}(a)上述源⽂件的名字是什么?(b)编译上述源⽂件将⽣成⼏个字节码⽂件?这些字节码⽂件的名字都是什么?(c)在命令⾏执⾏java Person得到怎样的错误提⽰?执⾏java xiti得到怎样的错误提⽰?执⾏java 得到怎样的错误提⽰?执⾏java Xiti得到怎样的输出结果?1.(a)。
实验 2 Java 基本语法练习一、实验目的1.了解Java 的数据类型,掌握Java 基本数据类型。
2.掌握各种常量、变量的声明方式;3.掌握运算符的优先级;4.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
5.掌握Java 语言的编程规则。
二、实验内容1、数据类型的声明;2、变量的的生命周期;3、表达式中数据类型的相互转换。
三、实验步骤说明:改正下列错误的程序代码部分,写入实验步骤处,并将每题题目中要求回答的问题(同类问题可以归纳为一条进行记录)写入实验分析处。
(一)不同数据类型的变量的声明和使用1、下列程序运行过程中将出现什么错误?请找出产生的原因.class Lx1{ public static void main(String [] args){int x,y;y=x+3;System.out.println(y);}}2、该程序能够通过编译?如果能正常执行,则输出结果数据是什么类型?class Lx2{ public static void main(String [] args){char ch=97; //若将此句改为:int x=97;char ch=x;试编译、运行此程序System.out.println(ch);}}3、此程序编译出错的原因是什么?class Lx3{ public static void main(String [] args){byte b=129;System.out.println(b);}}4、此程序编译出错的原因是什么?如何改正?class Lx4{ public static void main(String [] args){float f=3.5;System.out.println(f);}}5、请分析两种数据类型之间是如何转换的?class Lx5{ public static void main(String [] args){byte b=122;int x=b;System.out.println(x);}}6、增加对b赋值的语句b=x后,对程序进行编译出错,原因是什么? class Lx6{ public static void main(String [] args){byte b=122;int x=b;b=x;System.out.println(b);}}7、查看程序运行输出结果,分析转换后数据发生变化的原因. class Lx7{ public static void main(String [] args){byte b;int x=266;b=(byte)x;System.out.println(b);}}8、找出编译错误的原因.class Lx8{ public static void main(String [] args){byte b=3;b=b-1;System.out.println(b);}}9、此程序输出结果是什么?分析产生此输出结果的原因.class Lx9{ public static void main(String [] args){System.out.println('a'+1);}}10、此程序输出结果是什么?分析产生此输出结果的原因.class Lx10{ public static void main(String [] args){System.out.println(""+'a'+1);}}(二)变量的使用范围1、分析此程序编译出错的原因.class Lx11{ public static void main(String [] args){{int x=3;}System.out.println(x);}}2、编译此程序,观察结果,分析是否允许x嵌套定义?class Lx12{ public static void main(String [] args){int x=9;{int x=3;}System.out.println(x);}}如果上述程序中的int x=3改为x=3,请观察和分析输出结果。
实验二Java基本语法练习(对应于课本第二章与第四章的内容)一、实验目的1.了解Java 的数据类型2.掌握各种变量的声明方式3.理解运算符的优先级4.掌握Java 基本数据类型、运算符与表达式、数组的使用方法5.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法6.通过以上内容,掌握Java 语言的编程规则二、实验要求1. 编写一个声明Java 不同数据类型变量的程序。
2. 编写一个使用运算符、表达式、变量的程序。
3. 编写一个使用Java 数组的程序。
4. 编写表达式语句、复合语句的程序。
5. 编写使用不同选择结构的程序。
6. 编写使用不同循环结构的程序。
三、实验内容(验证性实验)(一)声明不同数据类型的变量(可选做)1.编写声明不同数据类型变量的程序文件LX2_1.java,源代码如下。
public class LX2_1 {public static void main(String args[]) {byte b=0x55;short s=0x55ff;int i=1000000;long l=0xffffL;char c='a';float f=0.23F;double d=0.7E-3;boolean B=true;String S="这是字符串类数据类型";System.out.println("字节型变量b = "+b);System.out.println("短整型变量s = "+s);System.out.println("整型变量i = "+i);System.out.println("长整型变量l = "+l);System.out.println("字符型变量c = "+c);System.out.println("浮点型变量f = "+f);System.out.println("双精度变量d = "+d);System.out.println("布尔型变量B = "+B);System.out.println("字符串类对象S = "+S);}}2.编译并运行该程序,结果如图2.1 所示。
图 2.1(二)了解变量的使用范围(必做)1.建立LX2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。
public class LX2_2 {static int i=10;public static void main(String args[]) {{int k=10;System.out.println("i="+i);System.out.println("k="+k);}System.out.println("i="+i);System.out.println("k="+k); //编译时将出错,已超出k的使用范围。
考核点:局部变量与成员变量。
}}2.编译LX2_2.java此时会出现错误提示如图2.2 所示。
因为变量k 在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。
图 2.23.修改上面的程序。
4.成功运行该程序。
思考:LX2_2.java 程序说明了什么问题?(三)使用关系运算符和逻辑运算符(可选做)1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。
class LX2_3 {public static void main(String args[]) {int a=25, b=20, e=3, f=0;boolean d=a<b;System.out.println("a=25,b=20,e=3,f=0");System.out.println("因为关系表达式a<b 为假,所以其逻辑值为:"+d);if (e!=0 && a/e>5)System.out.println("因为e 非0 且a/e 为8 大于5,所以输出a/e="+a/e);if (f!=0 && a/f>5) System.out.println("a/f = "+a/f); elseSystem.out.println("因为f 值为0,所以输出f = "+f);}}2.编译并运行该程序,结果如图2.3 所示。
图 2.3(四)使用数组(数组在本书第五章,可稍后再练习)1.建立使用数组的程序,本程序建立了一个长度为5 的1 维数组,一个长度为12 的2 维数组,源代码如下。
public class LX2_4 {public static void main(String args[]) {int a[]=new int[5];int arr1[][]=new int[3][4];a[0]=10;a[1]=10+a[0];a[2]=30;a[3]=40;a[4]= a[1]+ a[2];arr1[0][0]=0;arr1[0][1]=1;arr1[0][2]=2;arr1[1][0]=3;arr1[1][1]=4;arr1[1][2]=5;arr1[2][0]=6;arr1[2][1]=7;arr1[2][2]=8;System.out.println("a["+0+"] = "+a[0]);System.out.println("a["+1+"] = "+a[1]);System.out.println("a["+2+"] = "+a[2]);System.out.println("a["+3+"] = "+a[3]);System.out.println("a["+4+"] = "+a[4]);System.out.println("arr1("+0+","+0+") = "+arr1[0][0]);System.out.println("arr1("+0+","+1+") = "+arr1[0][1]);System.out.println("arr1("+0+","+2+") = "+arr1[0][2]);System.out.println("arr1("+1+","+0+") = "+arr1[1][0]);System.out.println("arr1("+1+","+1+") = "+arr1[1][1]);System.out.println("arr1("+1+","+2+") = "+arr1[1][2]); }}2.编译并运行程序,结果如图2.4 所示。
图 2.4(五)使用表达式语句与复合语句(可选做)1.建立包含表达式语句程序,源代码如下。
class LX2_5{public static void main(String[] args) {int k, i=3, j=4;k=20*8/4+i+j*i;System.out.println("表达式(20*8/4+i+j*i)="+k);}}2.建立包含复合语句程序,源代码如下。
class LX2_6{public static void main(String args[]) {int k, i=3, j=4;k=i+j;System.out.println("在复合块外的输出k="+k);{float f;f=j+4.5F;i++;System.out.println("在复合块内的输出f="+f);System.out.println("在复合块内的输出k="+k);}System.out.println("在复合块外的输出i="+i);}}3.编译并运行上述两个源程序,结果如图2.5、2.6 所示。
图 2.5图 2.64.将变量i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。
思考:指出程序的复合结构以及变量的使用范围。
(六)使用选择语句(必做)1.使用if...else 语句(1)程序功能:使用if...else 语句构造多分支,判断某一年是否为闰年。
闰年的条件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。
(2)编写源程序文件,代码如下。
public class LX2_7 {public static void main(String args[]) {boolean leap;int year=2005;if ((year%4==0 && year%100!=0) || (year%400==0)) // 方法1 System.out.println(year+" 年是闰年");elseSystem.out.println(year+" 年不是闰年");year=2008; // 方法2if (year%4!=0)leap=false;else if (year%100!=0)leap=true;else if (year%400!=0)leap=false;elseleap=true;if (leap==true)System.out.println(year+" 年是闰年");elseSystem.out.println(year+" 年不是闰年");year=2050; // 方法3if (year%4==0) {if (year%100==0) {if (year%400==0)leap=true;elseleap=false;}elseleap=true;}elseleap=false;if (leap==true)System.out.println(year+" 年是闰年");elseSystem.out.println(year+" 年不是闰年");}}(3)编译运行程序,其结果如图2.7 所示。