1、什么是变量?变量的三要素是什么?
变量是一块命了名的内存空间。空间的内存可以不断变化,通过不断的用新数据去替换老数据,达到内存重用的目的。
三要素:变量数据类型、变量名、变量值
2、什么常量?如何定义常量?定义常量的好处是什么?
常量是内存中一块命了名的空间,但是空间的内容不能在运行期间发生变化。
用final+变量类型+ 变量名+ = + 变量值的方式命名,如:final int A =10;
好处:1)可以引入业务名称
2)可以做到一改全改
3、字符类型采用什么编码集?占几个字节?
采用unicode编码,占两个字节。
4、类型转换有几种方式?
分为1)自动类型转换:将小容量类型自动提升为大容量类型,小类型可以直接赋值给大类型,反过来就不行可能会溢出。
2)强制类型转换:将一个类型强制转换成另一个类型,一般发生在大类型转换成小类型时,能会损失精度。
5、=和==的区别
=是赋值的意思,如int a =8,创建a变量,将8存放在a变量所在的空间中;
==是比较的意思,如a==8,将变量a的内容取出来和8进行比较是否相等。
6、以下表达式哪些编译有错误?为什么
public void method(){
int i=1,j; //注意:j未进行赋值,当后面程序调用j时会提示异常
float f1=0.1; //0.1是double类型,不能直接转换成float类型
float f2=123;
double d1=2e20,d2=124;
byte b1=1,b2=2,b3=129; //byte的值范围在-128到127,129已超出byte的范围
j=j+10; //j未进行初始化赋值,不能直接调用
i=i/10;
i=i*0.1; //0.1是double类型,i*0.1为double类型,不能直接转换成int类型
char c1='a',c2=125;
byte b=b1-b2; //b1-b2是int类型,不能直接转换成byte类型
char c=c1+c2-1; //c1+c2-1是int类型,不能直接转换成char类型
float f3=f1+f2; //f1+f2是double类型,不能直接转换成float类型
float f4=f1+f2*0.1; //f1+f2*0.1是double类型,不能直接转换成float类型
double d=d1*i+j; // j未进行初始化赋值,不能直接调用
float f=(float)(d1*5+d2);
}
7、输入美女的年龄,如果是18岁以下,打印”唉,人家还小”。如果是18-22岁,打印”年薪15万以上,高大威猛,脾气好,学历是本科以上的男人”。如果是22-26岁,打印”年龄10万,对我好的男人”。如果26-30岁,打印“对我好就行”。如果30岁以上,打印”随便找个人嫁了算了”。
package test;
import javax.swing.JOptionPane;
public class Zuoye {
publicstatic void main(String[] args) {
Stringage = JOptionPane.showInputDialog(null,"输入美女的年龄");
inta = Integer.parseInt(age);
if(a<18){
JOptionPane.showMessageDialog(null,"唉,人家还小");
}
elseif(a>=18&&a<22){
JOptionPane.showMessageDialog(null,"年薪15万以上,高大威猛,脾气好,学历是本科以上的男人");
}
elseif(a>=22&&a<26){
JOptionPane.showMessageDialog(null,"年龄10万,对我好的男人");
}
elseif(a>=26&&a<30){
JOptionPane.showMessageDialog(null,"对我好就行");
}
else{
JOptionPane.showMessageDialog(null,"随便找个人嫁了算了");
}
}
}
8、要求用户输入五个学生的成绩,计算这五个学生的平均分。平均分要求保留小数
package test;
import javax.swing.JOptionPane;
public class Zuoye2 {
publicstatic void main(String[] args) {
Stringscore1 = JOptionPane.showInputDialog(null,"请输入第一位学生的成绩");
Stringscore2 = JOptionPane.showInputDialog(null,"请输入第二位学生的成绩");
Stringscore3 = JOptionPane.showInputDialog(null,"请输入第三位学生的成绩");
Stringscore4 = JOptionPane.showInputDialog(null,"请输入第四位学生的成绩");
Stringscore5 = JOptionPane.showInputDialog(null,"请输入第五位学生的成绩");
doublea1 = Double.parseDouble(score1);
doublea2 = Double.parseDouble(score2);
doublea3 = Double.parseDouble(score3);
doublea4 = Double.parseDouble(score4);
doublea5 = Double.parseDouble(score5);
JOptionPane.showMessageDialog(null,"五个学生的平均分="+(a1+a2+a3+a4+a5)/5);
}
}
9、要求用户输入三个数,将其中最大的数找出来。
package test;
import javax.swing.JOptionPane;
public class Zuoye3 {
publicstatic void main(String[] args) {
Stringnumber1 = JOptionPane.showInputDialog(null,"请输入第一个数");
Stringnumber2 = JOptionPane.showInputDialog(null,"请输入第二个数");
Stringnumber3 = JOptionPane.showInputDialog(null,"请输入第三个数");
inta = Integer.parseInt(number1);
intb = Integer.parseInt(number2);
intc = Integer.parseInt(number3);
if(a>=b&&a>=c){
JOptionPane.showMessageDialog(null,"最大的数为"+a);
}
elseif(b>=a&&b>=c){
JOptionPane.showMessageDialog(null,"最大的数为"+b);
}
else{
JOptionPane.showMessageDialog(null,"最大的数为"+c);
}
}
}