下面的答案仅供参考:
未经许可不可转载。
1. JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些?
答:三者的关系如下:JDK包含JRE,JRE包含JVM
JDK、JRE的结构:JDK=JRE加上Java的开发工具。
JRE=JVM+Java的核心类库。
2. 为什么要配置path环境变量?如何配置?
答:为了在任何文件夹下都能执行Java的开发工具.
JAVA_HOME=bin上一层目录.
PATH=%JAVA_HOME%\bin
3. 常用的几个命令行操作都有哪些?(至少4个)
答:cd 进入或退出(切换)目录
Java -version查看java版本
Javac 检查环境是否配置成功
d: 切换到d盘根目录
cd.. 上一级目录
md 创建目录
del 删除文件,对文件夹使用效果是清空文件夹
4.创建如下的类,使得运行的话可以输出:
答:
package Test1;
public classTest12 {
public static void main(String[] args) {
String name="习大大";
char sex='男';
String address="北京中南海";
System.out.println("姓名:"+name);
System.out.println("性别"+sex);
System.out.println("家庭住址:"+address);
}
}
4. 编译和运行上述代码的指令
1>、首先在E:\java\test\ 这个路径下创建一个Test12.java文件
2>、然后输入命令 javac Test12.java进行编译。编译之后会生成一个.class文件,到这里说明已经编译成功。
3>、最后输入命令java Test12就会运行出结果出来。
5. 标识符的命名规则有哪些?
答:java语言中,Java标识符的命名规则:应以字母、下划线、美元符开头,不能以数字为开头,后面可以是字母、下划线、美元符或数字,长度无限制。
6. Java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小?
答:基本数据类型和引用数据类型。
Byte(1字节) short(2字节) int(4字节) long(8字节)
Boolean(true/false) char(2字节) float(4字节)、double(8字节)
7. 说明基本数据类型变量之间自动类型提升的运算规则。
答:默认(自动)类型提升
当容量小的数据类型变量与容量大的数据类型变量做运算时,结果自动提升为容量大的数据类型。即容量小的数据类型变量+容量大的数据类型变量=容量大的数据类型变量。注意:这里的容量大小指的是,表示数的范围的大小。
8.说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题。
答:强制类型转换:自动类型提升运算的逆运算。(逆向思维)
1>要使用强转符()。
2>注意(可能出现的问题),强制类型转换,可能会导致精度损失(降低或溢出)。
容量小的数据类型变量→容量大的数据类型变量,不会丢失原有信息(精确度)。容量大的数据类型变量→容量小的数据类型变量,可能会丢失原有信息(精确度)。简单的说就是会损失精度。
答:相同点:
1>、&与&&都可做逻辑运算符,表示逻辑与(and)也叫做单与,当两边表达式结果都为true时,返回true,否则返回false。(不具有短路功能)。
不同点:
2>、&如果左边表达式返回false,依然继续执行右边表达式;
&&(双与)如果左边表达式返回false,则返回false,不继续执行右边表达式
如果取反,&和&&两边表达式都执行。(简称具有短路功能)。
3>、&做位运算按位与
答:
可以是byte,short,char,int等布尔类型的基本数据类型。
Jdk5以后可以是枚举类型。
jdk7以后可以是字符串类型。
10. 谈谈你对三元运算符、if-else和switch-case结构使用场景的理解
答:1>、条件表达式比较简单的时候可以考虑用三元运算符。
2>、If-else比较适用于条件表达式比较复杂,也比较多条件的时候。当然条件中的布尔类型为一个范围的时候,可以考虑这种
2>、Switch-case比较适合于那种条件比较单一的那种,具体的条件判断个数固定的时候,还有就是具体的值得时候,而不是一个范围区间的时候,比如是char,int,byte,short,可以考虑这种。
11. 定义三个int型变量并赋值,使用三元运算符或者if-else获取这三个数中的较大数的实现。
答:
public class Test12 {
public static void main(String[] args) {
intnum1=10;
intnum2=101;
intnum3=102;
intmax=num1>num2?num1:num2;
intmax1=max>num3?max:num3;
System.out.println(max1);
}
}
答:
public classTest12 {
public static void main(String[] args) {
doublenum1=10;
doublenum2=101;
if(num1>10.0&&num2<20.0){
System.out.println(num1+num2);
}else
{
System.out.println(num1*num2);
}
}
}
13. 交换两个变量值的代码的实现
答:
public class Test12 {
public static void main(String[] args) {
intnum1=10;
intnum2=101;
if(num1>num2){
//声明一个中间变量,来达到两个变量之间的交换
int temp=num1;
num1=num2;
num2=temp;
}
System.out.println(num1);
System.out.println(num2);
}
}
14.如何从控制台获取String和int型的变量,并输出?使用代码实现
答:
import java.util.Scanner;
public classTest12 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“请输入一个字符串:”);
String num1=sc.nextLine();
System.out.println(“请输入一个整型数:”);
int num2=sc.nextInt();
System.out.println(num1);
System.out.println(num2);
}
}
15.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程找出1000以内的所有完数。(因子:除去这个数本身的其它约数)
答:
import java.util.Scanner;
public classTest12 {
public static void main(String[] args) {
int i=0, j=0;
for (i = 1; i < 1000; i++) {
int sum = 0;
//这个数和前面的数都比较一遍。
for (j = 1; j < i; j++){
if (i % j ==0) {
sum +=j;
}
}
if (sum == i) {
System.out.println(i);
}
}
}
}
16.《孙子算经》中记载了这样一道题目:今有稚兔同笼,上有三十五头,下有九十四足,问鸡兔各几只?
public class Test12 {
public static void main(String[] args) {
//x为鸡的个数,y为兔子的个数
for (int x = 0; x <= 35; x++){
int y = 35 - x;
//2x+4y==94为鸡兔的足的总个数
if (2 * x + 4 * y ==94) {
System.out.println("鸡的个数为:" + x );
System.out.println("兔子的个数为:" + y);
}
}
}
}