JAVA基础知识的整理

Java基础的主要内容(第一篇):

本篇主要总结了以下几个方面的基本知识点:
1.概述和基本的环境搭建;
2. 数据类型;
3. 分支结构;
4. 循环;
5. 函数;
6. 数组。

1.概述和基本的环境搭建

1.1 控制台编译、运行Java程序的指令: 编译:javac 源文件名称.java 运行:java 类名
如果带包编译运行:编译:javac -d .源文件名称.java 运行:java 全限定名.类名(全限定名,即整个包名目录)
1.2 定义类的一些要求:一个源文件中可以存在多个类,并且每个类都会生成独立的.class字节码文件;但是一个源文件中只能存在一个公开类(public class),并且公开类的类名应该和源文件的名称保持一致;每个类都可以存在自己的主函数,但是每个类中只能有一个。
1.3 关于标识符的一些命名规范:
硬性规定:标识符的组成只能以数字、字母、_、$组成,并且不能用数字开头;不能和保留字、关键字重名;严格区分大小写。
其他规定(非硬性,但最好遵守):望文生义(即最好以对应的英文单词或拼接词命名);类名首字母大写;函数名、变量名首字母小写,使用驼峰命名法;包名全小写,可以使用英文.连接,但是不能用在开头结尾;常量名全部大写,多个单词时可以使用下划线连接。

2.数据类型

2.1变量:存储数据的基本单元,计算机中的一块内存空间。三种定义方式:先声明,再赋值;声明的同时赋值;多个变量同时声明或赋值。
2.2数据类型:数据类型(字节数)
基本数据类型:byte(1) short(2) int(4) long(8) float(4) duble(8) char(2) boolean(1)
引用数据类型:String
2.3类型转换(两种类型相互兼容为前提):自动类型转换:目标类型大于原类型;强制类型转换:目标类型小于原类型。
2.4运算符:算术运算符(+ - * / %)单目运算符(++ --)赋值运算符(= += -= *= /= %=)关系运算符(> < >= <= == !=)逻辑运算符(&& || ! & | )三元运算符(布尔表达式?结果1:结果2)

3.分支结构

选择结构:根据已知的条件进行逻辑判断,满足条件后执行相应的操作,常用的有以下几种:

//第一种:一次判断选择
if(布尔表达式){
	//代码块
}
//第二种:两种判断
if(布尔表达式){  
	//代码块
}else{
	//代码块
}
//第三种:多重if选择(中间的else if多少根据个人需求而定)
if(布尔表达式0){  
 	//代码块0
}else if(布尔表达式1){
 	//代码块1
}else{
	//代码块2
}
//第四种:嵌套if选择结构
if(外层表达式){
	if(内层表达式){
		//内层代码块1
	}else{
		//内层代码块2
	}
}else{
	//外层代码块
}
//第五种:switch分支结构
switch(表达式|变量){
	case 值1:逻辑代码1;break;
	case 值2:
	case 值3:逻辑代码2;break; //满足值2或值3时都执行逻辑代码2
	...
	case 值n:逻辑代码2;break;
	default:未满足时执行的逻辑代码;break;
}

4.循环

4.1 循环:通过某个条件,重复的执行一段逻辑代码,避免代码冗余。包含初始部分、循环条件、迭代部分、循环操作四个部分。
4.2常用的循环:for(先判断再执行)、while(先判断再执行)、do while(先执行再判断,首次没有入口条件)

//for循环(最常用)
for(初始化;布尔表达式;迭代值){	
	//需要循环执行的代码
}
//while循环
while(布尔表达式){
	//需要循环执行的代码
}
//do while循环
do{
	//需要循环执行的代码
}while(布尔表达式);

5.函数

5.1函数:实现特定功能的一段代码,可以重复使用。目的:减少代码冗余、提高代码的可读性和可维护性以及复用性。
5.2函数的定义和使用:
定义:
public static 返回值类型 函数名称(形参列表){
函数主体;
}
使用:函数名称(实际参数);
5.3函数的具体使用举例。递归:当需要解决的大问题可以拆分成若干个小问题,大小问题的解决方法完全相同,并且有固定的规律,我们可以函数中自己调用自己,并设置有效的出口条件,避免无穷递归。
(如下图求阶乘,打印的是5 的阶乘)

java第一课讲课内容 java第一章知识点_布尔表达式

6.数组

6.1 数组:一组连续的存储空间,可以存储多个相同类型的值。
定义:先声明、再分配空间、赋值;声明并且分配空间、赋值;显示初始化。
举例:int[] nums = new int[4]; 通过“数组名[下标]”进行访问。
6.2 数组的遍历常用forEach循环遍历,扩容最基本就是对原数组长度*2。
6.3可变长参数:可以接受0到多个同类型参数,个数不限,使用和数组相同。(必须再形参列表最后,并且只能有一个)。
6.4二维数组:一维数组中的一维数组,即数组中的元素还是数组。定义:数据类型[][] 数组名={{v1,v2},{v3,v4,v5},{v6,v7,v8,v9}};
6.5 冒泡排序代码举例(升序):

int[] array = {1,10,2,88,-1,100,98,666,3};
for(int i=0;i<array.length-1;i++){
	for(int j=0;j<array.length-i-1;j++){
		if(array[j]>array[j+1]){
			int num = array[j];
			array[j] = array[j+1];
			array[j+1] = num;
		}
	}
}

后续还有篇章,个人能力有限,总结还有欠缺,希望各位网友积极指正。