黑马程序员Java__基础

------- android培训java培训、期待与您交流! --------

java语言的三种技术架构:

JEE(Java Platform Enterprise Edition)企业版:是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。
JSE(Java Platform Standard Edition)标准版:是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。比如Java版的扫雷。
JME(Java Platform Micro Edition)小型版:是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。

2.java具有很好的跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。

原理:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。比如在windows系统上有win版本的JVM,linux系统有lin版本的JVM,Mac系统有Mac版的JVM。因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。

3.JRE与JDK

JRE(Java Runtime Environment Java运行环境)包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE 即可。

JDK(Java Development Kit Java开发工具包)JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe) 运行工具(java.exe)等。

4.环境变量的设置:path 路径,是java编译时需要调用的程序(如java,javac等)所在的地方 D:/JDK_1.6.2/bin;。classpath 类的路径,在编译运行java程序时,如果有调用到其他类的时候,在classpath中寻找需要的类。

5,定义类用关键字 class,如果类为public,则文件名必须与类名相同,且一个程序中有且只有一个public类。

public static void main(String[] args)程序的入口,主方法,固定格式。

1.java语言的组成部分:关键字::被Java语言赋予了特殊含义的单词,关键字中所有字母都为小写。

        标识符:由26个英文字母,0~9个数字,下划线以及美元符号$,并且首字母不能为数字,也不可以使用关键字,java中严格区分大小写的。java中的名称规范:包名:多单词组成时所有字母都小写,xxxyyyzzz。类名接口名:多单词组成时,所有单词的首字母大写,XxxYyyZzz。变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写,xxxYyyZzz。常量名:所有字母都大写。多单词时每个单词用下划线连接,XXX_YYY_ZZZ。

       注释:Java中的注释格式:单行注释;格式://注释文字。多行注释;格式:/* 注释文字*/。文档注释;格式:/** 注释文字*/。

对于单行和多行注释,被注释的文字,不会被JVM( java虚拟机)解释执行。对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。注释是一个程序员必须要具有的良好编程习惯。初学者编写程序可以养成习惯:先写注释再写代码。

       常量与变量:常量表示不能改变的数值。变量的概念:内存中的一个存储区域;该区域有自己的名称(变量名)和类型(数据类型);该区域的数据可以在同一类型范围内不断变化。定义变量的格式:数据类型变量名 = 初始化值。数据格式转换:自动类型和转换和强制类型转换;自动数据类型转换:表达式的数据类型自动提升,所有的byte型、short型和char的值将被提升到int型;如果一个操作数是long型,计算结果就是long型;如果一个操作数是float型,计算结果就是float型;如果一个操作数是double型,计算结果就是double型。强制类型转换:变量=(类型)运算。

        运算符:算术运算符;赋值运算符;比较运算符;逻辑运算符;位运算符;三元运算符。

        程序流程控制:判断结构;选择结构;循环结构。

if语句三种格式:
1.   if(条件表达式)           2. if(条件表达式)                3.if(条件表达式)

      {                                   {                                        {
       执行语句;                      执行语句;                      执行语句;   
      }                                    }                                        }
                                          else                                   else if(条件表达式)

                                           {                                        {
                                             执行语句;                          执行语句;

                                            }                                        }

                                                                                     .....

                                                                                     else

                                                                                    {  执行语句;

                                                                                      }

