Java入门(一)

(一)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
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java入门(一)