最新java8.0(1.8)
javaSE(桌面应用程序)标准
javaME(塞班系统应用)
javaEE(主要web开发,企业级应用)企业
javaEE改名为JakartaEE
java特性:
面向对象
简单
跨平台
开源
壮健性
安全
多线程
java虚拟机 jvm(负责把java翻译为当前系统所能识别的命令)
JDK:java开发工具包 jdk包含jre
JRE:java运行环境
下载jdk
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
开发工具:
记事本
Editplus
Ultra Edit
Eclipse(免费)
MyEclipse
IDEA
开发注意:
java区分大小写
除了中文 其他内容丰富在英文输入法输入
注释: (说明作用)
单行: //
多行: / /
文档注释: /* /
查看java版本: java -version
初级代码:
public 全局含义
class 类
类名最好见名知义,首字母大写
static 静态
void 表示没有返回值
main 程序的入口
输出:System.out.printIn("输出的内容")
如果使用public class 来声明class 那么文件名必须和类名一致
每个class 都会生成与类名一致的.class文件
关键字(赋予特殊作用):(关键字都是小写)
public
class
do
if
else
标识符:定义的类,变量(见名知义)
字母、下划线,美元符开头
不能与数字开头
不能出现字母、下划线,美元符其他的东西
字面值:
字符串(用" " )多个字符
整数
小数
字符 (用' ')
布尔
定义变量:(同域变量名不可重复)
必须声明数据类型
数据类型:(根据数据来申请内存)
基本数据类型(byte最大128,short,int,long,float,double,char,Boolean)
应用数据类型
定义变量整型默认为int类型 :定义long类型的变量时末尾添加L
(long k = 2147483648L;)
浮点型默认double类型:定义float类型的变量时末尾添加F。
float f1 = (float)5.5;
定义byte类型需要强制类型转换,否则按照int类型运算(报错)
**由大到小转换会报错(损失精度)
byte<char<int<float<
由小到大运算不会报错
强制类型装换:
float f1 = (float)d;
float f1 = (float)5.5;
char的取值范围 0~65535
char类型数字存储二进制 转换ascll码
97 = a 65 = A 48 = 0
转义字符: /
反汇编:javap -c 文件名
逻辑运算符:
&与 :两个true,为true
|或 :一个true,为true
!非 :非true,为false
^异或 :两边不一致,为true
&& 短路 :前面为true,后面表达式会执行
|| 短路 :前面为false,后面表达式会执行
位运算:二进制运算
按位与& :有0则0
按位或| :有1则1
按位异或^ :相同则0,不同则1
反码,原码,补码:都是其本身
'>>' 向右移 :最高位是0,则左边补齐0,最高位是1,则左边补齐1
'>>>'无符号右移:无论最高位是0还是1,左边补齐0
<<向左移:左边最高位丢弃,右边补齐0
左移n位 : 乘2的n次方
右移n位 : 除以2的n次方
习题:
两个整型变量交换:
int a = 8; int b = 3;
a = a ^ b;
b = a ^ b; // a ^ b ^ b b = a
a = a ^ b; // a ^ b ^ a a = b