Java基础

Java程序设计:

  Java 分为 JAVASE(标准版)、 J2EE(企业版)、 JAVAME (微型版)

  基础和高级
  基础: 语法,语义,关键字
  高级: 应用场景: 文件读取,多线程,网络,集合框架

  

  JDK
  java提供一套api(接口),
  32位操作系统,不允许装64,64位都可以装。
  装在默认位置 ,不需要配置环境变量,就可以启动java编辑器。

  

  ##  JDK、JRE、JVM  之间的区别与联系

  JDK(Java Development ToolKit):  Java开发工具包。是整个 java的核心,包含了java运行环境JRE(Java Runtime Envirnment),还有其他 java工具(javac、java、jdb等)以及Java基础的类库(即Java API 包括rt.jar)。

 

  JRE(Java Runtime Enviromental):Java运行环境。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行,包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具--编译器、调试器和其他工具。

 

  JVM(Java Virtual Mechinal)Java虚拟机。 JVM是JRE的一部分,是一个虚构出来的计算机。它是整个Java实现跨平台的最核心部分,(即不同的操作系统使用不同的JVM映射规则,完成了跨平台性)所有的Java程序会首先编译为.class的类文件,虚拟机就是执行这种类文件,将程序解释给本地系统执行。

 

   &&一句话描述: JDK就是Java开发工具包,包含JRE、JVM 等。  (他是开发者使用的)

            JRE就是Java运行环境,包含JVM。  (他是Java程序的用户使用的--即程序员使用的)

          JVM就是Java虚拟机。实现跨平台用的。

Eclipse

  1. 工作空间: 项目存放的地点
  2. package explorer :项目管理位置
  3. src: 存放源代码
  4. package: window文件夹,每个点都是一级目录

 

变量:

  注释
  1. 单行注释 // 绝大部分使用 单行注释
  2. 多行注释 /* */
  3. 文档注释 javadoc工具 生成一份类声明和方法声明


  内容
  1. 标识符,关键字
  2. 变量
  3. 运算符

  数据类型

  1. 数字型 整数 int 带小数

  2. 字符 char 单个字符,'A'

 

  标识符
  java规则 整个标识符由 0-9 a-z A-Z _ $,数字不能开头

  程序员的规则 每个标识符尽量有意义,不要使用无意义abcd a1,a2.

  用多个有意义的单词来组合。

  数值本身的类型


  运算符
  1. 赋值运算符 = : 将 = 右边的值赋值给=左边。
  2. 算数运算符 + - * / % 先*/后+-,使用()来提升优先级。

 

  Java关键字
  有系统 赋值有意义的单词,已经被系统占用,不允许使用成 标识符。类名,包名,方法名,变量名。

     

     

 

 

  变量要先声明后使用
  变量不允许重名(在生命周期中 有效范围)
  异常分为两种,编译期异常,运行期异常(程序运行过程中,崩溃了)


  变量基本结构
  变量类型 变量名(标识符) = 变量值


  命名习惯
  // 方法名,变量名 首字母小写 后面的所有单词首字母大写
  // 类名 项目名 每个单词首字母都大写
  // 包名 必须全部小写


  

  系统所有的类都有自己的包,在使用的时候,需要导入,将他的包名导入到improt中
  java.lang中的所有类 可以不用导入。

 

  基本数据类型
  数值型: 整数: short (双字节)   int (四字节)  long (八字节)
  小数: float (四字节)   double (八字节)
  非数值型 字符: char (2个字节 根据编码格式来算的) (GBK,GB2312,UTF-8)
  逻辑: boolean(1/8字节) true false 1位 1/8byte
  字节: byte (1字节)


  引用型数据类型  其他所有非基础类型都是引用型
  1. //常量的类型 1 int类型
  2. // 1l long类型
  3. // 1.0 double类型
  4. // 1.0f float类型


  基础数据类型转换
  1. 整数转换时,short>int>long 可以随意转型,long>int>short 强制类型转换,有可能溢出.
  2. 整数转换小数时,可以随时转换,小数转换整数时,需要强制类型转换,并且丢失小数位。
  3. 小数转换时,float>double 可以随意转换,double>float 强制类型转换.
  4. 非数值型转换时,都会先转成对应的整数型,转换回来的时候,需要强制类型转换.

 

  i++与++i
  1. i++ : 先做运算,然后再自身+1;
  2. ++i : 先做自身+1,在做运算;

  字符型 : a=97 A=65 0=48

 

   关系运算符
  < > == != >= <=
  关系运算符 最终 返回的是 boolean

 

   逻辑运算符

        

   break
  1. 跳出 switch 的分支结构
  2. 跳出 循环 结构 (跳出 内层循环)


  continue
  1. 结束本次循环,继续下次循环

 

数组

  数据结构
  数组,链表,队列,栈,树。。。

  定义
  在内存中开辟一块连续的空间
  一旦被初始化(new),就不能在增加或者删除空间。 

   声明
  1. 数据类型[] 标识符;
  2. 数据类型 标识符[]; 
 

   分配空间

   java中 除了基础数据类型,直接存放在栈中,其他的类型,都必须要使用new关键字来在堆中开辟空间。 


  
先定义,初始化后在使用.
  
1. 数组下标越界
  2. java.lang.
ArrayIndexOutOfBoundsException  -->数组越界

 

   基本数据类型和引用数据类型

   基本数据类型指向同一地址时,修改其中一个变量,不影响另外的变量。 (栈中)
  引用型数据类型 指向同一地址时,修改其中一个变量,另外一个变量也会被影响。(引用在栈,对象在堆)
  String例外。

   多维数组
  定义
  数据类型[][] 变量名 = new 数据类型[长度][长度];

    

  equals和==的区别:

  equals比较的是值,==比较的是地址。

  

 

 

 

 

 

posted @ 2017-06-19 20:53  雲淡、風輕  阅读(336)  评论(0编辑  收藏  举报