3.java语言基础

我这些学习笔记,记录的都是我自己认为的知识点,可能以后再看的时候还要翻书,但是可以用来定位到准确的书中示例的位置,减少翻书重找的时间,利于自身知识体系的搭建。                   self-transcendence

3章  java语言基础

3.1  java主类结构

java是面向对象的程序设计语言

java程序的基本组单位成是类

类是有属性和方法构成,每一个应用程序都必须有一个main方法,含有main方法的类成为主类。

3.1.1  包声明

java程序由若干个类组成,package是声明包的关键字

3.1.2  全局变量和局部变量

全局变量声明在类中,局部变量声明在方法中

3.1.3  编写主方法

main是类中的主方法,public static void分别是权限修饰符,静态修饰符,和返回值修饰符。

main方法必须声明为public static void

main方法是程序开始执行的位置。

3.1.4  导入api类库

通过import关键字导入相关的类。jdkapi中提供了130多个包,其中主要包括类的继承结构,类的应用,成员变量表,构造方法表等

3.2  基本数据类型

(数值型)整数类型byteshortintlong

(数值型)浮点类型floatdouble

字符型char

布尔型boolean

3.2.1  整数类型

没有小数部分的数值,正负数都可以,有3种表现形式

十进制:不能以0作为开头(0除外),例子1200-127

