(一)Java简介
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。
后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。
Java分为三个体系:
- JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
- JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 \"2\":J2EE 更名为 Java EE,J2SE 更名为Java SE,J2ME 更名为 Java ME。
Java主要特性:java语言是简单的、面向对象的、分布式的、健壮的、安全的、可移植的、解释性的、高性能的、多线程的。
(二)Java开发环境
1、编译运行过程:
- 编译期:.java源文件,经过编译,生成.class字节码文件
- 运行期:JVM加载.class并运行.class(0和1)
- 特点:跨平台、一次编译到处使用(跨平台特性如下图)
2、名词解释:
- JDK:Java Development Kit:java的开发和运行环境,java的开发工具和jre。
- JRE:Java Runtime Environment:java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。
- JVM:Java Virtual Machine: Java虚拟机,加载.class并运行.class。
(三)Java基本数据类型
1、Java语言提供了四类八种基本数据类型:
- 整数类型:byte、short、int、long
- 浮点数类型:float、double
- 布尔类型:boolean
- 字符类型:char
2、简述java的8种基本数据类型:
- byte: 字节型,用于存储整数,占用 1 个字节,范围 -128 ~ 127,默认值是 0
- short: 短整型,用于存储整数,占用 2 个字节,范围 -32768 ~ 32767,默认值是 0
- int: 整型,用于存储整数,占用 4 个字节,范围 -2^31 ~ 2^31-1,默认值是 0
- long: 长整型,用于存储较大的整数,占用 8 个字节,范围 -2^63 ~ 2^63-1,默认值是 0L
- float: 单精度浮点数,用于存储小数,占用 4 个字节,不能表示精确的值,默认值是 0.0F
- double: 双精度浮点数,用于存储小数,占用 8 个字节,不能表示精确的值,默认值是 0.0D
- boolean: 布尔型,用于存储 true 和 false,占用 1 个字节,默认值是 false
- char: 字符型,采用 Unicode 字符集编码,用于存储单个字符,占用 2 个字节,范围 0 ~ 65535
举个栗子:
byte a = 100;byte b = -50;
short s = 1000;short r = -20000;
int a = 100000;int b = -200000; //1)整数直接量默认为int类型,但不能超出范围,若超出范围则发生编译错误 2)两个整数相除,结果还是整数,小数位无条件舍弃 3)运算时若超出范围,则发生溢出,溢出是需要避免的
long a = 100000L;Long b = -200000L; //长整型直接量需要在数字后加 L 或者 l,运算时若可能溢出,建议在第一个数字后加L
//浮点数直接量默认为double类型,若想表示float,需在数字后加F 或 f
//double 或 float型数据参与运算时,有可能出现舍入误差,精确场合不能使用
float f = 3.14F; //3.14F为float型直接量
double d = 3.14; //3.14为浮点数直接量,默认为double型
boolean b1 = true;boolean b2 = false; //true 和 false 都是布尔类型的直接量
char letter = \'A\'; //char类型,字符型直接量必须放到单引号里面,单引号里面必须有字符,只能有一个字符,特殊符号需要通过\\来转义,例如:char c = \'\\\\\' 表示字符 \\ ;
3、数据类型间的转换
- 小到大依次为:byte-short/char-int-long-float-double
- 自动/隐式类型转换:由小到大
- 强制类型转换:语法(要转换成为的数据类型)变量,由大到小,强转有可能发生溢出或丢失精度
int a = 5;
long b = a; //自动类型转换
int c = (int) b; //强制类型转换
long d = 5;
double e = 5;
long f = 10000000000L;
int g = (int) f;
System.out.println(g); //1410065408 强转有可能会内存溢出
double h = 23.34545;
int i = (int) h;
System.out.println(i); //23 强转有可能会丢失精度
//整数直接量可以直接赋值给byte、short、char,但是不能超出范围
//byte、short、char型的数据参与运算,系统会将其自动转换为int再运算
byte b = 3;
byte b1 = 5;
byte b2 = (byte) (b + b1);
System.out.println(b2);
System.out.println(\'2\' + \'2\');//100.\'2\'的码50 加上 \'2\'的码50 ,得100
来源:https://www.cnblogs.com/feixiangdezhu/p/16088803.html
本站部分图文来源于网络,如有侵权请联系删除。