Java SE的复习1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyanyu1314/article/details/77932790

Java SE复习

一、     Java语言的特点:

1简单的、2面向对象的、3分布式的、4解释的、5健壮的、6安全的、7结构中立的、8可移植的、10高效的、11多线程的、12动态的

二、       1、Java的运行机制:

先编译后解释执行

如下图所示:

       2、JDK  JRE  JVM:

              JDK:开发Java的应用程序包,包括JRE、Java工具和Java类库

 

              JRE:Java运行时环境,Java运行的必须条件

 

              JVM:Java虚拟机,实现Java跨平台的转换器

三、       JDK配置:

安装完JDK之后,需要配置才可以使用:

       计算机-----》属性-----》高级系统设置-----》高级-----》环境变量----》系统变量-----》path----》双击打开,在变量值后面添加; C:\Program Files\Java\jdk1.6.0_10\bin----》确定即可

四、      Java两大核心机制:

1、Java虚拟机(JVM)

2、GC(垃圾回收机制):

Java不需要程序员回收无用内存,垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。

       Java中的注释和javadoc命令

注释:用来说明某段代码的作用,某个类的用途,某个方法的功能…….

 

Java中注释分为三类:单行注释,多行注释,文本注释。

       单行注释:       //注释内容

 

       多行注释:             /*

                                          注释内容

                                          ……

                                          注释内容

                                   */

 

       文档注释:             /**

                                     *注释内容

                                     * ……

                                     *注释内容

                                    */

 

标识符命名规则:

Java语言中标示符必须以字母、下划线(_)、美元符号($)开头,后面可以跟上任意数目的字母、数字、下划线(_)、美元符号($)。此处的字母不仅仅是26个英文字母,还可以是中文字符、日文字符…….

       注意:标示符不能包括空格,不能使用java的关键字和保留字和直接量,标示符的长度不受限制。

由于Java采用的Unicode编码,因此Java的标示符可以使用Unicode能够表示的任意字符。Java语言严格区分大小写,因此Abc和abc是不用的标示符。

 

              直接量 3个:

                     Java中还有三个直接量也不能作为标示符: true false  null

六、基本数据类型:

Java语言是强类型,每一个表达式或者变量都有一个在编译时就确定好了的类型,所有变量需要先声明后使用。

Java中数据类型包括 基本数据类型 引用数据类型(复杂数据类型)两大类

 

 

七、数据类型转换:

              Java八种基本数据类型有两种转换方式:自动类型转换、强制类型转换

       boolean类型不可以和其他任何类型相互转换。

 

       强制类转换:

                     有时候需要将大类型的数据转换成小类型使用。Eg:需要将double类型的数据转换成int类型使用,此时可能损失精度,必须使用强制类型转换。注意,强制类型转换不可以乱用。

                  

                   例如:

                            doublea = 1.23;

                            intb = (int)a;

八、运算符:

         1.算术运算符:

                            +加

                           -减

*乘

/除

%取模(取余数)

         2.自增自减:

                            ++自增

                            --自减

                   举例:

int i = 5;

              intj = i++;// j=i  i=i+1 

              System.out.println("i="+i+"   j="+j);// i=6  j=5

              inti = 5;

              intj = ++i;// i=i+1  j=i

              System.out.println("i="+i+"   j="+j);// i=6  j=6

       3.关系运算符:

            >  >=    <    <=  ==  !=                                  

       大于 大于等于   小于    小于等于  等于   不等

 

       4.赋值运算符:=

          注意将 = 和 ==区分开来。= 是赋值    == 是判断是否相等

 

九、程序的三种结构:

顺序结构:自上而下的逐行执行代码。

分之结构:根据逻辑判断,有选择的执行其中某部分代码。

循环结构:根据逻辑判断,重复执行某个代码块。

1. 顺序结构:代码块中没有用if、switch、for、while等的,都是顺序结构

2.分支结构:if单分支

                 语法:

                        if(表达式){

                               代码块;

}

 

二路分支(双分支)

                 语法:

              if(表达式){

                     代码块1;

}else{

       代码块2;

}

       多路分支:

语法:

              if(表达式1){

                     代码块1;

}elseif(表达式2){

       代码块2;

}else if(表达式3){

       代码块3;

}

…….

…….//中间可以有n个 else if

……..