switch语句                               循环结构:while,do while,for                for循环:     
格式:                                           while语句格式:                               for(初始化表达式;循环条件表达式;循环后的操作表达式)
switch(表达式)                                 while(条件表达式)                                 {

{                                                          { 执行语句;                                                   执行语句;
case 取值1:                                         }                                                         }
执行语句;                                         do while:
break;                                                do
case 取值2:                                           {
执行语句;                                               执行语句;
break;                                                   };while(条件表达式)
…...                                                      do while特点是条件无论是否满足,
default:                                                   循环体至少被执行一次。
执行语句;
break;

break(跳出), continue(继续);break语句:应用范围:选择结构和循环结构。continue语句:应用于循环结构。这两个语句离开应用范围,存在是没有意义的;这个两个语句单独存在下面都不可以有语句,因为执行不到;continue语句是结束本次循环继续下次循环;标号的出现,可以让这两个语句作用于指定的范围。

函数的定义:函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。函数的格式:

修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2,)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。参数类型:是形式参数的数据类型。形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。实际参数:传递给形式参数的具体数值。return:用于结束函数。返回值:该值会返回给调用者。函数的重载:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。如:

//返回两个整数的和int add(int x,int y){return x+y;}

//返回三个整数的和int add(int x,int y,int z){return x+y+z;}

//返回两个小数的和:double add(double x,double y){return x+y;}

数组的定义:同一种类型数据的集合。其实数组就是一个容器。数组定义的格式:

元素类型[] 数组名= new 元素类型[元素个数或数组长度];    元素类型[] 数组名= new 元素类型[]{元素,元素,……};

数组内存结构:ava程序在运行时,需要在内存中的分配空间。为了提高运算效率,有对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内 存管理方式。栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。

堆内存:数组和对象,通过new建立的实例都存放在堆内存中;每一个实体都有内存地址值;实体中的变量都有默认初始化值;实体不在被使用,会在不确定的时间内被垃圾回收器回收。

数组操作常见的问题:1.数组脚标越界异常(ArrayIndexOutOfBoundsException);2.空指针异常(NullPointerException);

二维数组[][]:数组中有定义了数组。格式1:int[][] arr = new int[3][2];定义了名为arr的二维数组,二维数组中有三个一位数组,每一个一位数组中有两个元素,一维数组的名称分别为arr[0], arr[1], arr[2]。

        格式2:int[][] arr = new int[3][];二维数组中有3个一维数组,每个一维数组都是默认初始化值null。

       格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}}; 定义一个名称为arr的二维组,二维数组中的有三个一维数组,每一个一维数组中具体元素也都已初始化。


1.java特点:一次编译,到处运行。

2.sun公司的JDK(Java Development Kit)Java开发程序包

3.运用环境:1)  J2EE 企业级运用程序的开发

          2)  J2SE 普通标准运用程序的开发

          3) J2ME电子移动设备的运用程序的开发

4.dos窗口下:1)path=%path%;xxxxx是对path变量取值追加内容xxxxx

5.dos窗口下:java -verbose制定版本的jdk环境

6.main函数:public static void main(String [] args)   (注意String开头大写。)注意很多java的系统语句开头都是大写。

           {

           }

7.classpath是指定java运行目录设定的环境变量。缺省值是当前环境变量,可指定变量值,形式为dos编译环境下键入classpath=xxxx

8.当classpath环境变量指定了其他变量时,添加“;.”可以把当前目录包含到环境变量指定的目录下比如,set pathclass=c:\my java后,在当前目录下运行java编译程序java+类名会报错,但是如果键入set pathclass=c;\my java;.,就不会报错,运行当前目录下的类文件。

9.classpath=的右边:1.不能有空格,即使在windows下合法的;2.不能出现中文。

10.反编译工具:jad.exe(命令行工具) frontendplus(windows环境下的反编译工具,依赖jad.exe程序)。

11.java编译过程中,包含的子代码一般开头用一个TAB键键入一定的空格数。

12.每个类之间要另起一行,并用一个空行隔开,类名一般是单词,多个首字母的类,没个单词的首字母都要大写。

13.一个java源代码文件中可以有多个类,但是只有一个类能包含main,称为主类,按照惯例,主类名便为这个java源文件的文件名。

14.java是大小写敏感的语言,是只有格式的语言,一条语句可以多行书写,不一定一定要一行

15.java由结构定义语句+功能语句组成,单词间用空格、回车、TAB等键分割开就行。

