温故而知新,19646字Java基础知识梳理

本文详述了Java的基础知识,包括入门、程序设计、流程控制、字符串处理、数字和日期处理、数组与排序算法、类与对象、封装、继承和多态、异常处理、集合与泛型、枚举、反射机制、输入输出流、多线程编程、网络编程以及图形用户界面。文章强调了基础知识的重要性,并提供了面试必备的Java八股文和相关学习资源。
摘要由CSDN通过智能技术生成

前言

有些同学可能会觉得奇怪,为什么会写这么一篇文章,Java基础不是大学就学过了吗,就这呀,这有什么好写的?

但是从事开发越久才越知道基础有多重要,不止Java基础,还有计算机网络基础与操作系统基础,这些编程的底层原理你真的搞清楚了吗?太多人只是不明就里的写着业务代码,码农这个词原来以为是自嘲,但对于很多程序员来说,却是真实写照,只不过手里的锄头换成了电脑而已。很多应届生去面试之前也会疯狂刷所谓的项目经验,当然了,不是说项目不重要,只是有点本末倒置了,万丈高楼平地起,基础不牢早晚有你头疼的时候。

最近有面试的家人们基础不好的话最好是赶紧补一补基础,特别是准备秋招的应届生,一个刚毕业的学生哪来那么多乱七八糟的项目经验,太假了,面试官对于应届生的要求是有没有培养价值,这个潜力怎么看呢?看的就是你的基础。

文末有2021年7月份最新Java面试八股文,需要的可以自行领取哦!

这篇文章只梳理Java基础,计算机跟操作系统,后面有时间也会单独写。我整理了一些经典的学习书籍电子档,毕竟程序员的书实在是太贵了,不可能每本都买实体

image

需要的同学点击传送门
就可以领取,无偿分享。

目录

  • Java入门基础及环境搭建
  • Java程序设计基础
  • Java流程控制语句
  • Java字符串处理
  • Java数字和日期处理
  • Java数组和基本排序算法
  • Java类和对象
  • Java类的封装、继承和多态
  • Java异常处理
  • Java集合、泛型和枚举
  • Java反射机制
  • Java输入输出流和文件操作
  • Java多线程编程
  • Java网络编程
  • Java图形用户界面

一、Java入门基础及环境搭建

  1. 主要阐述Java语言的历史和面向对象设计的特点,Java语言在1995年由Sun公司推出,最后在2009年被Oracle收购,目前用得多得版本是JDK1.7和1.8。
  2. 阐述面向对象语言设计的思想,比较面向对象设计和面向过程设计的差异。
  3. Java JDK的下载和安装,以及环境变量的配置,使用记事本编写“Hello world”程序,然后使用CMD命令行编译和执行,正式入门Java语言的开发。
  4. 讲解Java程序语言的基本要素和编程规范,如何使用流行的IDE来编写程序,讲解NetBeans、Eclipse和IntelliJ IDEA等开发工具的安装和使用,如何编写、设置以及调试代码。

二、Java程序设计基础

1、讲解常量和变量的概念,声明方式和作用域。

常量通常也被称为“final变量”。常量在整个程序中只能被赋值一次。在为所有对象共享值时,常量是非常有用的。在Java语言中声明一个常量,除了要指定数据类型外,还需要通过final关键字进行限定。声明常量的标准语法格式如下:

final 数据类型 常量名称(=值)

在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下:

type identifier [ = value][, identifier [= value] …] ;

格式说明:type为Java数据类型;identifier是变量名;可以使用逗号隔开来声明多个同类型变量。

int a, b, c;             // 声明三个int型整数:a、b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
byte z = 22;             // 声明并初始化z
String s = "runoob";     // 声明并初始化字符串s
double pi = 3.14159;     // 声明了双精度浮点型变量 pi
char x = 'x';            // 声明变量x的值是字符 'x'

变量虽然是由程序员所命名的,但是变量的命名并不是任意的,需要遵循一定的规则:

  • 变量名必须是一个有效的标识符
  • 变量名不能重复
  • 应选择有意义的单词作为变量名。在命名变量名时,最好能通过变量名看出变量的内容,这样既能方便读者对程序的理解,增加可读性,又方便程序的维护,减轻程序维护人员的工作负担。

