黑马程序员--Java基础知识总结

来源:互联网 发布:书籍制作的淘宝店 编辑:程序博客网 时间:2024/05/29 08:29

    
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
 

Java基础知识总结
 写代码:
 1,明确需求.
 2,分析思路。
 3,确定步骤。
 4,代码实现。
 

 -----------------------------------------------------------------------------------------------
 一:java概述:
 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;
 1994年将Oak语言更名为Java;
 
Java的三种技术架构:
 JAVAEE:Java Platform Enterprise Edition,企业版,为开发企业环境下的应用程序,主要针对web程序开发;
 JAVAME:Java Platform Micro Edition,小型版,为开发电子消费产品或嵌入式设备提供了解决方案(现在用的是安卓Android);
 JAVASE:Java Platform Standard Edition,标准版,为普通的桌面应用程序的开发或商务应用程序提供解决方案(超市的收银),是其它两者的基础;
 Java 5.0之前分别为:J2SE、J2ME、J2EE。
 

1,JDK:Java Development Kit,java的开发工具包,包括JRE和Java开发工具。
 2,JRE:Java Runtime Environment,java运行环境,java运行的所需的核心类库和JVM(java虚拟机)。
 3,Java语言特点,开源性,跨平台。跨平台原理是需要运行java程序的操作系统上,先安装一个java虚拟机,由jvm来实现java程序的运行。Jvm是不具备跨平台的。
 4,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
 环境变量的配置:
     1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk
                           path=%JAVA_HOME%\bin
         2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin
 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
 classpath的配置:
     1):永久配置方式:classpath=.;c:\;e:\
         2):临时配置方式:set classpath=.;c:\;e:\
 
注意:在定义classpath环境变量时,需要注意的情况
 如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;
 如果指定了classpath,那么会在指定的目录下查找要运行的类文件。
 还会在当前目录找吗?两种情况:
         1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
         2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。
         一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。
 
4,javac命令和java命令做什么事情呢?
         要知道java是分两部分的:一个是编译,一个是运行。
         javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
         java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
         一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
 ----------------------------------------------------------------------------------------------
 二:java语法基础:
 
1,关键字:其实就是某种语言赋予了特殊含义的单词。
         保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。例如:goto,const。
 2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;
         注意:
         1),数字不可以开头。
         2),不可以使用关键字。
 3,常量:是在程序中的不会变化的数据。
 4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
         作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
         特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。
 
变量空间的开辟需要什么要素呢?
         1,这个空间要存储什么数据?数据类型。
         2,这个空间叫什么名字啊?变量名称。
         3,这个空间的第一次的数据是什么? 变量的初始化值。
 
变量的作用域和生存期:
 变量的作用域:
     作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
 生命周期:
     变量从定义的位置开始就在内存中活了;
     变量到达它所在的作用域的时候就在内存中消失了;
 
数据类型:
         1),基本数据类型:byte、short、int、long、float、double、char、boolean
        2),引用数据类型: 数组、类、接口。
 级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
 自动类型转换:从低级别到高级别,系统自动转的;
 强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;
 
运算符号:
         1)、算术运算符。
                 + - * / %   %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
                 +:连接符。
                 ++,--
         2)、赋值运算符。
                 =  += -= *= /= %=
         3)、比较运算符。
                 特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
        4)、逻辑运算符。
                 &  |  ^  !   &&   ||
                 逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。
                 &: 只有两边都为true结果是true。否则就是false。
                 |:只要两边都为false结果是false,否则就是true
                 ^:异或:和或有点不一样。
                          两边结果一样,就为false。
                          两边结果不一样,就为true.
                 & 和 &&区别: & :无论左边结果是什么,右边都参与运算。
                                           &&:短路与,如果左边为false,那么右边不参数与运算。
                 | 和|| 区别:|:两边都运算。
                                         ||:短路或,如果左边为true,那么右边不参与运算。
         5)、位运算符:用于操作二进制位的运算符。
                 &  |  ^
                <<  >>   >>>(无符号右移)
       
 5,语句。
         If  switch  do while   while  for
        这些语句什么时候用?
         1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。
         但是建议使用switch,效率相对较高。
 

关于嵌套循环,就是语句中还有语句
for
规律:尖朝上的,可以改变条件,让条件随着外循环的变化
      尖朝下的,可以改变初始化,让初始化随着外循环的变化

class Demo1
{
public static void main(String[] args)
{
for(int x=0;x<0;x++);  //外循环,控制的行数
{
for(int y=0;y<0;y++);  //内循环,控制的列数
 System.out.print(*);
}

 System.out.println();
}

}
例1


九九乘法表
class ForDemo
{
 public static void main(String[] args)
 {
 for(int x=1;x<=9;x++)
  {
  for(int y=1;y<=x;y++)
   {
  System.out.print(y+"*"+x+"="+y*x+"\t");  //表示制表符空格的意思
  }
  System.out.println();//这一行用于换行作用,
  }


 }
}

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------

 

0 0