16.对于字符串,相当于一个基本的单元,不能分割成多行来书写。当一个字符串过长不便于一行表达,可以将一个字符串分割成多个字符串如“ab”变为“a” + “b”。注意,+号前后有空格。

17.对语句注释的时候,单行可用//,多行可用/* */注释(/** */用于专门的生成java文档的注释)。一个/*  */内部不能再嵌套/* */,但是可以嵌套//的注释符。

18.标识符可以由大小写字母、数字、下划线、美元符号组成,但是不能是数字开头,不能是关键字。关键字有:abstract、do、implement、private、this、boolean、double、import、protected、throw、break、else、instanceof、public、throws、byte、extend、int、return、transient、case、false、interface、short、true、catch、final、long、static、try、char、fianlly、native、strictfp、void、class、float、new、super、volatile、continue、for、null、switch、while、default、if、package、synchronized。注意,nava没有sizeof、goto、const等关键字,但是也不能用他们做变量名。

19.字符常量用单引号‘’隔开。转译符:'\r'=回车键,'\n'=换行,'\t'=制表符table,'\b'=退格backspace,'\''=单引号,'\"'=双引号,'\\'=符号'\'。字符串产量用“”双引号括起来。null常量=引用为空。

20.整数型变量类型(byte short int long);浮点型(float double);字符型(char);布尔型(boolean)。类(class);接口(interface);当数据不确定的时候,又需要对数据进行存储的时候,就要定义变量。

21.cd+文件地址表示加载进入该文件地址,cd ..只向上退一级。

22.一般把小的数据类型(如byte)赋值给大的数据类型(如int)时,不用担心数据丢失,因为存储位置足够,但是如果把大数据类型赋值给小的数据类型时候,可能造成数据丢失,所以系统不允许运行。但是可以强制赋值。比如int x = 266; byte b; b = (byte)x;这个语句也能正常运行,但是得出的结果是x=10,而不是应该的x=266,所以要谨慎使用。

23.语句的表达式中,数据类型会自动提升。其他数据类型会被自动提升到更大的数据类型。

24. int x =5,y; float f = (float)x/2; System.out.println(f);计算出来的结果为2.5,而int x =5,y; f = x/2; System.out.println(f);计算出来的结果是2。

25.x/y默认是int型相处,结果取整数如:5/2=2。如果进行强制类型转换变成小数相除,可得到float型结果,如(float)5/2=2.5。

26取模运算分母为负数,,则负号忽略不计。如-5%2=-1;而5%-2=1。

27.相比&和|,我们实际工作中用的更多的是&&和||(短路与,短路或)。

28.位移运算适用数据类型有byte、short、char、int、long。低于int型的先自动转换为int型再位移。位移没有改变操作数本身的值,只是改变参与的运算的值。将一个数左移n位,就是等于乘以这个数的n次方。

29.equals比较的用法。a.equals(b)便是用equals比较a和b的句柄是否一样。

30.public公共和private私有是完全对立的两个关键字.public标识的数据可以各个类公用,而private只能是所在的类调用 。

31.强内聚(尽量让许多功能在类的内部独立完成,不让外部干预),弱耦合(提供给外部的方法调用尽量少)。

32.构造函数  它具有和类相同的名字;它不含有返回值;它不能在方法中用return语句返回一个值。

33.构造函数的重载  编译器可以根据不同个数不同类型参数判断出new 关键字产生对象时该调用哪个构造方法。格式:new 类名(参数列表);。

34.dos常见的命令:dir:列出当前目录下文件及文件夹;md:创建目录;rd:删除目录;cd:进入指定目录;cd..:退回上一级目录(cd.. ..就是退回上上一级目录,以此类推);cd/:退回根目录;del:删除文件;exit:退出dos命令行。

35.^异或运算符,a^b,你懂得...






--------- android培训java培训、期待与您交流! ----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值