java语言的特点
面向对象(使用计算机模拟现实世界,解决现实问题,贴近人类思维模式)
简单(相对于C , C++,C#不容易造成内存溢出, 减少代码量, 代码可读性强)
跨平台(操作系统, 服务器, 数据库…)
计算机的执行机制
编译执行
●将源文件编译成机器码,一次编译,多次执行。
●执行效率高,不可跨平台。
解释执行
●将源文件被一行一行解释,一行一行执行。不同的操作系统具备不同的解释器。
●执行效率低,可以跨平台。
java的执行机制
先编译, 再解释
将源文件编译成字节码文件(.class文件)再将字节码文件进行解释执行
Java的设计理念 : 编译一次处处执行
类的阐述
- 同一个源文件中可以定义多个类
- 编译后,每个类都会生成独立的.class文件
- 一个类中,只能有一个主函数, 每个类都可以有自己的主函数
- public修饰的类成为公开类,要求雷鸣必须与文件名称完全相同,包括大小写
- 一个源文件中,只能有一个公开类
注释
- 单行注释 //
- 多行注释 /* 多行注释 */
- 文档注释 /** 文档注释 */
变量与标识符
变量: 系统为程序分配的一块内存单元, 用来储存各类类型的数据,. 根据储存的数据类型的不同,有不同类型的变量, 变量名代表这块内存中的数据
变量按照所属 的类型划分:
基本数据类型和引用数据类型
按照被声明的位置划分
局部变量(方法语句块内部定义的变量)
成员变量(方法外部,类的内部定义的变量)
标识符:java对包,类,方法,参数和变量等的命名是使用的字符序列
标识符的命名规则
字母,数字,下划线,和美元符号($)组成
不能以数字开头
区分大小写
长度一般没有限制
不能是java中的关键字和保留关键字命名
一般采用驼峰命名法, 见名知意(英文单词让人知道是什么意思 比如: car 让人知道这是一个车类) 以读单词或单词组合
命名
例: abc,voice,user,user_name…
非法标识符: 1user,hello abc,class…
八种基本数据类型
字节(Byte):计算机文件代销的基本计算单位
1个字节(Byte)=8个位(Bit)
Bit为’位’或者’比特’,是计算机运算的基础,二进制中的一位, 是二进制最小信息单位, 二进位可以用来表示一个简单的正负判断
单位换算:
1byte = 8bit
1KB = 1024byte .
1MB = 1024KB
1GB = 1024MB
1TB=1024G
用数字表示字符 char c1 = 97 97就表示a这个字符
进制与转换
计算机进制通常有: 十六进制,十进制,八进制, 二进制
计算机中的数据都以二进制数字保存
二进制: 只有两个值 , 0,1 逢二进一 如十进制中的10保存为1010
八进制:逢八进一 0.1.2.3.4.5.6.7
十六进制: 基数为十六,逢十六进一,用abcdef表示0-9之上的值
十六进制数据要以0x或0X开头 如: 0x23D
十进制转换成二进制
整数部分: "除2取余,逆序排列"法
小数部分: "乘2取整,顺序排列"法
基本数据类型的转换
自动类型转换: 容量小的类型自动转换成容量大的数据类型
布尔类型是true和false
byte b = 10;
short s = b; //可以直接转换
char sex = ‘男’;
int sex2 = sex;
System.out,println(sex2);
输出:30007
float和double 属于近似值
byte,char , short ,int , long 属于精确值
精确值转近似值时可能丢失精度
byte , short , int三者在计算时会转换成int类型, 在运算时会自动转换数据类型然后进行计算
short s1 = 10;
s1 = s1 + 1;
这样会有错误
强制类型转换
long n = 100L;
int i = (int)n; //加个()里面放上你要强制转换的类型
boolean类型不能转换成任何其他数据类型
注意:强制类型转换可能造成京都降低或者数据溢出, 使用时要小心
关键字
保留关键字 如: goto和const