JAVASE的学习笔记一()
JAVASE的学习笔记(一)
JAVA版本
JavaSE(标准版本):提供对应的SDK,类库,主要针对客户端开发
JavaEE(企业版本):是基于JavaSE的基础上的扩展,主要用在Web应用开发
JavaME(微型版):主要用在嵌入式应用程序开发
jdk和jre区别的浅薄认识
JDK-java development kit (java开发工具):主要包括
- JRE-java runtime environment (java运行时环境):是JDK的子集合,包含了执行JAVA程序所需的组件,但未包含部署的组件
- JVM -java virtuak machine (java虚拟机):主要作用是进行Java程序运行和维护,屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
- Java API(应用程序接口):为编程人员提供已写好的功能,便于快速开发
- Java编译器(javac.exe).Java运行时解释器(java.exe).Java文档化工具(javadoc.exe)以及其它资源
JDK 因为javac的命令 : 将源文件xxx.java compile(编译) xxxx.class(类文件/字节码文件/class文件)
JRE功能:
- 加载代码:由类加载器(Class Loader)完成
- 校验代码:由字节码校验器(Bytecode Verifier)完成
- 执行代码:由运行时解释器(Runtime Interpreter)完成
注意:
JDK>JRE>JVM
java语言特点
- Java语言是纯的面向对象的语言,面向对象的语言又三个特征:封装、继承、多态(不是Java的特征)。使程序具有低耦合性,高内聚性
- Java语言具有跨平台性 (与平台无关,JVM是其跨平台的根本)
- 可靠安全
- 支持多线程
Java语言的核心机制: JVM(java虚拟机)和GC(垃圾自动回收机制)
死记
OOA:Object-Oriented Analysis(面向对象分析)
OOD:Object-oriented Design(面向对象设计)
OOP:Object Oriented Programming(面向对象编程)
包的概念
java包既包含类的定义,也可以包含子包,或者同时包含两者。简而言之,包是一组相关类的集合,同包即同目录
标识符
- 标识符由数字、字母、下划线或者$组成(可以支持汉字)
- 不能使用数字开头
- 不能使用Java中的关键字和保留字
编程
就是对内存中的数据的访问和修改,程序中所有的数据都会保存到内存当中,程序员需要一种机制可以对类中的数据进行访问和修改,那么这种机制就是变量,变量可以理解为代表内存中某一小块,而变量是由名字,程序员就可以对其进行赋值(修改)或者获取(访问),实际上变量就是从内存中读取数据过程。
大白话:变量相当于一个有名字的容器,该容器用于装各种不同数据类型的数据。
数据分类:
基本数据类型
- 数值型
1.整数类型:byte,short,int,long
2.浮点类型: float,double - 非数值型
1.字符型:char:一个字符=16Bit=2byte,在java中一个汉字两字节(Unicode编码格式)
在数据库中,一个汉字三字节(utf8编码格式)
2.布尔型:boolean
注意:short,byte,char参与运算时先转换为int
如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转
float是8位有效数字,第7位数字将会四舍五入
数据类型转换(核心)★★
字符串java.lang.String
和基本数据类型之间的转换
-
Integer类:
public static int parseInt(String s)
: Integer.parseInt(String s) -
Double类:
public static double parseDouble(String s)
-
Boolean类: `public static boolean parseBoolean(String s)
-
Character包装没有
-
只要字符串不是true,转换都是false
`String s2 = "asdfasdfadsfasdf"; boolean f1 = Boolean.parseBoolean(s2); System.out.println(f1);`
cpu在进行运算时,如果发现有一个变量要占据的位数更多,会按照更高位数的那个变量进行运算,
基本数据类型转换为字符串
(1)字符串拼接
(2)字符集valueOf方法
public class Demo11{
public static void main(String...args){
int num = 456;
String s1 = ""+num;
System.out.println(s1);
String s2 = String.valueOf(num);
System.out.println(s2);
}
}
引用数据类型
- 类(class)
- 接口(interface)
- 数组
位运算中,可以简单的理解为左移一位乘以2,右移一位 除以2
1.128<<1 即128*2=256
2.-256>>2 即-256/2/2