## Java的由来笔记 1.Java语言的创始人 James-Gosling 2.Java语言的公司 SUN Standford University Network--->SUN Microsystems 3.Java语言的几个重大事件 1995 正式发布 1996 正式发布了可以下载的JDK工具包 JDK1.0 1999 发布第二代Java平台 简称Java2 细化三个不同的版本 标准版 Standard Edition J2SE 企业版 Enterprise Edition J2EE 微型版 Micro Edition J2ME 2004 JDK1.5版本 添加很多新的特性 Java5 2005 Java6版本 2009 Oracle公司 74亿
#### 配置环境变量笔记 1.配置环境变量 Path 让工具可以在任何的位置都可以用 *classPath 不管源文件在哪儿 生成的class文件都统一的存储在配置的目录下 自己写了一个源代码文件Test.java 利用工具进行编译--->字节码文件 Demo.class (新的文件存储在哪儿?) *JAVA_HOME 目的是为了让路径的写法变得简单(相对路径的写法) JAVA_HOME C://program files/java/jdk path %JAVA_HOME%/bin 2.创建源文件的时候产生的问题 注意电脑设置的问题 是否有隐藏后缀名的情况
3.源文件和生成的字节码文件名字不一致 Test.java Demo.class
#### 数据类型笔记 基本数据类型 8个 4整型 byte short int long64 2浮点型 float 32 double 64 1字符型 char 16bit 2字节 Unicode编码 0-65535 1布尔型 boolean 1bit true false 引用数据类型 数组[] 类class(抽象类abstract class) 接口interface 枚举enum 注解@interface
基本数据类型 整型 byte 字节型------>8个bit 敏感单元位 1byte==8bit 0 0000000 256种组合 用第一个bit位置来记录符号 0正数 1负数 数值的范围 -2的7次方 ~ 2的7次方-1 -128 ~ 127 以上的其他整数类型 依次乘2 short 2字节==16bit 65526种 -32768 32767 int 4字节==32bit -2147483648 2147483647 long 8字节==64bit
float 32bit 4字节 0 000000000 00000000000000000000
字符? 'a' ' ' '我' '5' 字符中数字和整数的数字冲突 为了以示区分 每一个字符的前后各加单引号 为什么英文和符号和数字是一个字节 为什么中文是两个字节? ASCII 美国信息交换标准代码 a------00000000------97 a------00000000------97 a------00000000------97 字母 数字 符号 26*2 10 100 字节256种组合 #### 变量与常量介绍笔记
常量 常量代表是程序运行过程中 不能再次改变的值 常量的作用 1.固定的值 代表计算过程中经常用到的值 便于程序计算 圆周率 3.1415926..... 2.用来代表一个含义 UP==>1 2 3 4分别代表 上下左右四个方向 什么样的值算是常量??? 1.固定不变的值 算作常量 1 3.14 'a' true 可以认为所有基本类型的值 固定不变 是常量 2.特殊的常量 "abc"--->String String是一个引用数据类型,它的值很特殊 可以简单的视为常量 3.自己创建的空间 存储一个值 让他固定起来 不能改变 final int UP = 1;
变量 变量指的是 程序执行过程中可以改变的 变量是一个内存空间(小容器) 变量空间在创建(声明)的时候 必须指定数据类型 变量空间的名字 变量空间 里面只能存储一个内容(值 引用) 变量空间内的内容可以改变
创建变量是 需要注意命名的问题 命名的规则 字母(大小写敏感) 数字(0-9不允许开头) 符号(英文符号 _ $) 中文(不推荐) 命名的规约 类名字 首字母大写 如果两个以上的单词 所有首字母都大写 SuperPerson 变量名 首字母小写 如果两个以上的单词 之后的首字母大写 superPerson 遵循驼峰式命名规约 所有名字都需要见名知义 为了增强程序的可读性 变量如何创建/声明 数据类型 变量名字; int a; String b; 需要注意: 变量是一个空间 可以只创建空间 里面不存放内容 变量空间创建后是没有默认的内容 空的 空的变量空间不能拿来使用 编译错误
byte x;//声明一个变量空间 空间的名字是x 空间内要求存储的类型是byte整数 x = 1;//将一个1赋值到x空间内进行存储 计算机底层做了什么事情 1.x是什么? 变量空间 存在哪儿?----栈内存里 2.1是什么? 1是常量 存在哪儿?----常量缓冲区 3.=是什么? =是赋值 做了什么?
计算机的硬件组成 主板 CPU 声卡 显卡 网卡 电源 内存 硬盘 1.硬盘上创建了一个文件 Test.java 2.文件中的内容是我们编写的源代码(跟计算机发送指令) public class Test{ public static void main(String[] args){ byte x; x = 1; } } 3.将Test.java源文件---->编译---->Test.class 内容 我们看不懂 字节码 留给计算机识别 4.执行---->内存中执行 将硬盘上的Test.class内容 加载 到内存里 5.我们写好的指令 执行内存的空间 赋值 变化。。。。
注释 1.单行注释 // 2.多行注释 /* */ 3.文档注释 /** */ ------------------------------------------------------------------- float e = 3.4F; 从double转化到float会有损失 1 3.4 常量值 存储在常量缓冲区中的 常量值的存储形式肯定不是十进制 是以二进制形式存储 1----> 32bit(int) 3.4--> 64bit(double) byte a = 1; 1--->32bit 00000000 00000000 00000000 00000001 a--->8bit 00000001 =赋值的时候做了一个自动的决定 自动类型转化
long d = 2147483648L; -2147483648 2147483647是int类型的取值范围 如果创建的常量值超过以上范围 程序编译检测的时候会认为 数字太大 如果我们真的需要那么大的数字 必须在后面加L告知
字符 字符串 char String 基本 引用 'a' "a" "abc" "" null