八进制:必须以0开头,例子0123(十进制为83)、-0123(十进制为-083

十六进制:必须以0X0x开头,例子0x25(十进制为37)、0Xb01e(十进制为45086

数据类型

内存空间(8位等于1字节

取值范围

byte

8

-128-127    长度3

short

16

-32768-32767    长度5

int

32

-2147483648-2147483647长度10

Long

64

长度为19

long型值,要在末尾处+Ll。例如:long num=2147483650L

所有的整型不用进行类型转换可以直接相加

3.2.2  浮点类型

数据类型

内存空间(8位等于1字节

取值范围

Float

32

1.4E-45~3.4028235E38

double

64

4.9E-324~1.7976931348623157E308

float型值,要在末尾处+Ff。例如:float f1=13.23f

3.2.3  字符类型

数据类型

内存空间(8位等于1字节

Char

16

char用单引号表示,例如:‘s’但是s”就是字符串

声明字符型变量char x=a’;char x=97;是一样的。

因为java语言把字符当做整数对待。在unicode编码中采用无符号编码,可以存储65536个字符(0x0000~0xffff),所以java中的字符可以处理所有国家的语言文字,若想得到一个0-65536之间的数所代表的unicode表中相应位置上的字符,也必须使用char型显示转换。

例如,int i=200;我们取unicode上面的200位的字符就是,(chari就可以。

3.2.4  布尔类型

boolean只有truefalse

3.3  变量与常量

程序执行过程中,不能被改变的量成为常量,常量和变量都必须使用合法的标识符。

3.3.1  标识符和关键字

1.标识符

用来标识类名、变量名、方法名、数组名、文件名的有效字符序列

java使用unicode标识字符集,最多可以标识65535个字符,因此,java语言中的字母不仅包括通常的拉丁文字abc等,还包括汉字、日文以及其他许多语言中的文字

2.关键字

java中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。

3.3.2  声明变量

定义变量是为了告诉编译器(compiler)这个变量的数据类型,让编译器分配空间,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就成为变量。为了便于操作,给这个空间起个名字,就叫做变量名,内存空间的值就是变量值。

系统的内存大略分为3个区域:

系统区(OS):。

程序区(Program):当程序执行时,程序代码会加载到内存中的程序区。

数据区(Data):数据暂时存储在数据区。

假设有int agechar char1=r’;这样的代码

当程序运行的时候,程序加载到程序区中,执行到上面两行代码时,会在数据区配置空间给出这两个变量。

3.3.3  声明常量

程序运行过程中一直不会改变的值称为常量(constant),通常也被称为“final变量”。常量在整个程序中只能被赋值一次。final是常量的关键字。

3.3.4  变量的有效范围

定义的变量暂存在内存中,等到程序执行到某一个点,该变量会被释放掉,即变量的生命周期。

变量的有效范围是指代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“全局变量”和“局部变量”。

1.全局变量

类中定义的变量被称为全局变量(成员变量)。全局变量又可分为静态变量和实例变量。

在全局变量的前面加上static关键字,就是静态变量。静态变量的有效范围可以跨类,甚至可以达到整个应用程序之内,对于静态变量,除了能在定义它的类中使用,还可以用“类名.静态变量”的方式在其他类中使用。

2.局部变量

局部变量的生命周期:当方法被调用,java虚拟机为方法中的变量分配内存空间,当方法的调用结束后,释放方法中变量占用的内存空间。

局部变量可以跟全局变量名称相同,此时全局变量在这个方法中暂时失效。

3.4  运算符

赋值运算符、算术运算符、比较运算符

3.4.1  赋值运算符(=

是二元运算符(对两个操作数做处理),做处理会先取得右方表达式的结果,因此当一个表达式中有两个以上的=”,会从最右边开始计算。

3.4.2  算术运算符(+ - * / %

运算符

说明

实例

结果

+

12.45f+15

27.45

-

4.56-0.16

4.4

*

5L*12.45f

62.25

/

7/2

3

%

取余数

12%10

2

3.4.3  自增和自减运算符(++ --

自增、自减是单目运算符。操作元必须是一个数值型变量。自增自减是让变量的值增1或减1。放在操作之前,先计算后运行;放在操作元之后,先运行后计算。b=++ab=a++

3.4.4  比较运算符(< > == >= <= !=

属于二元运算符,比较运算符得到的结果是boolean值。

运算符

作用

举例

操作数据

结果

>

大于

a>b

整型,浮点型,字符型

False

<

小于

156 < 255

整型,浮点型,字符型

True

==

等于

‘c’==’c’

基本数据类型,引用型

True

>=

大于等于

1244>=111

整型,浮点型,字符型

True

<=

小于等于

12.45<=45.5

整型,浮点型,字符型

True

!=

不等于

1=2

基本数据类型,引用型

True

3.4.5  逻辑运算符(&& || !)

逻辑运算符的操作员必须是boolean型,只有!是一元运算符,其他都是二元运算符

&&&都是逻辑与,区别在于,&&会在计算出一个表达式为false之后结束;&会把所有的表达式都计算出来。&&类似的做法被称为“短路”。类似&称为“非短路”

3.4.6  位运算符

---------------------------------------------------------------------------------------------------------

3.4.7  三元运算符

表达式?值1:值2   表达式结果为true1,结果为false2

3.4.8  运算符优先级

如果两个运算有相同的优先级,那么左边的表达式比右边的表达式先处理。

3.5  数据类型转换

从低精度向高精度转换,永远不会溢出,不会失败;

从高精度向低精度转换,必然会有丢失,可能失败。

数据类型转换有两种形式,即隐式转换(自动转换)与显示转换(强制转换)。

3.5.1  隐式类型转换

不包括逻辑类型和字符类型的精度顺序:

byte < short < int < long < float < double

理解技巧:源和目标是大小不同的两个方块,类型转换的过程,就是给这个方块加面积和减面积。

3.5.2  显式类型转换(强制类型转换)

除了boolean类型以外的其他基本数据类型的转换使用强制转换都可以达到。

当给一个byteshortintlong赋值时,如果值大于类型的取值范围,就必须强制转换,例如:byte b =byte129

3.6  代码注释和编码规范

单行注释//

多行注释/* */

文档注释/** */,文档注释可以被javadoc文档工具读取为javadoc文档内容。

程序中注释要占用代码总量的20%~50%

每条语句要单独占一行,一行命令要以分号结束。

声明变量单独占一行。


猜你喜欢

转载自blog.csdn.net/selftranscendence/article/details/80883767