else{//最后这个else可有可无

       代码块n;

}

              Switch分支:

                     Switch是多分支语句,表达式如下:

              switch(表达式){

              case 值1:代码块1;

                             break;     //break不是必须的,根据情况而定

              case 值2:代码块2;

                             break;

              ……

              …...

              ……

              default:代码块n;  //default可有可无

}

              3.循环结构:

                  while循环:

语法:

      while(循环条件){

             代码块/循环体;

}

                  do…while循环:

语法:

      do{

             代码块/循环体;

}while(循环条件);

 

 

 

                 for循环:

语法:

      for(表达式1;表达式2;表达式3){

             循环体;

}

说明:

      表达式1:初始化变量

      表达式2:循环条件

      表达式3:循环增量

              

                            案例三: 输出1900--2015之间所有的闰年

publicclass Test1{

         public static void main(String[] args){

                   for(inti=1900;i<=2015;i++){

                            if((i%4==0&&i%100!=0)||(i%400==0)){

                                     System.out.println(i);

                            }

                   }

         }

}

循环的嵌套:

            循环之间可以相互嵌套,比如九九乘法表的打印,星号金字塔的打印。

                   例子:星号金字塔

              public class Test1{

                            publicstatic void main(String[] args){

                            for(inti=1;i<=5;i++){

                                     for(intj=1;j<=5-i;j++){

                                              System.out.print("");

                            }

·       

                                     for(int k=1;k<=2*i-1;k++){

                                              System.out.print("*");

                            }

                           

                            System.out.println();

                   }

         }

}

       循环的控制 break和continue:

break语句除了可以用在switch语句中,还可以用在循环体中。在循环体中遇见break语句,立即结束循环,跳到循环外,执行循环结构后面的语句。break语句用于结束整个循环。

public static void main(String[] args){

                   for(inti=1;i<=5;i++){       

                            if(i==3){

                                     break;

                            }

                            System.out.println(i);

                  }

         }

}

结果1,2

continue语句用于结束本次循环,即在循环体中遇见continue语句,则循环体中continue语句后面的语句不会执行,接着进行下一次循环的判定。

public class Test1{

         public staticvoid main(String[] args){

                   for(inti=1;i<=5;i++){       

                            if(i==3){

                                     continue;

                            }

                            System.out.println(i);

                   }

         }

}

结果:1,2,4,5

 

 

十、数组:

       数组的定义:类型[] 数组名;//常用         int[]a; double[] b;char[] c

         类型 数组名[];// int a[](常用)

 

1.一维数组

int[] a = {1,2,3,4,5};

2.  多维数组

int[][] a;

a = new int[2][3];//2代表a中有两个一维数组  3代表一维数组中有3个值

 

 

 

数组的初始化:

静态:

int[]a = {1,2,3,4,5};

动态:

int[] a = new int[5];

         3.访问数组元素:

                   下标的理解:

数组中每个元素都有一个下标,下标从0开始:访问数组元素可以根据数组下标。

         4.数组的应用:

个人认为,数组应用中最经典的是冒泡排序,我列举以下两个案例(从大到小和从小到大)

            从大到小:(标红为核心重点)

public class Test1{

     publicstatic void main(String[] args){

              int[]a = {55,23,89,64,85};

              //从大到小 冒泡排序

              for(int i = 0;i<a.length-1;i++){

                       for(intj=0;j<a.length-1;j++){

                                 if(a[j]<a[j+1]){

                                          //交换

                                          int x= a[j];

                                          a[j] =a[j+1];

                                          a[j+1]= x;

                                 }

                       }

              }

 

              //输出数组

              for(inti=0;i<=a.length-1;i++){

                       System.out.print(a[i]+"  ");

              }

              System.out.println();

     }

}

从小到大:

public class Test1{

     publicstatic void main(String[] args){

              int[]a = {55,23,89,64,85};

              //从小到大 冒泡排序

              for(int i = 0;i<a.length-1;i++){

                       for(intj=0;j<a.length-1;j++){

                                 if(a[j]>a[j+1]){

                                          //交换

                                          int x= a[j];

                                          a[j] =a[j+1];

                                          a[j+1]= x;

                                 }

                       }

              }

              //输出数组

              for(inti=0;i<=a.length-1;i++){

                       System.out.print(a[i]+"  ");

              }

              System.out.println();

     }

}

5.在数组中有一个重要的概念,栈和堆:

       栈和堆是分析数组内存的重要概念以下图为例

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页