JAVA例题3.docx
- 文档编号:11213853
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:24
- 大小:26.30KB
JAVA例题3.docx
《JAVA例题3.docx》由会员分享,可在线阅读,更多相关《JAVA例题3.docx(24页珍藏版)》请在冰豆网上搜索。
JAVA例题3
例3-1对象中成员变量的灵活定义及使用
本例模拟通讯录功能,定义了Person类保存人员信息,能够对用户输入的姓名、性别、电话号码进行保存,还可进行分类。
Person类的多个对象就是通讯录中的一套套完整信息。
importjava.util.Scanner;
classPerson{
Stringname;
charsex;
StringphoneNumber;
Stringcategory[]={"同学","同事","朋友","家人"};
inti;
voidsetInfo(){
intn;
Scannerreader=newScanner(System.in);
System.out.print("姓名:
");
name=reader.next();
System.out.print("性别:
");
sex=reader.next().charAt(0);
System.out.print("电话号码:
");
phoneNumber=reader.next();
do{
System.out.print("选择分类:
1.同学2同事3朋友4家人请选择:
");
i=reader.nextInt()-1;
}while(i<0||i>3);
}
voidshowInfo(){
System.out.println(name+"\t"+sex+"\t"+phoneNumber+"\t"+category[i]);
}
}
publicclassPersonTest{
publicstaticvoidmain(String[]args){
Personp[]=newPerson[3];
for(inti=0;i<3;i++){
p[i]=newPerson();
System.out.println("------请输入第"+(i+1)+"个人的信息------");
p[i].setInfo();
}
System.out.println("------------------------------------");
System.out.println("姓名\t性别\t电话号码\t分类");
for(inti=0;i<3;i++)
p[i].showInfo();
}
}
例3-2熟悉Java的基本数据类型
publicclassBasicDataTypes{
publicstaticvoidmain(Stringargs[]){
byteb=0x55;//将十六进制数据赋值给b
shorts=0x55ff;//将十六进制数据赋值给s
inti=1000000;
longl=0x10EF;//将十六进制数据赋值给l
charc='*';
floatf=0.23f;
doubled=0.7E-3;//将科学计数法表示的浮点型数据赋值给d
booleanbool=true;
System.out.println("byteb="+b);
System.out.println("shorts="+s);
System.out.println("inti="+i);
System.out.println("longl="+l);
System.out.println("charc="+c);
System.out.println("floatf="+f);
System.out.println("doubled="+d);
System.out.println("booleanbool="+bool);
}
}
例3-3熟悉Java中的各类型的转换
publicclassConversion{
publicstaticvoidmain(Stringargs[]){
byteb;
inti=257;
doubled=323.567;
charch;
shorts;
b=(byte)i;//将整型变量i的数据强制类型转换为byte类型赋值给b
System.out.println("int→byte例:
int型"+i+"→byte型"+b);
i=(int)d;//将双精度类型变量d的数据强制类型转换为int型赋值给i
System.out.println("double→int例:
double型"+d+"→int型"+i);
b=(byte)d;//将双精度类型变量d的数据强制类型转换为byte型赋值给b
System.out.println("double→byte例:
ddouble型"+d+"→int型"+b);
ch=(char)94;//将int型数据94强制类型转换为char类型赋值给ch
System.out.println("94→char例:
int型94→char型"+ch);
s=(short)4000;//将int型数据4000强制类型转换为short型赋值给s
System.out.println("4000→short例:
int型4000→short型"+s);
}
}
输出显示为:
int→byte例:
int型257→byte型1
double→int例:
double型323.567→int型323
double→byte例:
double型323.567→int型67
64→char例:
int型64→char型@
4000→short例:
int型4000→short型4000
int→byte例:
int型257→byte型1
double→int例:
double型323.567→int型323
double→byte例:
double型323.567→int型67
97→char例:
int型97→char型a
4000→short例:
int型4000→short型4000
例3-4字符串的方便使用
publicclassStringTest{
publicstaticvoidmain(String[]args){
Strings1="你好啊~!
",s2="hello~^_^";
System.out.println("字符串s1的内容是:
"+s1);
System.out.println("字符串s2的内容是:
"+s2);
s1=s2;
System.out.println("将s2赋值给s1后,");
System.out.println("字符串s1的内容是:
"+s1);
System.out.println("字符串s2的内容是:
"+s2);
}
}
输出显示为:
字符串s1的内容是:
你好啊~!
字符串s2的内容是:
hello~^_^
将s2赋值给s1后,
字符串s1的内容是:
hello~^_^
字符串s2的内容是:
hello~^_^
例3-5不同类型数据间的混合算术运算
publicclassMixTest{
publicstaticvoidmain(String[]args){
intiNum1=10;
doublefNum2=25.5;
charchNum3='a';
Stringstr1="结果是";
System.out.println(iNum1+"%6"+"="+iNum1%6);
System.out.println(iNum1+"/6"+"="+iNum1/6);
System.out.println(fNum2+"%"+iNum1+"="+fNum2%iNum1);
System.out.println(iNum1+"*"+fNum2+"%125"+"+"+chNum3+"="+
(iNum1*fNum2%125+chNum3));
System.out.println(iNum1+"+"+fNum2+str1+(iNum1+fNum2));
}
}
输出显示为:
10%6=4
10/6=1
25.5%10=5.5
10*25.5%125+a=102.0
10+25.5结果是35.5
例3-6自增自减运算符的使用
publicclassDemo{
publicstaticvoidmain(String[]args){
inti=5;
System.out.println(++i);//相当于i=i+1;输出i;
inta=10;
intb=a--;//相当于两条语句,先intb=a;后a=a-1;
System.out.println("a="+a+",b="+b);
}
}
输出显示为:
6
a=9,b=10
例3-7条件运算符的使用
publicclassMaxTest{
publicstaticvoidmain(String[]args){
inta=1,b=2,temp;
doubled1=1.1,d2=-9.9,d3=96.9,m;
temp=a>b?
a:
b;//将a和b之间的较大值存给temp
System.out.println(a+"与"+b+"间的较大值是"+temp);
m=d1>d2?
d1:
d2;//将d1和d2间的较大值存给m
m=m>d3?
m:
d3;//m与d3比较出最大值,仍保存至m
System.out.println(d1+","+d2+","+d3+"间的最大值是"+m);
}
}
输出显示为:
1与2间的较大值是2
1.1,-9.9,96.9间的最大值是96.9
例3-8字符数组元素初始值及循环赋值
publicclassInitSample{
publicstaticvoidmain(String[]args){
char[]letters=newchar[26];
System.out.println("赋值前");
for(inti=0;i<26;i++){//循环输出各数组元素
System.out.print(letters[i]+"");
if((i+1)%9==0)//输出9个元素后换行
System.out.println();
}
System.out.println();
charc='A';
for(inti=0;c<='Z';c++,i++){//循环将字母A—Z依次存至数组元素
letters[i]=c;
}
System.out.println("赋值后");
for(inti=0;i<26;i++){//循环输出各数组元素
System.out.print(letters[i]+"");
if((i+1)%9==0)//输出9个元素后换行
System.out.println();
}
}
}
输出显示:
赋值前
赋值后ABCDEFGHI
JKLMNOPQR
STUVWXYZ
例3-9从命令行随意输入若干参数,反向输出所有元素。
publicclassArgsTest{
publicstaticvoidmain(String[]args){
for(inti=args.length-1;i>=0;i--)
System.out.println(args[i]);
}
}
(参数必须在菜单RunRunconfigurationsarguments,中输入)
例3-10定义整型数组初始化赋若干个整数。
输出数组长度及各元素值。
publicclassInitSample2{
publicstaticvoidmain(String[]args){
int[]arr={45,12,23,9,5,78,4,51,2,6,85,78};
System.out.println("数组s的长度为:
"+arr.length);
for(inti=0;i System.out.println(“第”+(i+1)+”个数组元素是: ”+arr[i]); } } } 输出显示为: 数组s的长度为: 12 第1个数组元素是: 45 第2个数组元素是: 12 第3个数组元素是: 23 第4个数组元素是: 9 第5个数组元素是: 5 第6个数组元素是: 78 第7个数组元素是: 4 第8个数组元素是: 51 第9个数组元素是: 2 第10个数组元素是: 6 第11个数组元素是: 85 第12个数组元素是: 78 例3-11定义数组存放十个学生成绩,计算总分和平均分,找出最高分。 publicclassScoreTest{ publicstaticvoidmain(String[]s){ intscore[]={70,80,90,85,76,95,94,85,72,83}; intsum=0,aver,max=score[0],n=0; for(inti=0;i sum+=score[i]; if(score[i]>max){ max=score[i];//找最高分 n=i+1;//记录最高分是第几个同学 } } aver=sum/10; System.out.println("总分是: "+sum+"平均分是: "+aver+ "最高分是第"+n+"个同学,成绩为"+max); } } 例3-12定义一个字符型数组,初始化赋值。 提示用户输入一个整数,根据数值找到相应位置的字符,输出该字符。 如果整数不在数组个数范围内则进行相应提示。 本例中实现接收用户输入数据的相关内容详见3.6节。 importjava.util.Scanner;//引入java.util包中的Scanner类 publicclassArrayDemo{ publicstaticvoidmain(String[]args){ //创建用来接收用户输入数据的Scanner类的对象reader Scannerreader=newScanner(System.in); charcharArray[]={'c','h','a','r','a','c','t','e','r'};//初始化数组 System.out.print("数组的所有元素是: "); for(inti=0;i System.out.print(charArray[i]); System.out.println(); System.out.println("您要查找第几个字符? "); intindex=reader.nextInt();//接收用户输入的整数,保存至index if(index>=1&&index<=charArray.length) System.out.println("您要查找的字符是"+charArray[index-1]); else System.out.println("数据超出合法范围,无法进行查找。 "); } } 例3-13冒泡排序法例程 由命令行参数给出一系列整数,使用冒泡排序法对这些整数进行冒泡排序,按从小到大顺序输出排序后的结果。 publicclassSortDemo{ publicstaticvoidmain(String[]args){ inti,j; Stringtemp; for(i=0;i //与后面的每个元素依次比较 for(j=0;j if(Integer.parseInt(args[j])>Integer.parseInt(args[j+1])){ temp=args[j];//交换相邻元素位置 args[j]=args[j+1]; args[j+1]=temp; } } System.out.println("按从小到大排序后数组元素为: "); for(i=0;i System.out.print(args[i]+""); System.out.println(); } } 例3-14定义学生类Student,可以存放每个学生的姓名、年龄、成绩,包含两个成员方法: 能够设置这三项属性值,能够输出这三项信息。 在主类的main方法中定义Student类的对象数组。 提示用户确定学生的个数,然后给每个学生输入三方面信息,最后集体显示在屏幕上。 本例中实现读入用户输入数据的相关内容介绍详见3.6节。 importjava.util.Scanner;//引入java.util包里的Scanner类 classStudentDemo{ publicstaticvoidmain(String[]args){ //创建用来接收用户输入数据的Scanner类的对象reader Scannerreader=newScanner(System.in); Studentstu[];//声明Student类类型数组stu intn;//学生个数 System.out.println("您要输入多少同学的信息? "); n=reader.nextInt();//接收用户输入的整数存至变量n if(n<=0)//个数合法性判断 System.out.println("个数错误! "); else{ stu=newStudent[n];//创建stu数组,包含n个元素 //循环创建每个数组元素对象,设置各对象的全部信息 for(inti=0;i stu[i]=newStudent();//给每个数组元素创建对象 System.out.println("请输入第"+(i+1)+"个同学的姓名"); Stringname=reader.next();//读入字符串存至姓名 System.out.println("请输入第"+(i+1)+"个同学的年龄"); intage=reader.nextInt();//读入整数存至年龄 System.out.println("请输入第"+(i+1)+"个同学的成绩"); doublescore=reader.nextDouble();//读入实数存至成绩 stu[i].setItem(name,age,score); } for(inti=0;i stu[i].printInfo(); } } } //定义学生类 classStudent{ Stringname;//姓名 intage;//年龄 doublescore;//成绩 voidsetItem(Stringn,inta,doubles){//设置成员值 name=n; age=a; score=s; } voidprintInfo(){//输出各项信息 System.out.println("姓名是"+name+",年龄是"+age+",成绩是"+score); } } 例3-15数组的引用 publicclassArrayReference{ publicstaticvoidmain(String[]args){ inta[]={1,2,3,4,5};//初始化整型数组a intb[];//声明整型数组b b=a;//将数组a的引用赋值给数组b,即b也引用同样数组空间 System.out.println("数组a的首地址是"+a); System.out.println("数组b的首地址是"+b); inti; System.out.print("数组a的元素有: "); for(i=0;i System.out.print(a[i]+"");//输出一个元素后空格 System.out.println();//所有元素输出后换行 System.out.print("数组b的元素有: "); for(i=0;i System.out.print(b[i]+""); System.out.println(); } } 例3-16编写程序,运行时提示用户输入一个数,输出该数的绝对值。 importjava.util.Scanner;//引入java.util包里的Scanner类 classAbsTest{ publicstaticvoidmain(String[]args){ //创建用来接收用户输入数据的Scanner类的对象reader Scannerreader=newScanner(System.in); System.out.println("请输入一个数"); doublenum=reader.nextDouble();//接收一个双精度数据存至变量num if(num<0)//得到num的绝对值 num=-num; System.out.println("该数的绝对值是"+num); } } 例3-17提示用户输入一个半径值,将数据读入。 再提示用户选择1为计算周长,选择2为计算面积,根据用户所选内容进行计算,输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 例题
![提示](https://static.bdocx.com/images/bang_tan.gif)