1. java有什么特点?
答:简单性、面向对象的语言、一种与平台无关的语言、健壮性和安全性、多线程、垃圾回收机制。
2.java有什么特点?
答:JDK叫做JAVA开发工具集,包括JAVA的编译环境,运行环境,调试环境,以及基础类库。
JRE:叫做JAVA运行环境,包括虚拟机,核心类库,以及链接文件,JDK包含JRE。
3、JDK的目录结构是怎样的?
答:1.bin:存放可执行文件的目录。
2.javac:exe用于编译源文件,java.exe用于执行java类。
3.demo:存放applet的示列代码。
4.include:用于存放java执行时所用的头文件。
5.jre:java的运行环境。
6.lib:java的基础类库。
7.smple:用于存放java新类的示列代码。
8.src.zip:用于存放java核心类库的源代码。
4、环境变量如何配置?为什么要配置环境变量?
答:由于编译的命令javac.exe和运行的命令java.exe放在jdk安装目录的bin下,为了能够在所有的目录都能使用,jdk的编译和运行环境,所以需要配置环境变量。 右键单击我的电脑——>高级——>环境变量——>找到Path变量——> 编辑——>加入JDK安装目录下的bin目录路径。
5、如何编译java文件?如何执行java程序?
答:编译:javac 文件名 class: 编译成它 执行:java 类名 一个文件有几个类。
6、什么要求文件名和类名必须要一致?
答:如果类定义时,申明为public,那么类名和文件名必须一致。否则无法通过编译,不能用中文的符号,(括号外面)。printlu换行。
7、java虚拟机工作过程是怎样的?
答:JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。
java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。编写*.java源文件—>通过javac编译成*.class字节码文件-->类加载-->字节码校验-->解释器-->操作系统。
8、java基本类型有哪些?各占几个字节?
答:整型(Byte,字节型,1字节,-128~127)
短整型(short,2字节,)
整型(int,4字节,)
长整型(long,8字节,)
浮点型:(fioat,单精度浮点型,4字节,)
(doubie,双精度浮点型,8字节,)
字符型:(char,2字节,)
布尔型:(boolean,1字节,ture/false)
9、常量如何定义?定义常量有什么好处?
答:final int PRICE = 2;1 ,引入业务名称,可以做到一改全改。表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了。 2.主要好处是。如果将来这个常量变了。你只需要改一个地方。
10、什么变量,变量三要素是什么?
答:变量是一块命了名的内存空间,空间内容会根据需要发生变化,通过利用新数据去替换老数据,达到内存重要性的结果。2.变量的三要素:数据类型、变量名、变量值。
11、什么是标识符,标识符命名规范是什么?
答:凡是可以命名的地方都叫标识符,可以利用标识符命名类、方法、变量等。
1.系统标识符(关键字,具有特殊含义)
2.用户标识符
3.?标识符必须由字母,数字,下划线以及$组成,不能以数字开始。
4.标识符规范:1.?类名字母开始,采用驼峰命名法,
2.方法名,变量以小写字母开始,采用驼峰命名法,
3.常量全部大写。
12、什么是注释,注释有几种?
答:给某一句代码或方法或类加上一个说明性的文字,给代码加上适当的注释可以增加代码的可阅读性。
// 单行注释
/* */ 多行注释
/** */ 文档注释
注释会在编译自动忽略。
13、类型转换的方式有哪些?
答:自动类型转换(当小类型和大类型运算时,会自动将小类型转换为大类型,在运算,)其中float比long更大,float 拥有整数和小数两个部分,而 long只有整数部分。
1.整型和整型运算,其结果至少是int。
2.大类型不能直接赋值给小类型。
3.强制类型转换(一般用于大类型强制转换为小类型,可能会损失精度)。
14、=和==的区别是什么?
答:一个=号是赋值,也就是将右边值存放到左边变量中。
两个=号是比较,也就是比较两个。判断两个表达式的值是否相等。
15、多个if和if else if的区别?
答:多个if是多条语句,每个if判断都会执行
if...else if 是一条语句,当一个条件满足后,后面的esle if全部忽略。
16、&和&&的区别
答:&是位运算符,操作数是可以是booleam,也可以是数字。
&&是逻辑运算符,操作数只能是booleam,
&&是短路运算符,当一个条件为假,第二个条件不在执行,&是非短路运算符,无论第一个条件是真是假,第二个条件都会执行。
17、说说运算符的优先级。
答:运算符的优先级(从高到低)
括号,分号,点运算符。
一元运算符(++,--,!,type)
算术运算符(+,-,*,/,%)
比较运算符(>,<,>=,<=,==,!,=)
逻辑运算符(&&,||,其中&&优先级大于||)
赋值运算符(=,+=,-=,*=,/=)
18、switch表达式可以是什么类型?
答:switch是一种多分支判断语句,类似于if....else if ,在swtich()中的判断内容是一个表达式,在jdk1.6中,判断表达式的结果只能是byte,short,int,char,
19、将以下数字转为2进制
109(1101101)
78(1001110)
145(10010001)
20.说下面代码执行结果
10|5=?(15)
6^4=?(2)
12&10=?(8)
5<<2=?(20)
4>>1=?(2)
5>1?6:5=?(6)
'A'+2=?(67)
2/3*6=?(0)
3/4.0*2=? (1.5)
2.4*2-1/2=?(4.8)
5%2/5-1=?(-1)
(int)(1/2.0)*8=? (0)
21.说出执行结果
int a = 1;
char c = 'A';
int b = 9;
c += b++;
a = ++b;
System.out.println(a+" "+b+" "+c);
11 11 'j'
System.out.println(a+" "+b+" "+c);
22、说出执行结果
int a = 8;
char c = 'A';
if(a>0 && c<0){
printf("******");
}
else{
printf("&&&&&");
}
&&&&&
//------------------
if(a = 0){
printf("a等于0");
}
else{
printf("a不等于0");
}
编译错误
//------------------
if(a>0 || c<0){
printf("满足");
}
else{
printf("不满足");
}
23、int x = 8;
if(x > 10 && (x = 5) > 2){
System.out.println(x+"满足");
}
else{
System.out.println(x+"不满足");
}
8不满足
24、说出代码执行结果
int x = 8;
switch(x/2){
case 3:
System.out.println("3");
case 4:
System.out.println("4");
case 5:
System.out.println("5");
break;
defalut:
System.out.println("defalut");
case 6:
System.out.println("6");
}
4 5
25、说出下面程序片断中编译错误或可能产生计算溢出的部分。
int i=1,j;
float f1=0.1 浮点常量默认为doubie,不能直接赋给fioat
float f2=123;
double d1=2e20,d2=124;
byte b1=1,b2=2,b3=129; butr,取值在-128~127.不能赋值为129
j=j+10; 变量使用前必须初始化,否则编译错误。
i=i/10;
i=i*0.1; int,和double运算后,结果是double,不能赋值给整型。
char c1='a',c2=125;
byte b=b1-b2; 整型和整型运算结果至少是Int,不能赋值给byte,
float f3=f1+f2;
float f4=f1+f2*0.1;
double d=d1*i+j;
float f=(float)(d1*5+d2);