Java基础(持续更新)
Java基础目录
java的跨平台原理
由于各种操作系统(如Windows,Linux等)支持的指令集,不是完全一致的。就会让我们的程序在不同的操作系统上要执行不同的程序代码。Java开发了适用不同操作系统及位数的Java虚拟机来屏蔽个系统之间的差异,提供了统一的接口。所以对于我们Java开发者而言,你只需要在不同的系统上安装对应的不同Java虚拟机,如果你的Java程序遵循规范,就可以在不同的操作系统上运行Java程序。
数据类型
基本数据类型(8种)
- 数值型
1.1整数类型(byte,short,int,long)
byte:8位,1字节(bit 比特是最小单位,大家都知道计算机信息都是由最基本的0和1组成的,如二进制数0101就是4bit。
8bit位就称为一个字节),最大存储数据量是255,存放的数据范围是-128〜127之间
short:16位,2字节,最大数据存储量是65536,数据范围是-32768〜32767之间.
int:32位,4字节,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1
long:64位,8字节,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1
1.2浮点类型(float,double)
float:32位,一位符号数3.4E-4 5~1.4 E38,直接赋值时必须在数字后加F或f
double:64位,数据范围在4.9E-324~1.8e308,赋值时可以加D或d也可以不加 - 字符型
char:单引号用来表示字符常量 - 布尔型
boolean:只有真和假两个取值理论上1位但是存储数据最小单位是一个字节,但是JVM把布尔当做INT来算,占用四个字节(为神魔不当成更短的byte/short,因为CPU的寻址系统只能32位的寻址)
引用数据类型:类(class),接口(interface)数组
流程控制语句
-
if语句
if语句对条件表达式进行一次测试,若测试为真,则执行 -
switch语局
根据表达式值的不同执行许多不同的操作 -
while语句
在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于 后来每一次额外的循环,都会在开始前重新计算一次。 语句中应有使循环趋向于结束的语句,否则会出现无限循环–"死"循环。 -
do-while语句
do-while: 先执行,后判断。
while: 先判断,后执行。 -
for语句
for循环语句是支持迭代的一种通用结构,是最有效、最灵活 的循环结构 语法形式
for (初始表达式;布尔表达式;步进)
{ 循环体; }
注意事项 for循环在执行条件测试后,先执行程序部分,再执行步进。 在for语句的初始化部分声明的变量,其作用域为整个for循环体 “初始化”和“循环条件表达式”部分可以使用逗号来执行多个操作如果三个部分都为空语句(分号不能省),相当于一个无限循环。 -
跳转语句(break,continue,return)
break:break用于强行退出循环, 不执行循环中剩余的语句。(break语句还可用于多支语句switch中)
continue: continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的 语句,接着进行下一次是否执行循环的判定。
return:return语句从当前方法退出,返回到调用该方法的语句处,并从该语句的下条语句处继 续执行程序。
面向对象
-
类和对象
对象:对象是具体的事物
类:类是对对象的抽象
对象和类的关系:
• 特殊到一般,具体到抽象。
• 类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
• 类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性。 -
类的属性
属性用于定义该类或该类对象包含的数据或者说静态属性,
属性作用的范围是整个类体 -
类的方法
-
局部变量和成员变量
区别:
声明位置:成员变量在类中,局部变量在方法中
作用范围:成员变量可以在当前类的方法中使用,局部变量是在当前方法 中使用(不同方法中即使有相同的变量名也不会相互干扰使用)
成员变量有默认值,局部变量没有默认值 -
构造方法及其重载
构造器定义:
constructor 构造方法
一个在创建对象时被自动调用的特殊方法
构造器的作用:为对象进行初始化工作
构造器是一种特殊的方法:
构造器的方法必须与类名一致!
构造器虽然有返回值,但是不能定义返回类型(因为返回类型必须是本类),不能在构造器里使用return。
系统回自动为我们创建无参构造方法,但是我们使用了有参构造,系统则不会自动创建,需要我们手动创建。
构造方法与普通方法一样,可以重载。 -
基本参数类型参数的调用
形参和实参:
形参:定义方法时设置的参数
实参:调用方法的参数是实在参数
调用方法时两个参数必须相同,类型兼容。
基本参数类型参数的调用:
无法通过方法调用改变变量的值 -
引用数据类型参数的调用
可以通过方法调用改变变量的值 -
this关键字
this表示当前对象的本身(准确来说是对当前对象的引用)
普通方法中使用this
位置:任意
区分类成员属性和方法的形参.
构造方法中使用this
使用this来调用其它构造方法
位置:必须是第一条语句
this不能用于static方法 -
static变量
它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化,
对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!!
可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性”
static变量置于方法区中! -
static方法
用static声明的方法为静态方法
不需要对象,就可以调用(类名.方法名)
在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。
静态方法不能以任何方式引用this和super关键字 -
static代码块
如果希望加载后,对整个类进行某些初始化操作,可以使用static初始化块。
类第一次被载入时先执行static代码块;类多次载入时,static代码块只执行一次;Static 经常用来进行static变量的初始化。
是在类初始化时执行,不是在创建对象时执行。
静态初始化块中不能访问非static成员。 -
package和import
java.lang:包含了Java核心的类,如:String,Math,System,Thread
java.awt:包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用 程序的图形用户界面(GUI)。
java.net:包含执行与网络相关的操作的类。
java.io:包含能提供多种输入/输出功能的类。
java.util:包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。 -
静态导入
本文地址:https://blog.csdn.net/qq_42615006/article/details/107220234
上一篇: MySQL字符集设定与查询