【java基础复习】

本文详述了Java的基础知识,包括Java的三大版本、JDK、JRE和JVM的区别,深入探讨了成员变量与局部变量、数据类型、字符串、流程控制、异常处理、面向对象概念、集合框架、IO流等核心概念,并提供了丰富的面试题以供复习和准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java基础

JavaSE 超全总结

10万字Java高频面试题

如何理解API,API 是如何工作的

Java基础

java语言的三大版本

JavaME   小
JavaSE   
JavaEE(J2EE) 大

JDK JRE JVM

JDK:java开发工具包,JDK包含JRE
JRE:Java运行环境,JRE包含JVM
JVM:Java虚拟机

成员变量和局部变量的区别

标识符和变量

标识符:
     规则:标识符可以是字母、下划线、美元符、数字的任意组合。
     但不能是以数字开头,不能使用关键字,不建议使用中文,不能包含#这样的特殊字符。

使用规范:
     表示类名的标识符:首字母大写。
     表示方法和变量的标识符:驼峰命名法。第一个小写,第二个大写。

Java中数据类型分类

数据类型

八大基本数据类型: 
char byte boolean 一个字节
short int long 四个字节
float 低精度,double 高精度


引用类型:Class interface array
可以通过new创建,除了接口。使用时本质就是在读取他的内存地址。

i++是1,++i是2

String类型

&&和&的区别

|| 和 | 的区别

四类运算符

算数运算符>比较运算符>逻辑运算符>赋值运算符
单目   !
双目  +
三目  :?

流程控制

for循环、while循环、do-while循环 三大循环

while循环和do-while循环 区别:
1.  while循环先判断再循环,可能循环体一次也没有执行
2.  do-while循环先执行再判断,循环体至少执行一次
3. 如果while循环第一次判断为真,两种循环无差别;两种循环效率上没有差别


 	循环次数固定,建议使用for
 	循环次数不固定
 	     先执行再判断,建议使用do-while
 	     先判断再执行,使用while
 	实际开发,for使用频率高,然后是while,最后是do-while 

continue语句和break语句 区别:
 1. continue跳过本次循环,执行下次循环。
    用在while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。
 2. continue用在for循环中,跳到for循环的迭代因子部分。
 3.  break用于强行退出循环,不执行循环中剩余的语句。跳出整个循环。
 引用类型进行比较时:
 1. == : 比较的是地址
 2. equals(): 比较的是实际存储的值

字符串常量值

数组的创建方式3种

在这里插入图片描述
都输出ad

数组的删除
数组的移动
char[] arr = new char[]{'a', 'b', 'c', 'd'};
        arr[1]='\0';
        for (int i=1;i<arr.length-1;i++){
            arr[i] = arr[i+1];
        }
        arr[arr.length-1] = '\0';
        for (int i=0; i< arr.length;i++) {
            System.out.println(i + "" + arr[i]);
        }
数组的倒序输出
int arr[]={1,2,3,4,5};
        for (int i = 0; i < arr.length / 2; i++) {
            //两个变量的值之间的交换, 借助于一个临时变量,每一行代码最后是下一行的开头。
            // arr[i]  -> arr[arr.length-1-i]
            int temp = arr[i];
            arr[i] = arr[arr.length - 1 - i];
            arr[arr.length - 1 - i] = temp;
        }
        for (int i : arr) {
            System.out.print(i + "\t");
        }

利用第三方变量
利用加减
在这里插入图片描述
位运算替换,异或
在这里插入图片描述

面向对象

面向对象和面向过程

区别

面向过程关注如何按照步骤执行
面向对象关心如何设计事物
都是解决问题的思维方式,都是代码组织的方式。
 面向过程是一种“执行者思维,解决简单问题可以使用面向过程。
 面向对象是一种“设计者思维",解决复杂、需要协作的问题可以使用面向对象。
面向对象离不开面向过程:
 宏观上:通过面向对象进行整体设计
 微观上:执行和处理数据,仍然是面向过程。

类和对象

类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。
类是具有共同特征事物的抽象,对象则是类的实例化。

入口函数中的参数

Java入口函数的理解

表示程序的入口
public static void main(String[] args) {
   
}

方法重载

在这里插入图片描述

方法重载概述
        在同一个类中,存在一个以上同名的方法,只要它们的参数个数或参数类型(形参列表)不同即可。
方法重载特点
        与返回值类型无关,只看方法名和参数列表

构造方法

有参和无参

this关键字的作用

作用:
1、解决同名问题,标识局部变量和成员变量的区别。
2、调用本类的其他构造方法

static 静态关键字

修饰成员变量、方法、代码块

总结:static变量和非static变量的区别:

1、份数不同:静态变量:1份;非静态变量:1个对象一份
2、存储位置不同:静态变量:方法区;非静态变量:堆中
3、内存分配空间的时间不同:静态变量:第一次加载类的时候;非静态变量:创建对象的时候
4、生命周期不同。静态变量和类的生命周期相同;非静态变量的生命周期和所属对象相同
5、调用方式不同
 	静态变量: 通过类名调用 Student.classRoom
 	也可以通过对象名调用stu1.classRoom ="301" 不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值