2、8种基本数据类型的定义和概念。

[图片上传失败…(image-6eceb6-1627547262466)]

3、Java运算符的介绍,诸如算术、赋值、逻辑、关系、自增和自减、位和条件运算符,还包括运算符计算优先级的说明。

  • 算数运算符

算术运算符包括通常的加(+)、减(-)、乘(*)、除(/)、取模(%),完成整数型和浮点型数据的算术运算。关系运算符

image

  • 关系运算符

关系运算符用来比较两个值,包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)6种

  • 逻辑运算符

逻辑运算符包括逻辑与(&&)、逻辑或(||)和逻辑非(!)。

  • 位运算符

位运算符用来对二进制位进行操作,包括按位取反(~)、按位与(&)、按位或(|)、异或(^)、右移(>>)、左移(<<)和无符号右移(>>>)。

  • 赋值运算符

赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。

除了“=”,其它的都是特殊的赋值运算符,以“+=”为例,x += 3就相当于x = x + 3,首先会进行加法运算x+3,再将运算结果赋值给变量x。-=、*=、/=、%=赋值运算符都可依此类推。

条件运算符

条件运算符( ? : )也称为 “三元运算符”或“三目运算符”。

语法形式:布尔表达式 ? 表达式1 :表达式2。

运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值。

运算符的优先次序

在对一个表达式进行计算时,如果表达式中含有多种运算符,则要安运算符的优先次序一次从高向低进行。运算符的优先次序如下:

image

4、Java基本数据类型的转换。

image

  • 自动类型转换

自动类型转换是指:数字表示范围小的数据类型可以自动转换成范围大的数据类型。

如:

long l = 100;

int i = 200;
long ll = i;

具体自动转换如如下图所示。

image

强制类型转换

强制类型转换我们再清楚不过了,即强制显示的把一个数据类型转换为另外一种数据类型。

如:

short s = 199;
int i = s;// 199

double d = 10.24;
long ll = (long) d;// 10

以上的转换结果都在我们的预期之内,属于正常的转换和丢失精度的情况,下面的例子就一样属于数据溢出的情况。

int ii = 300;
byte b = (byte)ii;

300 已经超出了 byte 类型表示的范围,所以会转换成一个毫无意义的数字。

  • 类型提升

所谓类型提升就是指在多种不同数据类型的表达式中,类型会自动向范围表示大的值的数据类型提升。

把上面的溢出的例子再改下。

long count = 100000000;
int price = 1999;
long totalPrice = price * count;

price 为 int 型,count 为 long 型,运算结果为 long 型,运算结果正常,没有出现溢出的情况。

三、Java流程控制语句

程序的结构分类:
  顺序结构:按照写代码的顺序 一次执行
  选择结构:根据条件的不同有选择的执行不同的代码
  循环结构:在一定条件下 反复执行某一片代码

选择结构:

也叫分支结构 根据条件的不同,有选择的执行某一片代码 ,Java提供了两种 if结构 switch结构

if分为三种格式 :

if的第一种格式 if(条件){
    语句块
  } 执行流程: 先判断条件, 如果为真 则语句块执行, 否则 语句块不执行

代码演示:

 1 public static void main(String[] args) {
 2         System.out.println("开始");
 3         // 定义两个变量
 4         int a = 10;
 5         int b = 20;
 6 
 7         if (a == b) {
 8             System.out.println("a等于b");
 9         }
10 
11         int c = 10;
12         if (a == c) {
13             System.out.println("a等于c");
14         }
15 
16         System.out.println("结束");
17     }

if的第二种格式:

if(条件){
  语句块 1
}else{
  语句块2
}

执行流程: 先判断条件的真假, 如果为真 则只执行语句块1, 否则, 只执行语句块2
代码演示:

 1 public static void main(String[] args) {
 2         System.out.println("开始");
 3         // 判断给定的数据是奇数还是偶数
 4         // 定义变量
 5         int a = 100;
 6         // 给a重新赋值
 7         a = 99;
 8 
 9         if (a % 2 == 0) {
10             System.out.println("a是偶数");
11         } else {
12             System.out.println("a是奇数");
13         }
14 
15         System.out.println("结束");
16     }

