java学习day05---(练习题)
1、描述出java程序从编写到编译,在到执行的过程
第一步:编写后缀为.java的源文件
第二步:利用javac.exe将.java文件编译成.class文件(字节码文件,看不懂),这里还可以有反编译,就是把.class文件变成.java文件,需要借助特殊软件
第三步:利用java.exe将.class文件进行加载,将一些类库加载进入(一个简单的程序也需要依靠很多语言开发者提前为我 们写好的类库)
第四步:装入jvm(java虚拟机)中,解释成机器可运行的二进制,就执行了
2、编写java程序输出一下学生的信息,输出结果如下图:

public class Student{
public static void main(String[] args){
System.out.println("学号:1111111");
System.out.println("姓名:张三");
System.out.println("生日:2009年6月1日");
System.out.println("家庭住址:北京市大兴区黄河镇月球村");
}
}
3、编写java程序,输出京东商城商品列表信息,输出结果如下图:

public class ProductList{
public static void main(String[] args){
System.out.println("------------------------------------------------");
System.out.println("|手机商品列表 |");
System.out.println("------------------------------------------------");
System.out.println("|商品编号 |商品名称 |单价(元) |");
System.out.println("------------------------------------------------");
System.out.println("|1309203929|荣耀10青春版 |1299.00 |");
System.out.println("------------------------------------------------");
System.out.println("|1309203920|红米Redmi Note7 |1199.00 |");
System.out.println("------------------------------------------------");
System.out.println("|1309203921|HUAWEI P30 Pro |5988.00 |");
System.out.println("------------------------------------------------");
System.out.println("|1309203922|荣耀10 GT游戏加速 |1899.00 |");
System.out.println("------------------------------------------------");
}
}
4、通过变量来描述学生的信息,学生信息包括:学号、姓名、性别、身高。其中学号采用整数,姓名采用字符串,性别采用字符型,身高采用浮点型。
具体的学生数据有两份,第一个学生信息是:学号 110,姓名张三,性别男,身高1.85 米。第二个学生信息是:学号120,姓名李四,性别女,身高1.65 米。要求最终将学生的信息输出到控制台。
两个学生信息之间使用”中划线”进行分隔。输出结果如下图:

public class Student02{
public static void main(String[] args){
int id=110;
String name="张三";
char sex='男';
double height=1.85;
System.out.println("学号:"+id);
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("身高:"+height);
System.out.println("------------------------------------------");
id=120;
name="李四";
sex='女';
height=1.65;
System.out.println("学号:"+id);
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("身高:"+height);
}
}
5、short s1=1;s1=s1+1;代码有问题吗?为什么?
代码有问题,因为short、byte、char在进行运算时,系统会把这些类型默认转换成int类型,
因此s1+1的结果就是int类型,不能赋值给小容量的short类型。
6、char类型变量能不能储存一个中文的汉字?为什么?
能储存一个中文汉字,因为char类型的大小是2个字节,而一个中文汉字的大小也是2字节
注:在utf8编码中,一个中文汉字是3个字节
7、float f=1.0代码有问题吗?为什么?
有问题,因为在浮点型数据中,系统默认类型是double类型,在赋值给float时,系统会先把1.0放到double的容器中再放到float的容器中。因为double类型容量比float类型大,属于强制类型转换,需要加强制类型转换符。
float f=(float)1.0 或者 float f=1.0F 就没有问题了,通常使用后者,因为后者是直接把1.0存储到float中。
8、long a=2147483648 有问题吗?为什么?
有问题,因为在整数型数据中,系统默认类型是int类型,系统会先把2147483648存储在int类型中,但是2147483648已经超出了int类型的范围。因此需要在数值后面加L,直接将数值存储到long类型中:long a=2147483648L
9、char c=65536 有问题吗?为什么?
有问题,char类型的范围是0~65535,题目已经超出了范围。
10、根据指定月份,打印该月份所属的季节。
3,4,5 春季
6,7,8 夏季
9,10,11 秋季
12, 1, 2 冬季
要求if和switch各写一版
if语句:
public class Season{
public static void main(String[]) args){
int moth=3;
if(moth>=3&&moth<=5) {
System.out.println("春季");
}else if(moth>=6&&moth<=8){
System.out.println("夏季");
}else if(moth>=9&&moth<=11){
System.out.println("秋季");
}else if(moth==1||moth==2||moth==12){
System.out.println("冬季");
}else{
System.out.println("不是月份!");
}
}
}
switch语句
public class Season{
public static void main(String[] args){
int moth=6;
switch(moth){
case 3:case 4:case 5:
System.out.println("春季");
break;
case 6:case 7:case 8:
System.out.println("夏季");
break;
case 9:case 10:case 11:
System.out.println("秋季");
break;
case 12:case 1:case 2:
System.out.println("冬季");
break;
default:
Syatem.out.println("不是月份!");
}
}
}

浙公网安备 33010602011771号