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

Java复习第一天

2015-07-27 17:08 405 查看

Day01

1、独立编写Hello World程序。

public class Test{

public static void main(String[] args){

System.out.println("Hello World!");

}

}

2、JDK,JRE,JVM分别是什么?

(1)作用

JVM:保证Java语言跨平台

JRE:Java程序的运行环境

JDK:Java程序的开发环境

(2)关系

JDK:JRE+工具

JRE:JVM+类库

3、Java语言是跨平台的吗?JVM是跨平台的吗?

Java语言是跨平台的,JVM不跨平台,每种平台都有JVM。

4、环境变量path和classpath的区别?

(1)path指示java命令的路径,像javac、java、javaw等

(2)classpath是javac编译器的一个环境变量,它的作用与import、package关键字有关,当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:\jdk\ 目录下,你得把c:\jdk\这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java\util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!

Day02

1、什么是注释?注释分为几种?注释有什么作用?

(1)就是对程序进行解释说明的文字

(2)分类:

A:单行注释 //

B:多行注释 /**/

C:文档注释(后面讲) /** */

(3)注释的作用

A:解释说明程序,提高了代码的阅读性。

B:可以帮助我们调试程序。

2、什么是关键字?有什么特点?

(1)被Java语言赋予特定含义的单词;

(2)特点为全部小写。

3、什么是标识符?由哪些部分组成?常见的命名规则有哪些?

(1)就是给类,接口,方法,变量等起名字的字符序列。

(2)组成规则:

A:英文大小写字母

B:数字

C:$和_

(3)常见的命名规则(见名知意)

A:包 全部小写

单级包:小写 举例:liuyi,com

多级包:小写,并用.隔开 举例:cn.itcast,com.baidu

B:类或者接口

一个单词:首字母大写 举例:Student,Demo

多个单词:每个单词首字母大写 举例:HelloWorld,StudentName

C:方法或者变量

一个单词:首字母小写 举例:name,main

多个单词:从第二个单词开始,每个单词首字母大写 举例:studentAge,showAllNames()

D:常量 全部大写

一个单词:大写 举例:PI

多个单词:大写,并用_隔开 举例:STUDENT_MAX_AGE

4、什么是常量?常量的分类?字面值常量表现形式有哪些?

(1)在程序执行的过程中,其值不发生改变的量

(2)分类:

A:字面值常量

B:自定义常量(后面讲)

(3)字面值常量

A:字符串常量 "hello"

B:整数常量 12,23

C:小数常量 12.345

D:字符常量 'a','A','0'

E:布尔常量 true,false

F:空常量 null(后面讲)

(4)在Java中针对整数常量提供了四种表现形式

A:二进制 由0,1组成。以0b开头。

B:八进制 由0,1,...7组成。以0开头。

C:十进制 由0,1,...9组成。整数默认是十进制。

D:十六进制 由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

5、计算出十进制46对应的二进制,八进制,十六进制的值。

二进制:101110

八进制:56

十六进制:2E

6、什么是变量?变量的定义格式?要使用变量需要注意什么?

(1)在程序的执行过程中,其值在某个范围内可以发生改变的量

(2)变量的定义格式:

A:数据类型 变量名 = 初始化值;

B:数据类型 变量名;

变量名 = 初始化值;

7、Java中的数据类型分几类?基本数据类型有哪些?

(1)分类:

A:基本数据类型:4类8种

B:引用数据类型:类,接口,数组。

(2)基本数据类型

A:整数 占用字节数

byte 1

short 2

int 4

long 8

B:浮点数

float 4

double 8

C:字符

char 2

D:布尔

boolean 1

注意:

整数默认是int类型。浮点数默认是double。

长整数要加L或者l。单精度的浮点数要加F或者f。

8、数据类型转换:

隐式转换:

强制转换:

第一题:

byte b1=3,b2=4,b;

b=b1+b2;

b=3+4;

哪句是编译失败的呢?为什么呢?

b=b1+b2;编译失败。因为b1+b2结果为int,不是byte。

第二题:

byte by = 130;

有没有问题?有问题如何解决?结果是多少呢?

错误,byte 范围是 -128到127( -2的7次方到2的7次方-1)

Day03

1、常见的算术运算符有哪些?

常见预算符有+,-,*,/,%,++,--

+运算符的作用有哪些?

a:加法b:正号c:字符串连接符

除法和取余的区别?

数据做除法操作的时候,/取得是商,%取得是余数

++和--的使用规则?

a:他们的作用是自增或者自减

b:使用

**单独使用

放在操作数据的前面和后面效果一样。

a++或者++a效果一样。

**参与操作使用

放在操作数的前面:先自增或者自减,再参与操作

int a = 10;int b = ++a;

放在操作数的后面:先参与操作,再自增或者自减

