Fork me on GitHub

Java复习第一天

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 !");

     }      

}

 

posted @ 2015-07-27 17:08  何海洋  阅读(793)  评论(0编辑  收藏  举报