if语句的第三种格式:

if(条件1){
  语句块1
}else if(条件2){
  语句块2
}else if(条件3){
  语句块3
}

else if(条件n){
  语句块n
}else{
  语句块n+1
}

执行流程: 先判断条件1 ,如果为真 则执行语句块1,执行完毕,跳出整个if结构执行if下面的语句, 否则判断条件2,
如果条件2为真,则执行语句块2,执行完毕跳出
整个if结构执行if下面的语句, 如果条件2也为假,则判断条件3 ,如果为真… 如果判断到条件n都为假,
则执行else中的语句块n+1 代码演示: x和y的关系满足如下:
x>=3 y = 2x + 1;
-1<=x<3 y =

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1 University students can understand innovation through learning from the past. 2. Students can better review by breaking down complex concepts into smaller components and studying the material in an organized way. 3. When learning from the past to understand innovation, it is important to focus on understanding the big picture and to not get bogged down in the details. ### 回答2: 1. 大学生如何理解温故而知新温故而知新是一种学习方法,它要求我们在学习新知识之前先回顾和巩固已经学过的知识。大学生理解温故而知新意味着要在学习新知识之前,先回顾和复习以前学过的相关知识或基础知识。通过温故,我们能够加深对已有知识的理解和记忆,从而更好地理解和掌握新的知识。 2. 学生如何更好地去复习? 学生要更好地复习,可以采取以下策略: 首先,制定一个合理的复习计划,将要复习的内容分配到不同的时间段,确保每个科目都有足够的时间。 其次,采用多种复习方法,如阅读教材、做练习题、参加讨论等,以帮助加深理解和牢固记忆。 另外,与同学或老师一起讨论复习内容,通过讲解和互动来加深理解。 此外,保持良好的学习习惯,比如及时复习、做好笔记等,能够帮助学生更好地掌握和复习知识。 3. 温故而知新的过程需要注意什么? 在温故而知新的过程中,需要注意以下几点: 首先,要有针对性,根据自己的学习需求和复习目标,选择性地回顾和复习相关知识点。 其次,要有系统性,将复习内容进行分类整理,形成一个清晰的知识框架,有助于加深理解和记忆。 另外,要关注重难点,重点复习那些相对较难或容易遗忘的知识点,加强对这些内容的学习和理解。 还要有耐心和恒心,温故而知新是一个持续的过程,需要长期坚持和不断巩固。 最后,要善于总结和归纳,通过整理和回顾复习过程中的笔记和练习,提炼出关键概念和思维模式,便于记忆和应用。 ### 回答3: 1. 大学生如何理解温故而知新? 大学生可以理解为通过回顾过去的知识和经验,来获取新的见解和理解。温故是指回顾已经学过的知识,了解其中的原理、概念和重要点。而知新则是指通过对新知识的学习,扩展和更新自己的知识体系。温故而知新相辅相成,是一个持续学习和发展的过程。 2. 学生如何更好地去复习? 学生可以通过以下方式更好地进行复习: - 制定合理的复习计划:根据时间安排和课程难度,合理分配复习时间,确保每个学科都有足够的复习时间。 - 多种复习方法结合:采用不同的学习方式,如阅读教材、做练习题、参与讨论、制作思维导图等,帮助巩固记忆和理解知识。 - 主动参与课堂:积极参与讨论和提问,与同学和老师交流,加深对知识的理解和记忆。 - 不断反思和总结:及时检查自己的复习情况,发现不足和问题,并及时调整学习方法和计划。 3. 温故而知新的过程需要注意什么? 在温故而知新的过程中,学生需要注意以下几点: - 有目的性地温故:针对具体的知识点或者问题进行回顾,明确自己的学习目标和重点。 - 理解和记忆结合:不仅要理解概念和原理,还要通过多次的复习和记忆,帮助信息在大脑中形成长期记忆。 - 理论联系实际:将学到的知识应用到实际情境中,加深对知识的理解和记忆。 - 及时巩固复习成果:通过做练习题、整理笔记、与同学讨论等方式,巩固复习的成果,确保知识掌握得更牢固。 - 长期持续学习:温故而知新是一个持续的过程,要保持学习的热情和动力,不断更新自己的知识体系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值