一、编译型
Complie(编译):通过编译器把整个文件直接编译,将java源码转换成计算机可以执行的代码;
二、解释型
实时翻译:写一句,编译一句;
三、程序运行机制
四、JAVA基础语法
1、注释:
注释不会被执行,写给人,让人看懂
单行注释://
多行注释: /* 文档多行注释 * /
文档注释:Javadoc命令可以生成帮助文档,文档注释 /** */
平时写代码多写注释
2、关键字和标识符:
java所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关键字——————————》》》》》》》不能用关键字起名字
3、标识符注意点
- 所有的标识符都以字母,美元($)、或者下划线开头(_);
- 首字符之后可以是字母,美元符,下划线或者数字;
- 不能使用关键字作为变量名或者方法名;
- **标识符是大小写敏感的;**比如Man 与 man 在java中是不两个不同的变量名;
- 合法标识符:age、$salay、_value、__1_value;
- 非法标识符:以数字、-、#开头的》》》》123sds、-sasdas、#asd
- 可以使用中文名(不建议)
4、java数据类型
java是一种强类型语言:要求变量名使用严格符合规定,所有变量名必须先定义才能使用; (安全性高,速度慢)
java数据类型分为两大类
基本数据类型:(primitive type)
- 整数类型:
byte占1个字节,范围-128-127;
short占2个字节范围:-32768-32767;
int占4个字节,范围-2147483648-2147483647; (默认为int)
long占8个字节,范围:-922337206854775808-922337206854775807 - 浮点类型:float占4个字节;double占8个字节;(默认为double)
- 字符类型:char,占2个字节;
- boolean类型:占1位,值只有true和false;
引用数据类型:(reference type)
类(String不是关键字)、接口、数组
5、什么是字节???
位(bit):是计算机内部最小储存单位;11001110是一个8位二进制数;
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B表示;
1B(字节) = 8 bit(位)
1024B = 1KB
1024KB = 1M
1024M = 1G
字符:是指计算机中使用的字母、数字、字和符号
6、数据类型扩展 以及 面试
整数拓展
进制:逢多少进一
二进制:以0b开头
八进制:0开头--------010代表十进制中的8;
十六进制:0x开头---------0x10
浮点数拓展
银行业务怎么表示? 用BigDecimal ——数学工具类
最好不用float与double表示:浮点数有限、离散、舍入误差、大约、接近不等于
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
例子:
float d1 = 0.1f;
double d = 0.1;
System.out.print(d1 == d); //false
字符拓展
char c1 = 'a';
char c2 = '中';
//输出c2为数字;所有的字符本质还是数字
//char可以表示Unicode编码,2字节,unicode范围0-65535
//ascii码:1个字节,128个
//utf-8:中文的标点占了3个字节
// Unicode 编码中 :a = 97 ,A = 65;
// '\u0000' 转义字符:
\b:----->退格键backspace
\t :制表符,相当于tab,空格 ;
\n :换行;
\r: 回车;
\':单引号转义;
\":双引号转义;
\\:转义反斜杠
五、Java类型转换
低<<<<<<<<<<<<<<<<<<<<<<<<<<<高
byte(1)<short(2)<char(2)<int(4)<long(8)<float(4)<double(8)
强制转换: 由高到低,高低意思指的字节数;
自动转换: 由低到高,子类转父类
注意:不能对布尔值进行转换;
不能把对象类型转换为不相干的类型;
高容量转换为低容量的时候,需要强制转换
转换时可能存在内存溢出,或者精度问题
操作比较大的时候,注意溢出问题
JDK7新特性,数字之间可以用下划线分割
int money = 10_000_000;
System.out.print(money);//为10000000