黑马程序员-刚开始接触java时

来源:互联网 发布:心事谁人知 黄乙玲 编辑:程序博客网 时间:2024/05/20 00:14

---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

好的,android的学习告一段落了,今天开始复习java了,在学习视频教程的同时,多做些习题,最后复习完后,做些项目。

必须背背记一下!

今天从14:19开始学习:

1.好的,开始学习,会的就不用做笔记了,主要是查漏补缺。

Java是一次编译,到处运行的。

注意C语言编写的源程序的扩展名为.c

Java跨平台的根本原因:

只要一个相应的平台上有一个java字节码解析程序,我们的java字节码就可以在这个平台上解析执行。

Java源文件-编译之后成为.class字节码文件--不同平台的java字节码解析程序--在不同平台上执行。

注意一点:并不是所有的操作系统都有java字节码解析机器,也就是说,我们的java字节码文件并不能在所有的操作系统上运行。

2.我们平常所说的java有三个方面的意思:

一种开发语言,一套开发工具,一个运行环境。

开发工具与运行环境的搭建:

这个需要重点了解一下。

首先是java开发工具包:简称为JDK

里面包括:

开发工具,比如说javac以及基础核心类。

运行环境,java及基础核心类。

JDK按照java的应用环境划分为:

J2SE:标准版

J2EE:企业版

J2ME:手机等微型设备

可以在sun公司的网站http://java.sun.com下载。

3.JDK的目录:

Bin目录:

它下面放的都是一些可执行的文件,像javac这个java编译工具。Java.exe就是javawindows底下执行的工具,也就是java虚拟机。

demo目录是sun公司提供的一些例子程序。

操作系统上定义的环境变量:

在操作系统中我们可以采取两种方式来查看定义的环境变量,一种是在doc窗口中打上set,然后就可以查看到各种环境变量信息。还有一种就是在我的电脑上查看这个。

在打开的环境变量中有上下两栏,上面一栏是用户变量,下面一栏定义的是系统变量。

系统变量是指对这个系统上所有的用户都有效。而用户变量是指只对某个用户起作用,看看是哪个用户登录的这个操作系统时设置的。

4.环境变量的设置:

Path环境变量:在安装JDK程序之后,安装目录下的bin目录会提供开发java程序的一些必备工具,比如说javacjava.exe。设置path环境变量就是为了让让操作系统找到指定的工具程序。

Classpath就是为了让java执行环境也就是java.exe找到指定的.class文件。主要看看里面有class在里面

Java_home就是找到java开发工具和执行环境。

我们在命令行窗口中如何定义前缀呢,可以这样做,cd C:\Program Files\Java按回车就可以了。

注意你一个类里面如果定义了多个class,那么在编译之后,也会出现多个.class文件。

还有:

比如这个类:

Test.java:

Public class Test1{
}
class Test2{

}

我们来编译一下,会出错。

因为这个类中有个public,那么这个文件的定义必须以public类来命名,应该叫做Test1.java

所以,我们在一个源文件中,不可以有两个public类。

5.运行时,必须要main方法。

Java Test

一个类要直接交给java解析器解析运行,那么这个类中必须要有一个叫做main的函数。

class Test{

public static void main(String[] args){

}

}

此时就可以运行了。

Main函数是java虚拟机首先启动的,要想打印数据,就可以在里面写上内容。

以上就是java程序编译运行的过程。

6.windows操作系统下运行的是exe程序。

在实际开发中,我们还需要掌握一些小工具或者会查阅相关的资料,也就是JDK文档。

这个资料,sun公司经常进行更新,我们可以通过它来了解最新的技术。但是JDK文档也有一个缺陷,它不支持模糊查询,必须要全名,而不是写一部分就会显示出来。

不过我这边的CHM格式的帮助文档,就可以支持模糊查询。

还有要了解一个工具,就是人家给我们的很多例子文件都是.class文件,就是已经编译好了的。我们想要查看源程序代码,可以进行反编译,返回到原来的java源程序。这个反编译工具叫做JAD

7.以后想了解人家的程序是怎么写的,可以利用这个工具。这个工具是一个命令行的工具。

好的,目前我已经下载了这个jad.exe

我们可以这样做:

进行命令行窗口,然后进入jad所在的目录cd  C:\Program Files\Java\jdk1.6.0_10\bin回车。

这也就是找到了jad文件。然后jad -s java

就是要反编译成java类型的文件。

就是可以这样cd  C:\Program Files\Java\jdk1.6.0_10\bin\jad -s java C:\Program Files\Java\javalesson\Test.class

这就是找到目录下的jad文件,然后-s javajavalesson目录下的Test.class文件反编译成java文件。

