最新java8.0(1.8)

  1. javaSE(桌面应用程序)标准
  2. javaME(塞班系统应用)
  3. javaEE(主要web开发,企业级应用)企业
  4. javaEE改名为JakartaEE

java特性:

  1. 面向对象
  2. 简单
  3. 跨平台
  4. 开源
  5. 壮健性
  6. 安全
  7. 多线程

java虚拟机 jvm(负责把java翻译为当前系统所能识别的命令)


JDK:java开发工具包 jdk包含jre
JRE:java运行环境
下载jdk

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


开发工具:

  1. 记事本
  2. Editplus
  3. Ultra Edit
  4. Eclipse(免费)
  5. MyEclipse
  6. IDEA


开发注意:

  1. java区分大小写
  2. 除了中文 其他内容丰富在英文输入法输入

注释: (说明作用)

  1. 单行: //
  2. 多行: / /
  3. 文档注释: /* /

查看java版本: java -version

初级代码:

  1. public 全局含义
  2. class 类
  3. 类名最好见名知义,首字母大写
  4. static 静态
  5. void 表示没有返回值
  6. main 程序的入口

输出:System.out.printIn("输出的内容")

如果使用public class 来声明class 那么文件名必须和类名一致
每个class 都会生成与类名一致的.class文件

关键字(赋予特殊作用):(关键字都是小写)
public
class
do
if
else


标识符:定义的类,变量(见名知义)

  1. 字母、下划线,美元符开头
  2. 不能与数字开头
  3. 不能出现字母、下划线,美元符其他的东西

字面值:

  1. 字符串(用" " )多个字符
  2. 整数
  3. 小数
  4. 字符 (用' ')
  5. 布尔

定义变量:(同域变量名不可重复)
必须声明数据类型

数据类型:(根据数据来申请内存)
基本数据类型(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由小到大运算不会报错

强制类型装换:
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