JAVA概述总结及数据类型易错点(溢出等问题)
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
注:
- 使用封装类提供的静态变量查看数据类型的最大值和最小值,例如:
Integer.MAX_VALUE
Integer.MIN_VALUE
除了Int的封装类为Integer,其余类型封装类均首字母大写 - char是存字符的,字符必须用单引号 ,char类型可存汉字(Java使用Unicode字符集,char类型占两个字节,从0-65535之间可表示为图片,中英文汉字的图片都有一个对应的码,即Unicode编码中包含了中英文汉字,所以char类型可以存储汉字,但不是所有的汉字都能正常表示出来)
- 整形包含在浮点型中
float f=10; // 结果输出为10.0
Byte b=127;
System.out.println(b+1);
//结果为128,因为未赋值
- 默认常量是int类型,如下所示报错,因为超出int范围,可加后缀l/L,如上图所示
long l=210000000000; //error
-
\u为十六进制,0-9 a-f
-
整型和浮点型在内存中存储数据的方式不同
-
默认带小数点的常量是float类型
-
转义字符:
\t 调格式用
\ 表示路径(一个’'识别不了,必须转义)
本文地址:https://blog.csdn.net/sinat_40482939/article/details/107372608
上一篇: 周昭王姬瑕:西周第四位君主,他的一生经历了哪些事?
下一篇: 单线程会导致死锁你知道吗