8.好的,开始java第二节课的学习:

Java的基本语法。

Java是区分大小写的。

语句分为结构定义语句,功能执行语句。比如说class Lesson2这就是一句结构定义语句,还有main方法也是一个结构定义语句,但是system.out.println是一条功能定义语句。功能定义语句要用一个分号进行结尾。

这个很好理解,有分号结尾的就是功能定义语句,而其他的就是结构定义语句,定义这个框架的。

我们这边采用UltraEdit来设计。

9.java标识符:

 

Java的标识符,比如说我们定义的类,方法,变量,传递给函数的参数等都是标识符,可以由字母,数字,下划线,美元符组成。但是不能以数字开头,不能是关键字。

Java关键字:

Java有很多关键字。

Java的标识符和关键字,大家不用去死记硬背。但要了解。

Java常量:

常量就是在程序中持续不变的值。

常量分为:

整形常量:比如12就是十进制,0x12就是一个十六进制的,012就是八进制整数

长整形常量

浮点数常量:就是小数常量,后面有点的。

布尔常量:只有两种取值,truefalse

字符常量:

字符串常量:就是由一串连续的字符组成的字符串。

Null常量。

注意浮点数就是小数!

Java变量:

变量就是系统为程序分配的一块内存,在这个内存中可以存储各种不同的数据。

10.java中的变量类型:

我们可以采用byteshortintlong来定义整数类型。使用floatdouble来定义浮点小数类型。

注意如果是整数就用上面四个定义,如果是小数,就用floatdouble来定义。

然后还有其他的,比如字符型,布尔型。

注意:byte占用一个字节,是占用最小的。

     Short占用两个字节,int占用四个字节,long占用8个字节。

      Float占用四个字节,double占用八个个字节,

      Char占用两个字节,boolean占用一个字节。

byte占用一个字节,数字大小为-2727-1

short占用两个字节,数字大小为-215215-1 

int占用四个字节,数字大小为-231231-1 

long占用八个字节,数字大小为-263263-1 

float占用四个字节,数字大小为1.4E-45~3.4E+38 , -1.4E-45~-3.4E+38 。用二进制的指数形式表示一个浮点数的格式,如:101*22  , 101*2-3

double占用八个字节,数字大小为4.9E-324~1.7E+308, -4.9E-324~-1.7E+308 

char占两个字节,数字大小为0216-1,是unicode编码。字符的本来面目,我们为什么可以直接将一个数字赋给字符变量。

Boolean占一个字节,其取值只有两个,truefalse

Byte,short ,int ,long,float,double,char,boolean8种基本数据类型。

11.比如我们输入:

class Lesson{

public static void main(String[] args){

char ch=97;

System.out.println(ch);

}

}

然后编译运行,打印出a.为什么打印出a而不是97呢。因为char是字符型,而不是数值型,数值型只有byte,short,int,long,float,double.所以会把97当做是一个字符型来处理,而不是数值型。而97对应的是字符a,所以在屏幕上打印出了a

98对应的是字符b99对应的是字符c

其实有一个更简单的,就是用单引号引入各个字符的本身:

比如:class Lesson{

public static void main(String[] args){

char ch='a';

System.out.println(ch);

}

}

打印出a。注意,我们这边讲得是字符型。还有用单引号

12.注意它们之间的类型转换。

我们要注意比如数值型它们取值的范围大小。比如byte它取值的最大值就是+27.

如果我们定义:byte b=29;

然后编译一下,会报错。

还有一种情况我们定义一个float类型的变量。

例如:

float f=3.5;,编译一下程序,也会报错,可是float的取值远大于这个啊,没错,但是3.5是一个double类型的。

但是如果我们想把3.5作为一个float类型的,那该怎么办呢?我们可以这样做,在后面加上一个f

Float f=3.5f ;注意,它表示的值还是3.5

所以注意byte类型最大是+27,而float定义小数可以再后面加上一个f,比如说3.5f表示的就是3.5,和double的意思是一样的。Char字符类型,可以这样char c='a';

13.类型转换分为隐式转换....

比如:

Int x=a;

Byte b=(byte)x;//那么x就变成了一个byte类型的变量。

我们在什么时候需要进行强制类型转换。当我要一把一个变量类型中的值,赋给另外一个变量的时候,就需要进行强制类型转换。

上面这句话很重要,一种变量的值是这么多,我们要将其赋给另一种不同类型的变量,你不能直接就赋给它,要进行强制类型转换,因为它们的类型不一样。

我们再来看看一个类型转换的问题:

Byte b=3;

B=b-3;//现在的b等于原来的b减去3.

然后编译一下程序,出错了,因为不能把一个byte类型的值减去一个int类型的值。

---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------