欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA概述总结及数据类型易错点(溢出等问题)

程序员文章站 2022-06-30 20:07:17
1、Java概述java的发明者James Gosling。java由SUN公司发明,由于破产被Oracle收购。1995年,Java诞生 1996年 jdk1.0版本发布J2SE J2EE J2ME2004年 jdk1.5 JAVASE5.0JAVAEEJAVAME2009年收购Oracle(甲骨文)jdk14LTS---------Jdk112、分类JAVASE: JAVA Standard Edition 标准版JAVAEE:...

1、Java概述

java的发明者James Gosling。java由SUN公司发明,由于破产被Oracle收购。
1995年,Java诞生 1996年 jdk1.0版本发布

J2SE J2EE J2ME

  • 2004年 jdk1.5 JAVASE5.0

  • JAVAEE

  • JAVAME

2009年Oracle(甲骨文)收购

jdk14

LTS(长期维护版本)---------Jdk11

2、Java版本结构:

  • JAVASE: JAVA Standard Edition 标准版

  • JAVAEE: JAVA Enterprise Edition 企业版
    不能离开JavaSE,因为javaSE是基础

  • JAVAME: java Micro Edition 微缩版

3、Jdk

 Jdk1.0------jdk14
 由于性能问题,或api变等原因,jdk版本总是升级

4、java命令:

  javac ——javac xx.java  
  java——java xx

5、环境:

 jdk下载,安装,配置(2种方法,最好是JAVA_HOME,因为Maven要用)
 JAVA_HOME=安装路径
 path:%JAVA_HOME%\bin

6、编译器:

记事本,eclipse,idea

7、java程序

应用程序和小应用程序(小应用程序无main方法)

java源文件(.java)——>编译 javac(.class)——>执行java(即运行)

.class跨平台,跑在java虚拟机上

8、java源文件

  • 入口方法(也就是程序从哪里开始执行):main

  • main参数:String[]

  • public的类名必须为文件名(因为Java是被解释执行的。它在运行时并不是将所有的class文件全都放到内存中。而是在遇到import的时候才去相应的文件目录找相应的class文件。
    对于一个public类,它是可以被项目中任何一个类所引用的,只需在使用它前import一下它所对应的class文件即可。将类名与文件名一一对应就可以方便虚拟机 在相应的路径(包名)中找到相应的类的信息。如果不这么做的话,就很难去找,而且开销也会很大。

  • 1个源文件可以包含多个类,但其中最多只能有一个用public修饰

    的类

9、jdk、 jre、 jvm

  • Jdk是Java Development Kit的缩写,即java开发工具包,开发者用
    包括jre和java工具(例如:javac 编译器,Java 解释器等)
  • Jre(Java运行时环境):全称是Java Runtime Environment,用于运行java程序,包括java类库和jvm
    只要有class文件加上jre就能运行
  • jvm:java virtual machine
    用java代码写的,模拟计算机的
    只要有jvm,有class文件,在任何平台可运行
    执行class文件的
    java跨平台(因为class文件),但jvm不是跨平台

10、数据类型

给数据分配多大内存空间,需数据类型规范
基本数据类型:

  • 整形:byte,short,int,long
    byte 1个字节 8位 -128~127 (-2的7次方~2的7次方-1)
    short 2个字节 16位
    int 4个字节 32位
    long 8个字节 64位 后缀l/L
    byte b = 127;
	System.out.println(b);      //127
	System.out.println((byte)(b+1));       //128
	System.out.println(Byte.MAX_VALUE);    //127
    System.out.println(Byte.MIN_VALUE);    //-128
    byte b=128;     //error
	System.out.println(Short.MAX_VALUE);
	System.out.println(Short.MIN_VALUE);
	System.out.println(Long.MAX_VALUE);
	System.out.println(Long.MIN_VALUE);
	System.out.println(Integer.MAX_VALUE);
	System.out.println(Integer.MIN_VALUE);
	long l = 2100000000000;     //error
	long l = 2100000000000l;    //2100000000000
  • 浮点型:float单精度 4 后缀 F/f
    double双精度 8 后缀D/d
    float f2 =10;       //10.0
	float f = 5.67F;    // 5.67
	double d = 5.67;// Double
	System.out.println(Float.MAX_VALUE);
	System.out.println(Double.MAX_VALUE);
	double d2 = 2.0-1;    //1.0
	double d3 = 1F;       //1.0
  • 字符型:char 2个字节 0-65535
    char c1 = 'a';      //a
	char c2 = 97;       //a
	char c3 = '中';     //中
	System.out.println((int)c2);    //97
	
	char c4 = '\u0231'; 
	char c5 = '\n';
	char c7 = '\t';
	char c8 = '\\';
	String str = "c:\\java\\web";
  • 布尔:boolean:true,false
    以下代码均正确:
 boolean b=false;
 //赋值语句(只要是布尔值就对)
 if(b=true){
     System.out.println("b=true");
 }
 //比较运算符
  if(b==true){
     System.out.println("b=true");
 }

以下为错误代码(因为b2不是布尔值):

int b2=1;
if(b2=0){}

下图为易出错的数据类型例子:

除了基本数据类型的所有数据类型都是引用数据类型,比如:

  • String name=“张三”;
  • int[] nums;
  • Object(*)
  • User类,Student类等
    引用数据类型都需要分配内存,需要new
    注:
  1. 使用封装类提供的静态变量查看数据类型的最大值和最小值,例如:
    Integer.MAX_VALUE
    Integer.MIN_VALUE
    除了Int的封装类为Integer,其余类型封装类均首字母大写
  2. char是存字符的,字符必须用单引号 ,char类型可存汉字(Java使用Unicode字符集,char类型占两个字节,从0-65535之间可表示为图片,中英文汉字的图片都有一个对应的码,即Unicode编码中包含了中英文汉字,所以char类型可以存储汉字,但不是所有的汉字都能正常表示出来)
  3. 整形包含在浮点型中
float f=10;  // 结果输出为10.0
Byte b=127; 
 System.out.println(b+1); 
  //结果为128,因为未赋值
  1. 默认常量是int类型,如下所示报错,因为超出int范围,可加后缀l/L,如上图所示
 long l=210000000000;  //error
  1. \u为十六进制,0-9 a-f

  2. 整型和浮点型在内存中存储数据的方式不同

  3. 默认带小数点的常量是float类型

  4. 转义字符:
    \t 调格式用
    \ 表示路径(一个’'识别不了,必须转义)

本文地址:https://blog.csdn.net/sinat_40482939/article/details/107372608

相关标签: java