JAVA基础细谈
一. 源文件和编译后的类文件
源文件的本质就是程序文件,是程序员编写,是人看的。而编译后的类文件是给电脑看的文件。一个类就是一个文件,无论这个类写在哪里,编译以后都是一个文件。源文件通过java编译生成类文件,后缀名为”.java“的是源文件,后缀为“.class”的为类文件。如图
这就是一个源文件和一个和它同名的类文件,文件名和类名一样,方便开发中的文件管理。
二. 语句
java程序的组成是类文件,类文件的组成是方法,方法的组成语句。语句是任何程序的基本单位,不可再分。一个语句就对应的有一条计算机指令,一条指令就会对应着一个程序操作,就会有相应的内存变化。而操作的对象是数据。其中一个“;”就是一个语句。
这就是一个语句。
三. 注释
注释实在程序编写过程中给人看的,电脑会自动忽略。分为三种“//”是注释单行,“/*java*/”注释多行,“/**java*/”是生成说明文档。如图实例:
四. 名字的命名
标识符就是名字,需要程序员自己命名。
标识符命名规则:
(1)标识符由:数字,大小写字母,下划线,美元符号构成,别的不行。 (2)必须以:字母,下划线,或美元符号开头,数字不能开头 。 (3)关键字不能做标识符,int class 等。 (4)标识符区分大小写(java严格区分大小写)。 (5)理论上没有长度限制 。
五. 基本数据类型
数值型 : byte,short,int,long,float,double 例如: 字符型 : char 例如: 布尔型 : boolean
例如:
布尔型数据类型,只能true,false,不可以用0,非0代替,和C,php不同。 char : '',一个字母,一个汉字,单引号''.""。 Unicode,每个字符占两个字节,可用十六进制编码表示,全球语言统一编码。 转义字符 : \改变后面紧跟的那个字母的含义:\r,\n Linux,Unix,Windows \r\n 。 进制转换 : 2-8-10-16。 整数类 型 : 1,2,4,8长度;十进制,8,16,0x;整型默认是int,long,必须加L/l,即使指明了也不行。 浮点类型 : F/f,默认是double,float = 必须加f;浮点数是有误差的。
六.基本数据类型转换
boolean:和其他数据类型不能相互转换。
整型,字符,浮点:向高精度转换。 (byte,short,char)->int->long->float->double 。 byte,char,short之间不会相互转换,计算时,都自动转为int类型。 高精度向低精度转换,强制转换,精度降低或溢出。注意 : 多种数据类型转换,默认转成数据精度最高的那种。 实数字面量默认是double 。 整字面量数默认是是int 。 为什么float,long,需要加L,F?变量首先是字面量,字面量是有默认类型的(默认长度),如果字面量超过他的默认长度就会报错,但是字面量加上FL以后,编译器就不会给默认长度,而是给实际长度了.还没有到变量命名,指定数据类型(长度)哪一步,(前面的标签时给运行时用的),就已经报错了,这里可以看着从右往左运行(看编译器原理)。 float f = 0.1,默认是double类型,长度比float大。 如果赋值给float需要加F,或者强制转换.float f = 0.1f;float f = (float)0.1。 long i = 88888888888888,默认是int类型,需要加L,或者强制类型转换。 自动数据类型转换,强制数据类型转换,记住这个就可以了。 几个注意点:前面是 byte,short,float,char七. 运算符
算术操作符 : +, -, *, /, %, ++, --
如图,代表c等于a与b的和。
关系运算符 : >, <, >=, <=, ==, !=
a大于等于b 。
逻辑运算符 : |, &, !, ||, &&, ^(异或) 位运算符 : |. &, !, ~, >>, <<, >>> 赋值运算符 : +=, -=, *=, /=, %=表示整型a加上100
字符串连接符: + 注意点 : ++i, i++的区别先运算后取值(复制),先取值(复制)后运算的区别
这个输出的结果是a为101;b为101
这个输出结果中a为101;b为100
八. 流程控制
(1). if....else 分为四种:
第一种为
第二种为
第三种为
第四种为
(2). switch....case
格式为
举一个实例:
(3). while
输出的结果是0123456789 (特点是先判断后执行)
(4). do....while
(先执行后判断)
(5). for
输出的结果为10 9 8 7 6 5 4 3 2 1
上面的的这几种是可以相互嵌套的。那就不是基础了,后面会拿“for”具体说一说
九. 方法
方法的定义: [方法修饰符列表] 方法返回值类型 方法名(参数1,参数2,参数3....){ 执行语句; } (牢记,很重要,很重要) 1 方法修饰符列表是可选的:权限控制的 : public protected private /static 2 返回值类型:11中数据类型中的任意一种类型。 3 没有返回值就:void 4 方法名只要是合法的标识符即可。 5 方法形参列表,多个逗号隔开,形参也要指明数据类型。 形参 : 是指在函数/方法定义处,那些参数;数据类型 变量名, 数据类型,变量名。 实参 : 是指在函数调用处,传入的那个参数。 6 在方法体内部,如果有返回值(类型),用return语句;且return是结束函数的作用。 程序语句执行的顺序的问题: 除了传统的从上往下,从左往右,在面向对象,和方法中,就是函数的调用,由于方法,函数的出现,就可以任意的顺序的写代码,而不用考虑执行的上下关系。
就这些了,其实东西不难理解,就是零碎,往更细了说里面东西那就太多了!下面会写一篇实例应用,”for“循环的双层嵌套。