Java实验2 Java语言基础
目录
- 实验内容
- (一)声明不同数据类型的变量
- (二)了解各种类型的取值范围和变量的使用范围
- (三)使用关系运算符和逻辑运算符
- (四) 使用表达式语句与复合语句
- (五) 使用选择语句
- (六) 使用循环语句
- (七)综合程序设计
实验内容
(按要求编程并贴图,并将图按顺序编号命名)
(一)声明不同数据类型的变量
1、编写声明不同数据类型变量的程序文件SimpleTypes.java,源代码如下:
public class SimpleTypes{public static void main(String[] args){byte b=0x55;short s=0x55ff;int i=1000000;long l=0xfffL;char c='c';float f=0.23F;double d=0.7E-3;boolean bool=true;String str ="这是字符串数据类型";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("布尔型变量 bool="+bool);System.out.println("字符串类对象 Str=" + str);}
}
2、编译并运行该程序,结果如图 1 所示。
图 1 程序SimpleTypes.java的编译及运行结果贴图
(二)了解各种类型的取值范围和变量的使用范围
1、使用System.out.printf方法把所有基本数据类型的最大值最小值表示出来。如int类型的取值范围System.out.printf(“int \t数值范围:%d ~ %d\n”,Integer.MAX_VALUE, Integer.MIN_VALUE);
public class MaxMin {public static void main(String [] args){System.out.printf("byte\t数值范围:%d~%d\n",Byte.MAX_VALUE,Byte.MIN_VALUE);System.out.printf("short\t数值范围:%d~%d\n",Short.MAX_VALUE,Short.MIN_VALUE);System.out.printf("int\t数值范围:%d~%d\n",Integer.MAX_VALUE,Integer.MIN_VALUE);System.out.printf("long\t数值范围:%d~%d\n",Long.MAX_VALUE,Long.MIN_VALUE);System.out.printf("float\t数值范围:%e~%e\n",Float.MAX_VALUE,Float.MIN_VALUE);System.out.printf("double\t数值范围:%e~%e\n",Double.MAX_VALUE,Double.MIN_VALUE);}
}
2、Scope.java 文件,通过本程序了解变量的使用范围,源代码如下:
//Scope.java
//Java中变量的作用域
public class Scope{public static void main(String [] args) {int x = 25;System.out.println("x="+x);//只有x 有效{int y = 36;System.out.println("x="+x);System.out.println("y="+y); //x,y均有效}System.out.println("x="+x);System.out.println("y="+y);//只有x有效,y“out of scope”}
}
2、编译Scope.java
此时会出现错误提示如图 2所示。因为变量 y在方法块中声明,在方法块之外它是不存在的, 所以编译时会出错。
3、修改上面的程序。
//Scope.java
//Java中变量的作用域
public class Scope{public static void main(String [] args) {int x = 25;int y = 36;System.out.println("x="+x);//只有x 有效{System.out.println("x="+x);System.out.println("y="+y); //x,y均有效}System.out.println("x="+x);System.out.println("y="+y);//只有x有效,y“out of scope”}
}
4、成功运行该程序。
思考:Scope.java 程序说明了什么问题?
(三)使用关系运算符和逻辑运算符
1、建立使用关系运算符RealtionOp.java和逻辑运算符LogicOp.java的程序文件,源代码如下:
//RelationOp.java
//Java中关系运算符的使用
public class RelationOp{public static void main(String[] args){int a=9; int b=6; int c=6; boolean d=a>b; //tureboolean e=a<b; //falseboolean f=b==c; //tureboolean g=b!=c; //falsef=(b==c)||(a<b); //tureg=(b==c)&&(a<b); //falseSystem.out.println("d="+d);System.out.println("e="+e);System.out.println("f="+f);System.out.println("g="+g);}
}
//LogicOp.java
//Java中逻辑运算符的使用
public static void main(String[] args){int a=9; int b=6; int c=6; boolean d,e,f,g;d=!(a>b); //falsee=(a>b)&&(a>c); //tureboolean h=b>=c; //tureboolean i=b<=c; //tureboolean j=a==b; //falseSystem.out.println("d="+d);System.out.println("e="+e);System.out.println("f="+f);System.out.println("g="+g);System.out.println("h="+h);System.out.println("i="+i);System.out.println("j="+j);
}
2、编译并运行该程序。
修改后:
(四) 使用表达式语句与复合语句
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. 编译并运行上述两个源程序,结果如图
表达式语句程序运行结果
复合语句程序运行结果
4. 将变量 i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。
思考:指出程序的复合结构以及变量的使用范围。
(五) 使用选择语句
1.使用 if…else 语句
(1)程序功能:使用 if…else 语句构造多分支,判断某一年是否为闰年。闰年的条件是符合下 面二者之一:能被 4 整除,但不能被 100 整除;能被 4 整除,又能被 100 整除。
(2)编写源程序文件,代码如下
import java.util.*;
public class Test1
{//编写程序public static void test(int year){if(year%400==0||(year%4==0&&year%100!=0))System.out.println("是闰年!");elseSystem.out.println("不是闰年!");}public static void main(String[]args){int year;Scanner input = new Scanner(System.in);for(int i=0;i<4;i++){ year=input.nextInt(); test(year);}}
}
(3)编译运行程序,其结果如图 所示。
2.使用 switch 语句
(1)程序功能:在不同温度时显示不同的解释说明。
温度c<10度,显示 某某℃ 有点冷。要多穿衣服
10≤c<25度,显示 某某℃ 正合适。出去玩吧。
25≤c<35度,显示 某某℃ ℃ 有点热。
c≥35, 显示 某某℃ 太热了!开空调。
上面的某某用变量c的值替换
(2)程序源代码如下。
class LX2_8{public static void main(String args[]) {int c=38;switch (c<10?1:c<25?2:c<35?3:4) {case 1:System.out.println(" "+c+"℃ 有点冷。要多穿衣服。"); break;case 2:System.out.println(" "+c+"℃ 正合适。出去玩吧。"); break;case 3:System.out.println(" "+c+"℃ 有点热。"); break;default:System.out.println(" "+c+"℃ 太热了!开空调。");}}
}
(3)编译运行程序,其结果如图所示。
(六) 使用循环语句
1. for 循环语句练习
(1) 程序功能:按 5 度的增量打印出一个从摄氏温度到华氏温度的转换表。
(2) 程序源代码如下。
class LX2_9{public static void main (String args[]) {int h,c;System.out.println("摄氏温度 华氏温度");for (c=0; c<=40; c+=5) {h=c*9/5+32;System.out.println(" "+c+" "+h);}}
}
(3)编译并运行程序,其结果如图
2. while 循环语句练习
(1)程序功能:运行程序后从键盘输入数字 1/2/3 后,可显示抽奖得到的奖品;如果输入其它数 字或字符显示“没有奖品给你!”。
(2)程序源代码如下。
import java.io.*;
class LX2_10
{public static void main(String args[]) throws IOException {char ch;System.out.println("按 1/2/3 数字键可得大奖!"); System.out.println("按空格键后回车可退出循环操作."); while ((ch=(char)System.in.read())!=' ') { System.in.skip(2); // 跳过回车键(skip方法跳过和丢弃输入流中数据的 n 个字节)switch (ch) {case '1': System.out.println("恭喜你得大奖,一辆汽车!"); break;case '2': System.out.println("不错呀,你得到一台笔记本电脑!");break;case '3': System.out.println("没有白来,你得到一台冰箱!"); break;default:System.out.println("真不幸,你没有奖品!下次再来吧。");}}}
}
(3)编译源程序。
(4)在命令提示符窗口运行程序,然后分别按 1、2、3、r 结果如图 10 所示。
思考:注释掉语句System.in.skip(2);看运行结果,解释此时输出结果发生变化的原因。
3.do…while 循环语句练习
(1) 程序功能:求 1+2+…+100 之和,并将求和表达式与所求的和显示出来。
(2) 程序源代码如下。
public class Sum {public static void main(String [] args){int sum = 0;for(int i=1; i<=100; i++)sum+=i;System.out.println(" 1+2+…+100 之和:"+sum);}
}
(3)编译并运行程序,结果如图 1 所示。
(七)综合程序设计
1模拟从一副扑克牌52张中选择一张。程序中牌的大小应显示为(Ace,1,2,3,4,5,6,7,8,9,10,Jack,Queen,King),牌的花色应该显示为(Diamonds(方块),Hearts(红心),Spades(黑桃),Clubs(梅花))。程序某一次运行时的输出如下
The Card you picked is Jack of Hearts.
程序源代码
/**
* @author lmh
*
* @version 2020年11月8日
*/import java.util.Random;public class Poker {public static void main(String [] args){String []num = {"Ace","1","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};String []colors = {"Diamonds","Hearts","Spades","Clubs"};Random random=new Random();//以系统当前时间作为随机数生成的种子int c = (int)(random.nextInt(4));//返回一个大于等于0且小于4的整数int n = (int)(random.nextInt(14));//返回一个大于等于0且小于14的整数System.out.println("The Card you picked is " + num[n] + " of " +colors[c]+".");}
}
程序运行结果贴图
2.提示用户从控制台输入一句英文,分别统计句子中的每个元音字母(忽略大小写)的个数,并显示输出。英文的5个元音字母为A E I O U
程序源代码
程序运行结果贴图
Java实验2 Java语言基础相关推荐
- java开发环境及数据类型实验_实验项目1 Java开发环境与语言基础
<实验项目1 Java开发环境与语言基础>由会员分享,可在线阅读,更多相关<实验项目1 Java开发环境与语言基础(14页珍藏版)>请在人人文库网上搜索. 1.实验项目1 Ja ...
- matlab语言实验二,实验二 MATLAB语言基础
实验二 MATLAB 语言基础 一.实验目的 基本掌握 MATLAB 向量.矩阵.数组的生成及其基本运算(区分数组运算和矩阵运算).常用的数学函数.了解字符串的操作. 二.实验内容 (1) 向量的生成 ...
- python语言基础实验_实验二Python语言基础函数包练习.doc
实验二Python语言基础函数包练习 实验 Python语言基础函数包练习:1208 学号: 实验目的 1.Python语言包,如math.NumPySciPy和Matplotlib等函数包的使用实验 ...
- java填空题_Java语言基础知识填空题
Java语言基础知识填空题 想学java语言的人,要多做题才能巩固知识,下面小编为大家带来了Java语言基础知识的填空题,欢迎大家阅读! Java语言基础知识填空题. 1.浮点型数据根据数据存储长度和 ...
- Java实验01 Java编程基础(猜数字游戏、随机点名器)
实验一 Java编程基础 实验1-1 随机点名器 一.实验描述 1. 任务描述 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览 ...
- Java学习之JavaSE-Java语言基础
第一章:初识计算机和Java语言 一.计算机的体系结构 (一)计算机的基本概念 计算机(Computer)俗称电脑,是现代一种用于高级计算,使用非常广泛的设备,主要由计算机硬件和计算机软件两个部分组成 ...
- 数字连连看java实验报告,Java语言实现数字连连看源码
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class lianliankan implement ...
- Java(老白再次入门) - 语言基础
本系列文章均为尚硅谷资源!如有侵权,我将立即删除! Java基础知识图解 Java基本语法(上):变量与运算符 1.关键字与保留字 关键字(keyword)的定义和特点 定义:被Java语言赋予了特殊 ...
- java转义字符_Java入门 - 语言基础 - 13.Character类
1.概述 Character 类用于对单个字符进行操作. Character 类在对象中包装一个基本类型 char 的值 实例 char ch = 'a'; // Unicode 字符表示形式char ...
最新文章
- 【笨木头Lua专栏】基础补充08:协同程序之resume-yield间的数据返回
- poj 3006 java
- python_day9线程、进程和协程
- python中 __str__和__repr__
- logo自动旋转 html,HTML/CSS3 Logo选择器
- python中和为k的个数_程序查找在python中总计为k的不同组合的数量
- matlab乘幂的指数是矩阵,信号与系统MATLAB基本语法.ppt
- php quick,Gitee 极速下载
- step7设置pcpg_STEP7 PC/PG设置的疑惑
- IDEA用maven创建springMVC项目和配置(XML配置和Java配置)
- 数据库系统概论第五版第二章答案王珊
- 计算机网络数据爆分片MTU,踢走绊脚石,MTU解析与常见问题汇总-上篇
- 【数据可视化工具DataEase】安装时提示 “Pool overlaps with other one on this address space“
- 文献解读|生物炭和细菌接种生物炭增强了污染土壤中镉和铜的固定化和酶活性
- n3k配置vpc是否还需要配置hsrp_连结7000系列交换机使用HSRP配置示例
- 网站被流量攻击了,如何解决
- Beatbox brilliance—TED Record
- 基于Android的谷歌地图地理围栏功能开发
- 找回被盗iPhone的终极大招:查询ICCID
- CPI PPI M2
热门文章
- .NET实现对服务器端目录下PDF文件的预览
- RS232和RS485区别
- linux .bashrc文件修改和生效
- 数据结构-----链表的实现
- JDK+Tomcat+MySql环境配置—linux
- FileUpload上传图片提示 “GDI+中发生一般性错误”
- SQL server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法...
- Perl文件处理示例——批量添加Copyright版权信息
- 在C#中ParameterizedThreadStart和ThreadStart区别
- 爱我的人请别走远(转载)