01-Java基础语法

一、Java入门

1、Java发展史

 1. 1996年1月,SUN公司推出了JDK1.0;
 2. 2004年9月,Java SE 5.0发布;
 3. 2014年3月,Oracle公司发布Java SE 8;
 4. 2018年9月,Java SE 11发布,该版本是一个长期支持版本,持续到2026年9月。

2、Java体系结构与特点

特点:Java是一种跨平台的、健壮的、安全的、面向对象的编程语言。 
 1. Java SE:标准版,各种应用平台的基础,桌面开发和低端商务应用的解决方案(比如银行软件、商场结算软件)。
 2. Java EE:企业版,以企业为环境而开发应用程序的解决方案(比如门户网站(工商银行)、网上商城、阿里巴巴、电子商务网站)。
 3. Java ME:微型版,致力于消费产品和嵌入式设备的最佳解决方案(比如移动电话、数字机顶盒、汽车导航系统)。

3、Java跨平台原理

JVM是一个可运行Java字节码的虚拟计算机系统。有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信;不同的平台(计算机操作系统)有不同的JVM。JVM屏蔽了底层运行平台的差别,实现了一次编译,随处运行。

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

4、Java SE 的组成

在这里插入图片描述

5、JDK

JDK:Java开发工具集,包括:
 1. JRE:Java运行时环境:
	- 加载代码:由类加载器完成;
	- 校验代码:由字节码校验器完成;
	- 执行代码:由运行时解释器完成。
 2. JVM
 3. Java API:应用程序编程接口。
 4. Java编译器(javac.exe)、Java运行时解释器(java.exe)、Java文档工具(javadoc.exe)等。

二、基础语法

1、变量

变量是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,所以称之为变量。
变量的分类:
 1. 按数据类型:
	- 基本数据类型变量;
	- 引用数据类型变量;
 2. 按声明的位置:
	- 局部变量:方法或语句块内部定义的变量;
	- 成员变量:方法外部,类的内部定义的变量;

2、数据类型

字节是用于计量存储容量的一种计量单位,1字节等于8位即 1Byte = 8 Bit 。

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

3、类型转换

 1. 自动类型转换:容量小的类型自动转换成容量大的数据类型;
	- byte、short、int 不会互相转换,计算时会转换成int类型。
 2. 强制类型转换:容量大的类型转换成容量小的数据类型,需要加强制转换符。
	- 有可能造成精度降低或数据溢出。

4、二进制

计算机中的数据都是以二进制数字保存。
补码:
	计算机内的二进制数值是以补码形式表示的。
	正数的补码和原码相同;负数的补码是原码绝对值按位取反后再加1。
使用补码的好处:
 1. 使用补码可以将符号位和其它位统一处理;
 2. 减法也可以按加法来处理;
 3. 两个补码相加时,如果最高位有进位,则舍弃进位。

5、权限修饰符

在这里插入图片描述

6、运算符

++:
	变量前缀,先对变量加1再执行其它操作;
	变量后缀,先执行其它操作再对变量加1。
字符串运算:如果“+”的左侧或右侧连接的是字符串,则属于字符串运算,不会进行算术运算。

三目运算:
	X ? Y : Z;   X为布尔类型,X=true则结果为Y;X=false则结果为Z。

7、转义字符

在这里插入图片描述

三、流程控制

1、执行结构

 1. 顺序结构:按照语句出现的顺序执行操作;
 2. 分支结构:根据条件成立与否执行操作;
 3. 循环结构:重复执行某一循环体,直到出现不满足的条件为止。

2、if 条件语句

格式:
	if(条件语句){
		执行体;
	}else if{
		执行体;
	}
	......
	else{
		执行体;
	}

3、switch 语句

格式:
	switch(表达式){
		case 值1:
			语句块1;
			break;
		case 值2:
			语句块2;
			break;
		......
		default:
			语句块n;
			break;
	}
表达式的返回值必须是byte、short、int、char、String类型。
case取值必须是常量;
default子句是可选的;
break语句在执行完一个case分支后使程序跳出switch语句块;如果case后没有break则会贯穿到下面的case分支。

4、循环结构

for循环:
	for(初始化参数;判断条件;更新循环变量){
		循环体;
	}
退出多层循环:
	alias:for(初始化参数;判断条件;更新循环变量){
		for(初始化参数;判断条件;更新循环变量){
			循环体;
			break alias;
		}
	}

break和continue:
	break指退出当前循环结构;
	continue指退出本次循环,继续执行下一次循环。

while循环:
	while(判断条件){
		
	}
符合条件,循环继续执行。先判断,后执行。

do while循环:
	do{
	
	}while(判断条件);
先执行一次循环,符合条件继续执行;先执行,再判断。

四、数组

1、概述

数组是存储数据的容器,数据按线性顺序存储在一段连续的内存空间。
优点:
 1. 查找速度快:根据索引查找。
缺点:
 1. 增删速度慢;
 2. 容量固定;
 3. 只能存储同一类型数据;

2、创建格式

 1. 数据类型[] 数组名称 = new 数据类型[数组长度];
 2. 数据类型[] 数组名称 = {数据1,数据2,...,数据n};

3、常见异常

 1. 空指针异常:数组未赋值;
 2. 数组越界异常:超出长度的索引操作;

猜你喜欢

转载自blog.csdn.net/rookie__zhou/article/details/109903909
今日推荐