JAVA

这篇博客详细介绍了Java编程的基础知识,包括环境配置、类名和包名的命名规则、数据类型、运算符、控制语句、逻辑操作的区别、数组、方法重载、面向对象特性、封装、继承、super和this的区别、static关键字的使用、final关键字的作用、多态概念、单例模式、抽象类和接口、内部类、值传递和引用传递以及异常处理。内容覆盖了Java编程的多个重要方面,适合初学者和需要巩固基础知识的开发者阅读。
摘要由CSDN通过智能技术生成

一、java环境及实现原理

高级语言—> 运行到计算机上
编译型–> 一次性的将代码编译成二进制的文件 -->直接运行 编译器.exe 优点:速度快
解释型–> 读取一行解释执行一行,以此往复,直到程序结束 解释器.exe 优点: 跨平台

在java中负责对字节码文件解释执行的是虚拟机
java的JDK不跨平台 但是java代码和java字节码跨平台
java的JDK不跨平台 但是java代码和java字节码跨平台
JDK --> java开发工具包
javac.exe java编译器
jre ---->运行时环境
jvm --> java虚拟机
java.exe 解释器
他们的关系:JDK包含JRE,JRE包含虚拟机
java 先编译,后解释执行
先通过编译器 javac.exe 将代码编译成一个 字节码文件.class
通过解释器 java.exe 将 字节码文件进行解释执行 执行到计算机上
在运行的时候 :

先编译: javac 源文件.java
    会出现字节码文件      名字由 类名确定的   类名.class
然后解释执行:
    java  字节码文件的名字(类名)
如果一个类public修饰了以后 源文件的名字和类的名字必须相同

java的特点:
面向对象
可移植性
跨平台

| 在这里插入图片描述
在这里插入图片描述

二、类名,包名

标识符
1、含义:
就是给类,接口,方法,变量等起名字时使用的字符序列
2、组成规则:
英文字母大小写,数字字符,英文叨勒符和下划线,不能以数字开头,不能是java中的关键字,区分大小写
包名: 要求全部小写
类名或者接口: 首字母第一个大写
方法和变量: 第二个字母大写
常量: 英文字母全部大写

三、数据类型
1、基本数据类型
整数型
byte 占一个字符
short 占两个字符
int 占四个字符
long 占八个字符
浮点型
float 占四个字符
double 占八个字符
字符型
char 占两个字符
布尔型
true
false
2、数据类型之间的相互转换
基本数据类型转换
低级类型的基本数据会自动向高级的基本数据类型转换
强制类型转换
高级类型向低级类型转换需要强制类型转换
从低到高
byte,short,char—> int —> long—> float —> double

四、运算符

1、基本运算符

    • ** / %
      += -= *= /= %=
      2、a++和++a的区别
      加加在后面:先赋值后加一
      加加在前面:先加一后赋值

五、控制语句

选择结构
if 、 if else、
循环结构
for、while、do while、增强for循环
跳出循环
break 跳出循环,后面的循环也会结束
continue 跳出循环,后面的循环继续执行

六、逻辑与、逻辑或和短路与、短路或的区别

逻辑与、短路与
前者从左到右一次判断,直到结尾
后者一次判断,直到出现false为止不再出现 都为真且为真
逻辑或、短路或
前者从左到右一次判断,直到结尾
后者一次判断,直到出现true为止不再出现 一个为真都为真

七、数组

特点
一旦被创建,不能改变大小
有下标,从零开始
存储在一个数组的,必须是同一类型
数组可以存储任意类型的数据
数组一旦确定,则只能存储该类型或者是可以自动类型转换成该类型的数组
声明方式
int[ ] arr = new int[10];
int[ ] arr2 = new int[ ]{1,2,5,8,9};
int[ ] arr3 = {1,5,6,8,9,75};
遍历方式
普通for循环:可以实现带有下标的操作
增强for循环:遍历数组 集合 效率更快

八、方法重载

方法重载
方法名相同,参数列表不同,与返回值类型无关,与参数名无关
(功能类似,但有细微差别 可用重载)

public static  void A(int a,int b){
   
	System.out.println("重载");
	}
public static  void A(int a){
   
	System.out.println("重载");
	}

九、面向对象

1、类和对象是抽象和具体的关系
2、类包含属性和方法
属性:(又称变量)
局部变量和成员变量的区别
声明位置:
成员变量:类以内,方法以外
局部变量:方法内部
作用域:
成员变量:在类的内部都能用
局部变量:方法内部
默认值:
成员变量:有默认值即使没有初始化也可以使用
局部变量:没有默认值,在使用之前必须初始化
内存区域:
成员变量:内存在堆中
局域变量:栈中
方法
方法只有被调用的时候,才会被执行
方法只能调用方法,不能在方法内部中定义方法
定义方法的完整格式:
修饰符、返回值类型、方法名称(参数类型、参数列表)
构造方法:
1、方法名和类名相同
2、在方法名的前面没有返回值类型的说明
3、在方法中不能使用return语句返回一个值
4、在创建对象时,要调用new
5、在没有指定构造方法时,系统会自动添加无参的构造方法
6、当有指定的构造方法时,系统不会再自动添加构造方法
7、构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法
方法重载和重写的区别
方法的重载:在类中可创建多个同名不同参数的方法
方法的重写:发生在有继承关系的两个类中,子类继承父类中的方法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值