Java语言基础

来源:互联网 发布:男士钱包网络代理 编辑:程序博客网 时间:2024/06/18 06:57

Java语言基础由关键字、标识符、注释、常量和变量、运算符、语句、函数和数组等组成。
●1.1 关键字
关键字的定义和特点:
定义:被Java语言赋予了特殊含义的单词
特点:关键字中所有字母都是小写
这里写图片描述

示例:用编辑器编写一个九九乘法表程序,如下图所示
这里写图片描述

注意:
▷类名的首字母要大写,这是Java语言的命名规范之一;
▷所有的关键字都不需要记忆,在后期的学习中慢慢的就会都掌握;
▷写代码一定要遵循代码规范,要注意代码的可阅读性;
▷起名字时要注意可阅读性,比如Abc这种名字就不要起,要注意见名知义,例如ArrayList就可取。
1.2标识符
1.2.1 标识符的定义及其特点
定义:在程序中自定义的一些名称,例如:类名。
特点:由26个英文字母大小写,数字:0-9,符号:_$组成。
1.2.2 定义合法标识符的规则
▷数字不可以开头,例如:12demo就不可以;
▷不可以使用关键字,例如:class就不可以,因为class是关键字;
▷不可以包含“_”、“ demoJavatemp”来分隔主名称与子名称。
1.2.3 Java中的名称规范
●包名:多单词组成时,所有字母都要小写
▪xxxyyyzzz
●类名接口名:多单词组成时,所有单词首字母都要大写
▪XxxYyyZzz
●变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写
▪xxxYyyZzz
●常量名:所有字母都大写,多单词时每个单词用下划线连接
▪xxx_yyy_zzz
1.3 注释
1.3.1 注释的定义及特点
定义:用于注解说明解释程序的文字就是注释
特点:提高了代码的阅读性
1.3.2 Java中的注释格式
●单行注释
格式://注释文字
●多行注释
格式:/* 注释文字*/
●文档注释
格式:/*注释文字/
注意:
▷ 对于单行和多行注释,被注释的文字,不会被JVM(Java虚拟机)解释执行;
▷ 对于文档注释,是Java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页形式体现的该程序的说明文档;
▷ 注释是一个程序员必须要具有的良好的变成习惯;
▷ 初学者编写程序可以养成习惯:先写注释再写代码。将自己的思想通过注释先整理出来,再用代码去体现, 因为代码仅仅是思想的一种体现形式而已。
这里写图片描述
1.4 常量与变量
1.4.1 常量
● 常量的概念
▪表示内存中不可改变的数值
●Java中的常用分类
▪整数常量。所有整数
▪小数常量。所有小数
▪布尔型常量。较为特有,只有两个数值true,false。
▪字符型常量。将一个数字字母或者符号用单引号(’ ‘)标识。
▪字符串常量。将一个或者多个字符用双引号标识。
▪null常量。只有一个数值就是:null。
●对于整数:java有三种表现形式。
▪十进制:0-9,满十进一
▪八进制:0-7,满八进一,用0开头表示
▪十六进制:0-9,A-F,满16进1,用0x开头表示。
注意:任何数据在计算机中都是以二进制的形式存在的,二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7,超过7就进位了,这就是八进制。但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
规律:进制越大,表现形式越短
●进制的基本转换
▪十进制 二进制 互转
♢ 十进制变成二进制 除以2取余数
示例:求十进制数6的二进制数。
 6/2=3余0
 3/2=1余1
 1/2=0余1
 故,6(十进制)=110(二进制)
♢ 二进制转换成十进制 乘以2的幂数
原理:二进制乘以2的过程。
示例:求二进制数110的十进制数。
110=0*2(0)+1*2(1)+1*2(2)=0+2+4=6
附:括号中的数值代表次方。
示例:求二进制数00110101的十进制数。
00110101
1286432168421
 —————————— 
=321+161+41+11=53
示例:二进制加法,5+4=9。

101
+100
————
1001
▪十进制 八进制 互转
原理:八进制,其实就是二进制位,3个二进制位,1个八进制位。
示例:求十进制数43的八进制数。
十进制43
二进制101011
三位分割000-101-011
八进制 0 5 3
因此,43(十进制)=101011(二进制)=053(八进制)
▪十进制 十六进制互转
原理:十六进制,其实就是二进制位,4个二进制位,1个十六进制位。
示例:求十进制数43的十六进制数。
十进制43
二进制101011
四位分割0010-1011
十六进制2(2)11(B)
因此,43(十进制)=101011(二进制)=0x2B(十六进制)
▪负数的二进制表现形式
原理:对应的正数二进制取反加一
示例:求-6的二进制表现形式,其实就是对应的正数6的二进制取反加1。
6
0000-0110
取反1111-1001
加1+0000-0001
——————-1111-1010
注意:
▷负数的二进制最高位永远是1。

1.4.2变量
●变量的概念
▪内存中的一个存储区域
▪该区域有自己的名称(变量名)和类型(数据类型)
▪该区域的数据可以在同一类型范围内不断变化
●为什么要定义变量?
▪用来不断的存放同一类型的常量,并可以重复使用
●使用变量要注意以下几点:
▪变量的作用范围(一对{}之间有效)
▪初始化值
●定义变量的格式
▪数据类型 变量名=初始化值
▪注意:格式是固定的,要记住,以不变应万变
▪理解:变量就如同数学中的未知数
●1.4.3 java语言的数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间:
byte1个字节
short2个字节
int4个字节
long8个字节
float4个字节
double8个字节
char2个字节
Java语言的数据类型包括8种基本类型,3种引用类型。
这里写图片描述

注意:
▷整数默认类型:int类型;小数默认类型:double类型。
▷double类型的小数精度比float类型的小数更高。
常见错误:
错误示例一:
这里写图片描述
错误原因:变量定义一次以后,不能再重新定义一次。
错误示例二:
这里写图片描述
运行结果:
这里写图片描述

错误原因:由于整数默认类型是int类型,如果数值超过了int类型的范围,那么就会报如上错误。即使是赋值给long类型的变量,但是由于后面的常量已经超过了int类型的范围,同样会报错。
解决方法:在数值后面加上一个“l”,就可以让编译器知道后面的常量是long类型。
修改后:
这里写图片描述
运行结果:
这里写图片描述
错误示例三:
这里写图片描述
运行结果:
这里写图片描述
错误原因:由于小数默认是double(8byte)类型,赋值给float(4byte)类型的变量,当然可能会损失精度,必然通不过编译器的审核。
解决方法:在数值后面加上一个“f”,让编译器知道后面的常量是float类型的。
错误示例四:
这里写图片描述
运行结果:
这里写图片描述
错误原因:由于变量y是未初始化的,所以不能直接操作。
解决方法:一定要为变量y先赋值,再打印输出。
错误示例五:
这里写图片描述
运行结果:
这里写图片描述
错误原因:由于变量z的作用范围是在一对{}之间有效,超出这个范围就失效了。所以,找不到z这个符号。
解决方法:将大括号去掉,或者在大括号里面直接打印变量z。
1.4.2 类型转换
类型转换在开发中也很常用,简单来说就是类型之间相互的转化,类型转换共分两种,自动类型转换和强制类型转换。
●自动类型转换(隐式类型转换)
定义:自动类型转换就是不需要我们手动对类型来进行强制转换。
这里写图片描述
运行结果:
这里写图片描述
说明:int类型的变量占4个字节,当byte类型的变量与其相加的时候,首先会将byte类型的变量自动
转化为4个字节的int类型,然后再进行加法操作。
●强制类型转换(显式类型转换)
定义:强制类型转换需要把类型进行手动转换,否则无法正常使用
示例:
这里写图片描述
运行结果:
这里写图片描述
错误原因:当byte类型的变量提升为int类型与int类型的常量200相加后,结果依然是int类型,再赋值给byte类型,当然会出现损失精度的错误。
解决方法:进行强制类型转换,也就是将占4个字节的int类型值,再强硬存储到占1个字节的byte变量
中。
修改后:
这里写图片描述
运行结果:
这里写图片描述

0 0