int a = 10;int b = a++;

2、常见的赋值运算符有哪些?

常见的赋值运算符有=,+=,-=,*=,/=,%=等。

+=运算的作用是什么?

将符号两边的值相加并将结果赋值给符号左边。

扩展的赋值运算符有什么特点?

隐含了自动强制转换。

3、short s = 1; s = s + 1;有没有问题?如果有怎么解决?

有问题,s+1结果为类型为int,可以进行强制转换。

short s = 1; s += 1;有没有问题?如果有怎么解决?

没有问题。

4、常见的关系运算符有哪些?

<

小于

a<b

a小于b时返回真;否则返回假

LT

<=

小于等于

a<=b

a小于等于b时返回真;否则返回假

LE

>

大于

a>b

a大于b时返回真;否则返回假

GT

>=

大于等于

a>=b

a大于等于b时返回真;否则返回假

GE

==

等于

a==b

a等于b时返回真;否则返回假

EQ

!=

不等于

a!=b

a不等于b时返回真;否则返回假

NE

关系运算符的结果有什么特点?

不是真就是假,不是假就是真。

5、常见的逻辑运算符有哪些?

常见逻辑运算符有&,|,^,!,&&,||

&和&&的区别是什么?

&&结果和&是一样的,只不过有短路效果。左边是false,右边不执行。

|和||的区别是什么?

||结果和|是一样的,只不过有短路效果。左边是true,右边不执行。

6、位运算符^的特点是什么?

一个数据针对另一个数据位异或两次,该数不变。

7、如何实现对两个整数变量的值进行互换。

例如交换两个整数a=10100001,b=00000110的值

    a = a^b;   //a=10100111
    b = b^a;   //b=10100001
    a = a^b;   //a=00000110

8、三元运算符的格式是什么?

比较表达式?表达式1:表达式2;

执行流程是什么?

(1)首先计算比较表达式的值,看是true还是false。

(2)如果是true,表达式1就是结果。

(3)如果是false,表达式2就是结果。

9、使用三元运算符完成如下练习

比较两个数是否相等 A==B?true:false;

获取两个数中最大值 A>=B?A:B;

获取三个数中最大值 (A>B?(A>C?A:C):(B>C?B:C));

10、流程控制语句有几种?

(1)顺序结构 从上往下,依次执行

(2)选择结构 按照不同的选择,执行不同的代码

(3)循环结构 做一些重复的代码

11:if语句的格式有几种?注意事项是什么?分别在什么时候使用?

(1)三种格式

A:格式1

if(比较表达式) {

语句体;

}

B:格式2

if(比较表达式) {

语句体1;

}else {

语句体2;

}

C:格式3

if(比较表达式1) {

语句体1;

}else if(比较表达式2){

语句体2;

}

...

else {

语句体n+1;

}

(2)注意事项

A:比较表达式无论简单还是复杂,结果是boolean类型

B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。建议:永远不要省略。

C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。

D:else后面如果没有if,是不会出现比较表达式的。

E:三种if语句其实都是一个语句,只要有一个执行,其他的就不执行。

12:看程序写结果:请自己独立分析,先不要编译运行。

第一题

int x = 1,y = 1;

if(x++==2 & ++y==2)

{x =7;}

System.out.println("x="+x+",y="+y);

输出:x=2,y=2

---------------------------------------------------

第二题

int x = 1,y = 1;

if(x++==2 && ++y==2)

{x =7;}

System.out.println("x="+x+",y="+y);

输出:x=2,y=1

---------------------------------------------------

第三题

int x = 1,y = 1;

if(x++==1 | ++y==1)

{x =7;}

System.out.println("x="+x+",y="+y);

输出:x=7,y=2

---------------------------------------------------

第四题

int x = 1,y = 1;

if(x++==1 || ++y==1)

{x =7;}

System.out.println("x="+x+",y="+y);

输入:x=7,y=1

---------------------------------------------------

第五题

boolean b = true;

if(b==false)

System.out.println("a");

else if(b)

System.out.println("b");

else if(!b)

System.out.println("c");

else

System.out.println("d");

输出:b

---------------------------------------------------

13:编写代码实现如下内容:if语句实现

考试成绩分等级。

90~100 A等。

80-89 B等。

70-79 C等。

60-69 D等。

60以下E等。

请根据给定成绩,输出对应的等级。

public static void main(String[] args) {

// TODO Auto-generated method stub

int score=85;

if(score>=90&&score<=100){

System.out.println("A");

}else if(score>=80&&score<90){

System.out.println("B");

}else if(score>=70&&score<80){

System.out.println("C");

}else if(score>=60&&score<70){

System.out.println("D");

}else if(score>=0&&score<60){

System.out.println("E");

}else{

System.out.println("score error !");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: