代码改变世界

【随笔】Java基础内容复习——最忌中断

2018-04-10 15:39  wild_cat  阅读(224)  评论(0编辑  收藏  举报

2018年年初开始学习java,坚持学习了一个月之后,因为一件事情中止后,期间又再过了春节假期。如今想要继续学习,发现复习需要花费很多精力才能重拾已学过的东西。

复习内容为:

1、JAVA编译执行过程

1) JAVAC是java的编译程序,即将test.java编译成test.class 字节码文件

2) JAVA是java的解释程序,即将test.class 字节码文件进行解释执行

2、环境变量

1) 环境变量查看是命令行中使用set;

2) path环境变量的作用是提供os寻找和执行应用程序的路径,当OS在当前目录没有找到要执行的程序和命令时,就会按照path环境变量指定的目录依次去找。环境变量多路径之间;隔开,linux是:隔开。

3、main函数含义

main函数各部分组成的含义:

1)public static void main(String[] args) {}:Java可执行程序入口

2)  static:Java关键字,声明是一个静态的

3)  void:返回值类型,表示无返回值

4)  main:非Java关键字,但是是Java可运行程序的入口标识

5)  String[]:数据类型为字符串的数组

6)args:参数名称,此处为形式参数

7)  System.out.println("Hello World!"):执行System类下静态变量out的println方法,接受字符串类型参数Hello World!作用:打印接收的参数到控制台,并换行。  

public static void main(String[] args) {

    System.out.print("hello world");

}

4、三种注释方式

单行注释      // TODO Auto-generated method stub

多行注释       /*

           */

文档注释       /**

             *

             */

5、变量长度与类型转换

1)八种基本类型全部是小写;

2)小数常量的默认类型为double 型,即占8个字节。

分类

Datatype

bit长度

隐式转换规则

整型

byte

8位(1字节)

1)     所有的byte 型、short 型和char 的值将被提升到int型。

2)     如果一个操作数是long 型,计算结果就是long 型;

3)     如果一个操作数是float 型,计算结果就是float 型;

4)     如果一个操作数是double 型,计算结果就是double 型。

short

16位(2字节)

int

32位(4字节)

long

64位(8字节)

浮点型

float

32位(4字节)

double

64位(8字节)

字符型

char

16位(2字节)

Java是unicode编码

 

boolean

 

 

6、变量作用域

在定义变量的语句所属于的那层大括号{}之间,就是这个变量的有效作用范围

根据声明的位置:

成员变量:——类内方法外

局部变量:——方法内,作用域以{ } 为范围界限

静态变量:类是静态变量,成员变量是非静态变量???

7、流控制程序

switch详见 switch穿透效果随笔;

8、内存分配和释放规则

1) 八种基本类型变量和三种引用变量定义时分配在栈内存中;

2) New出来的对象和数组放在堆内存中;

3)栈中可以定义一个引用变量存在对象或数组的首地址,以后可以通过这个引用变量访问对象和数组的。引用变量在程序运行到作用域结束时释放。

4)堆内存中的对象和数组即使运行到作用域外也不会释放。当没有引用变量指向它时,会变成垃圾,不能再被使用。需要靠垃圾回收清理。

5)基本类型占1块内存;引用类型占2块内存

9、遗留问题

    public static void main(String[] args) {

       int a =2;

       int test1= 3*a++ + a ;

       System.out.println("a: "+a);

       System.out.println("test1: "+test1);

       a =2;

       int test2= a + 3*a++;    //shun xu test

       System.out.println("a: "+a);

       System.out.println("test2: "+test2);

       a =2;

       int test3= a + 3*(a++);   //() test

       System.out.println("a: "+a);

       System.out.println("test3: "+test3);

      System.out.println("=================================");