J2SE学习笔记(一)

1、jdk环境变量配置

for win:

假设jdk安装于D:\Java\jdk1.8.0_25下

JAVA_HOME   D:\Java\jdk1.8.0_25

Path        %JAVA_HOME%\BIN

CLASSPATH   .;D:\Java\jdk1.8.0_25\lib\tools.jar;D:\Java\jdk1.8.0_25\lib\dt.jar

for linux:

默认情况下

假设jdk安装于abc用户下,/home/abc/java/jdk1.8.0/

通过home下的.bash_profile配置

PATH=.:$PATH:$HOME/bin:/home/abc/java/jdk1.8.0/bin

导出PATH环境变量

export PATH


部分Linux系统,比如我目前用的Fedora自带的是OpenJDK,故自己安装了龟壳的JDK,可以利用alternatives将龟壳JDK设为默认JDK

具体方法为(来源自网上):

[root@localhost ~]# /usr/sbin/alternatives --install /usr/bin/java java /usr/java/bin/java 3

其中最后的3是优先度,越小的越优先

[root@localhost ~]# /usr/sbin/alternatives --config java

这里选择龟壳的java作为默认的java

可以通过alternatives --display java来查看配置


开发中可以只设置当前用户的环境变量:

#vi /etc/profile

在最后加上

# Java config
export JAVA_HOME=/usr/java
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin


source或重启即可

除了分隔符一个是逗号一个是冒号外,基本和windows一样

其中,环境变量设置win平台以;作为分隔符,linux平台以:作为分隔符


最后,可以通过

java -version
javac -version
javap -version

来检查环境变量是否设置成功


2、java程序的简单编译和运行

编译:javac -d 目录 文件名

运行:java -cp 目录 类名


3、java源文件的命名规则:

a). 文件名必须以.java为后缀

               b). 如果源文件中定义了public修饰的类,主文件名必须与类名相同。

                (一个Java源文件,可以包含多个类定义,但一个Java源文件最多只能包含一个public修饰的类。)

        

4、java代码注释

单行注释 //

        多行注释/*  */

文档注释/** */

@author 作者

@version 版本

@param 参数

@return 返回值

@see 参见

@exception 抛出异常的类型

@throw 抛出异常的类型

javadoc -d 路径 java源文件或包

生成文档注释可以支持html代码,以确保美观


5、java的数据类型——java是强类型语言

a)整型:byte、short、int、long

(1). 当我们直接给出一个整数值时,它默认是int型,系统绝不会把它当成long处理。

      (2). 当我们直接给出一个在指定取值范围内的整数时,系统也可把它当成byte、short使用。

      (3). 如果你系统把一个整数当成long使用,应该在整数后添加l或L。

      10进制 默认

      16进制 Ox或0X开头 0~9、a~f

      8进制 O开头 0~7

      2进制(jdk1.7+) 0b或0B开头 0~1


b)浮点型:float、double

java中默认浮点型是double,除非在结尾加上f,如1.23f

float :4个字节,32位。大概只能装7~8位有效数字

      double:8个字符,64位。

      浮点型有3个特殊值:

          正无穷大  Infinty    正数除以0,得到无穷大。

            ● 所有正无穷大都相等。

          负无穷大  -Infinity  负数除以0,得到无穷大。

            ● 所有负无穷大都相等。

          非数  NaN :0 除以0, 对负数开方等。

非数与任何数都不相等,包括它自己!


c)字符型:char

Unicode字符集,char占2个字节,16位, 65536种状态。

字符型的值,应该用单引号引起来(双引号引起来的是字符串)

字符型有3种形式:单引号的字符、转移字符、Unicode编码(\uXXXX)


d)布尔型:boolean:true、false


类型转换:

byte → short → int → long → float → double

                        ↗

                      char (0~65535)

                      

6、java运算符

a)算数运算符

b)赋值运算符

c)位运算符

d)逻辑运算符

&&与&的区别何在?

      对于“求与”来说,当第一个操作数已经是false时、结果肯定是false,第二个操作数根本不会影响结果。

          &&,根本不会去计算第二个操作数。

          &, 它依然会去计算第二个操作数。

    ||与|的区别何在?

      对于“求或”来说,当第一个操作数已经是true时、结果肯定是true,第二个操作数根本不会影响结果。

          ||,根本不会去计算第二个操作数。

          |, 它依然会去计算第二个操作数。

e)三目运算符


7、java流程控制

a)顺序

b)分支

if()else if(){}else{}

switch(){case xxx:……;break;……default:XXXX;}

                        (从1.7+,switch控制表达式允许String)

c)循环

for / while

(break、continue)


8、java数组

定义数组时要么指定数组的长度(动态初始化),要么指定数组的初始值(静态初始化)

动态初始化:int[] arr=new int[5];

静态初始化:int[] arr2={1,2,3,4,5};

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

数组遍历:for(int a : arr){System.out.println(a);}

数组类型的变量,只是一个引用变量。定义数组变量,仅仅只是定义了一个指针。

常见的两个数组异常:

空指针异常(NullPointException)

数组索引越界异常(ArrayIndexOutOfBoundsException)

                Java.util.Arrays类的常用方法:

                 binarySearch() 使用二分搜索法来搜索指定的数组

                 copyOf()   复制指定数组,如副本长度不同,截取或用 初始值(0、null、false) 填充,以使副本具有指定的长度

                 copyOfRange()  将指定数组的指定范围复制到一个新数组

                 equals()   比较数组

                 fill()         用指定的值填充数组

                 sort()         数组排序

                 toString()     返回指定数组内容的字符串表示形式

你可能感兴趣的:(java,J2SE,学习笔记)