JAVA安装以及开发环境
JDK:java devedevelopment Kit
java开发工具包:其中包含了java编译、运行、javadoc等工具以及jre、丰富的类库
JRE:java runtime envenvironment
java运行环境:提供了JVM以及丰富的类库(.jar文件)
JVM:java virtual machine
java虚拟机:所有的java程序都运行在JVM中
一个java程序如果要运行至少需要一个完整的JRE,只需要运行时,则不需要JDK
eclipse: IDE 集成开发环境(可以安装很多插件)
进行程序的开发、编译、运行
优点:可视化、方便开发、提高开发效率
java为什么具有很好的跨平台能力?
1.跨平台的概念:java程序在开发之后可以在各个操作系统上运行
2.java所有的程序都运行在JVM上,与系统没有任何关系
3.java程序运行:java—>.class文件—>JVM---->操作系统
所以只要在不同的操作系统上安装不同的JDK,即可实现程序的跨平台运行
系统分类
windows系统: win10 win7 winxp win03 win8
unix系统:
linux系统(like unix):ubuntu(乌邦图) debian(大便) redhat(小红帽) centos 红旗(基于linux内核) mac os(基于unix)
众所周知在windows系统下会有很多的病毒,然而在mac os/unix系统下病毒并不常见(基本没有)
1.windows系统并不开源
2.mac os/unix系统有很大的开源社区(汇聚了全球的IT精英),使得其系统存在的BUG少之又少
JAVA发展史
1991年由sun公司Green项目小组开发了Oak 面向对象的编程语言
1994年帕特里克·诺顿在Oak的基础之上写了一个小型万维网浏览器WebRunner
1995年Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet
1996年1月 Sun公司发布了Java的第一个开发工具包(JDK 1.0)
1998年,第二代Java平台的企业版J2EE发布。
1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:
J2ME(Java 2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;
J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;
J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器
2005年6月,在Java One大会上,Sun公司发布了Java SE 6。
改名: 如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME
2009年,甲骨文公司宣布收购Sun
java之父:詹姆斯·高斯林
java其实是简化了C++,把C++繁琐且难以理解的内容去掉
java的基本数据类型
数值类型:
整数类型:byte short int long
浮点类型:float double
字符类型:char
布尔类型:boolean
java只有两种数据类型: 基本数据类型 引用数据类型
内存单位(有小到大排序):bit(二进制位) byte KB MB GB T
1T = 1024GB
1GB = 1024MB
1MB = 1024KB
1KB = 1024Byte
1Byte = 1024Bit
一个二进制位由0或1表示
基础数据类型的宽度:
数据类型 | 字节数 | 二进制位 | 表示范围 |
---|---|---|---|
byte | 1字节 | 8 | (-2^7) ~ 2^7-1 |
short | 2字节 | 16 | (-2^15) ~ 2^15-1 |
int | 4字节 | 32 | (-2^31) ~ 2^31-1 |
long | 8字节 | 64 | (-2^63) ~ 2^63-1 |
float | 4字节 | 32 | ±3.4*10^38 |
doubel | 8字节 | 64 | ±1.79*10^308 |
char | 2字节 | 16 | 【0,65535】非负整数 |
boolean | 1 | 8 | true / false |
编码
用二进制的最高位来表示一个数的正负 0正数 1负数
原码:最高位表示符号位,其他位表示数值位
反码:正数的反码等于其原码,负数的反码等于其原码符号位不变,其他位按位取反
补码:正数的补码等于其原码,负数的补码等于其原码符号位不变,其他位按位取反+1
十进制转二进制 除2求余的方法
注意:计算机中的数据都是以补码的形式保存
变量
变量--------java中用于保存数据
1.变量的声明:
数据类型 变量名
变量在使用之前必须声明
2.变量命名规则:
(1)由数字、字母、下划线(_)、$ 组成
(2)不允许以数字开头
(3)不能和java关键字一样
(4)区别大小写
(5)见名之其意、见名知类型
3.变量的初始化
java中变量必须初始化才能使用(访问变量的值)
变量的第一次赋值称为初始化
练习:int a=10; int b = 20;写段代码交换a和b的值
public class Test {
public static void main(String[] args) {
int a=10,b=20,c=0;
c = a;
a = b;
b = c;
System.out.println(a);
System.out.println(b);
}
}
运算符
1.算术运算符:
+ - * / % ++ –
2.逻辑运算符:
&& || !
3.关系运算符:
> >= < <= != ==
4.位运算符:
& | ^ ~ >> >>> <<
5.赋值运算符:
= += -= *= /= %= &= |= ^= ~=
6.三目运算符:
?:
7.其他运算符:
, . [] ()
注意事项
1.java中整数字面值类型为int类型,所以不能直接出现超过int类型表示范围的字面值,除非在字面值的后面加上L/l来表示该字面值的类型为long类型
2.同理,java中浮点数值的字面值是double类型,如果要表示float类型的字面值,需要加上F/f
3.由于java中整数字面值类型为int类型,所以对于byte/short/char只能用其表示范围内的数值来初始化不能直接用表示范围更宽的数据类型来初始化或者赋值
4.byte/short/char在运行算术过程之后的结果都为int类型
世界上有10种人,一种是认识二进制的,另一种是不认识二进制的。