java基础1、2

      虽然以前也学过java,但这看完张老师讲的java基础前两部分后,仍从中发现了不少漏洞和掌握不全的地方,现整理如下:

     

        1Java虚拟机Java字节码解释程序。只要操作系统上安装了相应的Java字节码解释程序,Java字节码文件就可以正确运行。即“一次编译,到处运行”。

        2、通常说的Java有三个方面的内涵:是一种编程工具,是一套开发工具,是一个运行环境

        3、什么是JDK:包括开发工具,Javac及基础核心类和运行环境。

        4j2sdk文件夹下bin中的Javac.exe是用于将Java源文件编译成Java字节码文件的编译工具。Java.exe用于将Java字节码文件解释执行的解释程序。(以上在windows系统下)。

        5、在windows系统下查看环境变量的两种方法:一种是在命令行中键入set命令,另一种是常用的通过右击“我的电脑”来然后点“高级”来查看。

        6、设置环境变量两种方法:a、在命令行中键入set空一格后,以:变量名=环境变量值的形式进行设置,但我们在命令行窗口中设置的环境变量,只对该命令行起作用。b、在环境变量窗口中进行设置,对以后的所有程序及命令行窗口都起作用,不会影响之前启动的程序及命令行窗口。另外,在用户环境变量中的设置,需在注销重新启动后才有效。

       7path环境变量的作用:当我们要执行某个命令时,操作系统会首先在当前目录下进行查找,若没有找到,操作系统会沿着path环境变量所指定的目录依次进行查找该命令文件,并以最先找到的为准。

当执行Java时常遇到的两个问题:1Java不是可执行的程序2、在执行某个程序时提醒我们找不到某个文件第一个问题的原因:在当前目录及path环境变量所指定的目录下均找不到Java.exe这个可以执行的文件。第二个问题的原因:因为操作系统会沿着path环境变量所指定的目录依次进行查找该命令文件,并以最先找到的为准。当最先找到的Java命令文件(Java.exe)是有问题的时候,便出现了上面的第二个问题。

 

       8、在命令行中键入:Java –verbose 来查看使用的那个jdk

 

       9、与path环境变量的作用类似,classpath环境变量指出Java虚拟机查找class文件的路径。若我们设置了classpath环境变量,Java虚拟机便不再当前目录下查找class文件。但设置的classpath环境变量值后加上“;.”后便便可以在当前目录下查找class文件了,其中的“.”指代当前目录。此外设置的classpath环境变量值中不应含有空格及中文自符。

 

   10、反编译程序:jad.exe,它是在命令行中工作的,首先达到jad程序所在的目录,然后键入:

jad –s java来设置输出文件为.java格式的。在其后,输入所要反编译的class文件的路径点回车,便可在jad程序所在目录下生成相应的Java文件。也可使用界面化的FrontEnd程序,进行反编译,它是依托于jad程序的。

     

      11、一些常用的转义字符:

  “/r”:代表接受键盘输入,相当于按下了回车键

  “/n”:表示换行

  “/t”:为制表符

  “/b”:为退格键,相当于BackSpace

  “/’”:为单引号

  “/””:为双引号

  “//”:是一个斜杠“/

       12char类型占两个字节,数值为0-2^16-1

       13表达式的数据类型自动提生

   若一个操作数是int型,所有的byte型、short型和char的值将提升到int型;

   若一个操作数是long型,计算结果就是long型;

   若一个操作数是float型,计算结果就是float型;

   若一个操作数是double型,计算结果就是double型;

 

       14、一个表达式中,若有字符串用加号(+)与其它类型的数据相加,结果就是该字符串与其他类型的数据相连,生成新的字符串。

例如:System.out.print(‘a’+1);打印结果为98,而System.out.print(“”+‘a’+1);打印结果为a1.

       15java不允许变量的嵌套定义,变量有自己的生命周期及作用域。

public classTestScope

{

     public static void main(String args[])

{

        int x=12;

        {

            int q=96; //xq都可用

            int x=3;   //错误的定义,java中不允许有这种嵌套定义

            ……

        }

        q=x;        //错误的行,只有x可用,q超出了作用的范围。

     }

}

       16、在使用浮点数时,因为浮点数有精度,不要用等号去确定某浮点数。一般要用大小号来判断。

       17、使用new产生的数组和对象放在堆内存中,堆中有垃圾回收器,而相应的引用变量则放在栈中,引用变量不再被使用后会被释放,堆中的数组和对象再无引用变量指向时会变为垃圾,但此时仍占据着内存,然后在某一时刻被垃圾回收器回收释放。

       18、声明(非定义)数组时不能指出数组的长度,否则会在编译时出差。

       19java中并没有真正的多维数组,只有数组的数组,即数组的每一元素也都指向一个数组,java中的多维数组不一定是规则的矩阵形式。例如可以这样定义:

                                          int[][] xx=new int[3][];

                                          xx[0]=new int[2];

                                          xx[1]=new int[3];

                                          int[2]=new int[1];

若要定义的二维数组是规则的矩形,则可在一句中定义:int[][] xx=new int[3][2];

       20、常用的用于操作数组的两个函数:(Arrays类中)

public static void sort(byte[] a):将数组降序排序。

public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):用于数组的拷贝。第一个参数指原数组;第二个参数指原数组中要拷贝的起始位;第三个参数指目标数组;第四个参数指拷贝到目标数组的起始位;最后一个参数指拷贝长度。

 

 

 

  

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值