您的位置:首页 > 编程语言 > Java开发

java基础知识小结

2012-05-19 13:40 411 查看
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
 
Java语言最早发布在什么时候?有什么特点?
Java是SUN公司开发的一种高级程序语言。Java最初叫做Oak,诞生于1991年,是为手持设备和机顶盒设计的。
但Oak后来不是很成功。所以在1995年的时候,Sun公司将Oak改名为Java.
Java的特点:
Java语言有下面一些特点:简单、面向对象、分布式、解释执行、  安全、可移植、高性能、多线程以及动态性。

java体系结构中有哪几个版本?分别有什么作用?
javaSE标准版:java学习的基础,为普通桌面和商务应用程序提供解决方案,里边包含了java核心类库的学习
javaEE企业版:为企业应用提供解决方案,该技术包含Servlet Jsp等,主要针对web的应用程序开发。包含了 企业开发的技术规范
javaME微型版:为开发电子消费产品和嵌入式设备提供解决方案,如手机中的应用程序等 (比如Android)

为什么要设置环境变量?如何配置java环境变量?
Path : 操作系统寻找"应用程序"的变量。在java中设置此变量,主要为了指明javac.exe和java.exe等程序所在位置。
举例:在DOS命令行下面执行命令:javac,编译程序时,它会到path变量所指定的路径中查找看是否能找到相应 的命令程序。
classpath变量值是java类文件的目录,作用是指定类搜索路径。 JVM就是通过classpath来寻找该类的字节码文件。
如何配置:
临时配置:我们想在任意目录运行javac.exe, 那么就需要把javac.exe所在的目录配置到path环境变量中
例如: set path=C:\Program Files\Java\jdk1.6.0_30\bin;
这种配置方式是临时的, 只能应用于当前窗口, 在其他窗口中无效
永久配置:右键点击我的电脑 - 属性 - 高级 - 环境变量 - 找到系统变量中的path - 添加javac所在的目录, 注意需要分号分隔

什么是变量?变量分为哪几类?
变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。
变量是程序中数据的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性。
变量根据数据类型类分 可以有byte,char,short,int,long,float,double,boolean等几种数据类型变量
根据其所处的范围可以有,成员变量:就是声明为类的属性的变量。
静态变量(也叫做类变量):就是声明为静态属性的变量。
局部变量:就是方法里面声明的变量。
volatile变量:和多线程相关,用于简化同步的变量
transient变量:用于使该变量不会被持久化
final变量:基本上就是常量

String是最基本的数据类型么?char型变量中能不能存储一个中文汉字?为什么?赋值语句"float f = 3.4;"是否正确?
String不是基本的数据类型。因为它是一个类,所以它是引用类型(类类型)。
char型变量能够存储一个中文汉字。
因为java语言默认是unicode编码方式的。而一个unicode字符占两个字节的存储空间,一个中文汉字占2个字节,所以它可以存储一个汉字。
float f = 3.4;语句是错误的:
3.4数值常量默认情况下是double类型,假如赋值给f,那么将由double转换成float类型,空间较大的数据转换成空间较小的数据不能自动类型转换的,
所以可以将float f = 3.4修改成:float f = 3.4f; 或者float f = (float)3.4;

java中有没有goto关键字?
java为了避免使用goto带来的潜在错误,把goto设置为保留字。goto不是关键字,即goto不能发挥任何作用。
goto是保留字,即你在命名中不能把某个变量名取为goto。但可以取Goto等,因为java是大小写敏感的。
虽然没有goto,但有标签label,可以结合 break label,continue label完成goto可以做的事情,而且避免了流程的混乱。

&和&&的区别?
两者都可以做逻辑运算符.被&和&&连接的表达式同时为true结果才为true.&&比&增加了短路效果,被&&连接的表达式当运行到 false时后面就不执行了,结果就为false
&还可以做二进制位运算符来用

标识符的命名规则主要有哪几点?
java 标识符可以是 字母、数字、$、_(下划线),但不可用数字开头
不可以是java 的关键字
包名:全部小写(如:multiplicationtable)
类名:每个单词的首字母大写(如:MultiplicationTable)
变量名:第一个字母小写,以后每个单词的首字母大写(如:multiplicationTable)
常量:全部使用大写字母,单词间用下划线隔开(如:MULTIPLICATION_TABLE

最有效率的方式计算2乘以8等于几?
2<<3.计算机底层是二进制,二进制位运算效率高于10进制的乘法运算

多重if和switch有什么区别?switch是否能作用在byte类型数据上,是否能 作用在long类型数据上,是否能作用在string类型数据上?
switch中的变量 只能是 byte,char,short,int还有枚举类型
if表达式可以是表达式boolean值
还有一个区别是 if可以使用区间表达式,而switch不能够直接使用
switch 可以作用在byte,char,int,short上;不能作用在long,jdk1.7 是可以作用在String上的,另外还可以作用在枚举上,这是jdk1.5就可以的

java语言有哪几种循环结构?各个循环结构有什么区别?
java提供3种循环结构:while语句、do-while语句、for语句。
while语句:
while(布尔条件){
//语句;
}

do-while语句:do{
/语句;
}while(布尔条件);
while和do-while语句的区别:while语句是先计算布尔条件,再执行循环体语句。do-while语句与之相反,它是先执行循环体语句,然后再比较计算布尔条件。
do-while语句保证循环体内的语句至少执行一次。

for语句:for(初始化语句;布尔条件;迭代语句){
//语句;
}
初始化部分可以不用编写任何代码。
while、do-while语句和for语句的使用:1)for语句适合于循环次数已知的循环程序;2)while语句适合于循环次数未知的循环程序;
3)do-while用的不多,适合于循环次数未知的,但至少要执行1次的循环程序。
跳出循环:break语句。break语句不仅适用于while循环,也适用于for语句。
在循环中继续执行:continue语句。continue语句终止执行循环的当前迭代语句,然后继续执行循环的下一迭代语句。

short  s1=1; s1=s1+1;有什么错?short  s1=1;s1+=1;有什么错?
short byte char在参与运算时会类型自动提升成int,再参与运算.因此s1+1的结果变成了int型
s1+=1;不会出错 +=是赋值运算符,计算机完成了自动类型提升操作.
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息