Java第一阶段总结

JDK,JRE,JVM的区别

图片

JDK:Java Development Kit(Java开发工具包)

Java开发工具包,亦是Java开发者必须安装的软件环境。JDK包含了JRE与开发Java程序所需所需的工具,如编译器、调试器、反编译器、文档生成器等。

JRE:Java Runtime Environment(Java运行环境)

Java程序运行的必要环境,包含类库和JVM。

JVM:Java Virtual Machine(Java虚拟机)

JVM是Java的虚拟机,引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Java的基本组成

Java的基本组成包含数据类型、变量、标识符、运算符、字符串、数组、流程控制、注释

数据类型

Java的数组类型分为原始类型和引用类型。

原始类型:

1.整数类型:byte、short、int和long。

2.浮点类型:float和double。

3.字符类型:char。

4.布尔类型:boolean。

引用类型:

包括类,接口和数组。

比起c语言,Java的原始类型多了byte和布尔类型的boolean,byte是最小的整数类型,所占位数为8位。布尔类型boolean只包含True和False两个值。

Java使用Unicode码表示字符(C则使用ASCLL码表示),所以在Java中字符类型char占了16位,C中的char则占8位。

在Java中,若在变量声明时没有给变量赋初值,则会给该变量赋默认值。

Java的类型转换和C基本相同。

注释

单行注释 //

多行注释 //

文档注释 /**、*/,文档注释会包含在javadoc生成的文档中。

标识符

Java语言中,标识符是以字母、下划线(_)和美元符($)开始的一个字符序列,后面可以跟字母、下划线、美元符和数字。建议最好以字母开头、尽量不要包含其他符号,如程序中的类名“Circle” “TestJavaStructure”等。

元素 规范 实例
类名、接口名 首字母大写 Person Student SystemManager
变量名、数组名 Camel规则,小写开头 ageValue salary printInformation
函数名(方法名) Camel规则,小写开头 setCourse getAge setUserName
包名 全部小写 com_zknu.czw sam.gover
常量名 全部大写 MAX_VALUE

C中标识符以字母,数字,下划线组成,都不能以数字开头。

变量

变量,即值可以改变的量。变量利用声明的方式将内存中的某个内存块保存下来以供程序使用。变量可以用来存放数据,而使用前必须先声明它的数据类型,也可以在声明时立即为其赋值,如程序中变量的声明和初始化(与C语言相同)。

运算符

运算符分为赋值运算符、算术运算符、位运算符和关系运算符

赋值运算符:=。

算术运算符:+、-、*、/、%。

常用:+=、-=、*=、/=、%=、++、–。

Java的赋值运算符和算术运算符使用方式和C中基本一致。

位运算符:~、&、|、、>>、<<、>>>、&=、|=、=、>>=、<<=、>>>=。

含义 C语言 Java
按位与 a & b a & b
按位或 a | b a | b
按位异或 a ^ b a ^ b
按位取反 ~a ~a
左移 a << b a << b
带符号右移 a >> b a >> b
无符号右移 / a>>> b

关系运算符:==、!=、>、<、>=、<=。

三元运算符:?:。

Java的运算符优先级与C中的一致。

流程控制

流程控制语句可分为选择、循环和跳转三大类。

选择语句包括if-else语句和switch-case语句。

循环语句包括for语句、while语句和do-while语句。

中断语句包括break语句和continue语句。

Java的流程控制与C基本相同。

在for语句中,JDK1.5以上版本可以使用foreach语句

for each(数据类型 变量名称 : 数组名称){
  // 语句序列;
}

数组

数组包含一维数组,二维数组和多维数组。

一维数组

数组名 = new 数据类型 [数组大小];
buffer = new int[5];
数据类型 数组名[] = new 数据类型[数组大小];
数据类型[] 数组名 = new 数据类型[数组大小];
int []buffer = new int[50];//声明数组的同时创建数组
int []buffer1 =new int[]{10,20,30,40,60};//因格式比较烦琐,所以很少使用
使用关键字new创建数组时,元素都是默认值,这种初始化叫做“动态初始化”。
还有一种不使用关键字new,在声明数组的同时就完成了创建和初始化的工具,称为“静态初始化”。
int [] buffer = {2,3,4,1,9}//不使用new,必须写在一行。
Java中数组的下标也是和C一样,从0开始到数组大小-1。不同于C的是,Java中会进行数组越界检查。
Java中,只开辟了栈内存空间的数组是永远无法使用的,必须有指向的堆内存才可以使用。要想开辟新的堆内存,必须使用关键字new,然后将此堆内存的使用权交给对应的栈内存空间,并且一个堆内存可以同时被多个栈内存空间指向。

二维数组

声明方法:

数据类型 数组名[][] 或者 数据类型[][] 数组名;

二维数组分配内存方法如下:

数组名 = new 数据类型 [行数组大小][列数组大小];

二维数组在分配内存时,必须告诉编译器二维数组的行与列个数。(C语言中二维数组声明大小时行个数可以省略)。

String类(字符串)

String是用于声明字符串的类,在Java中是一个特殊的类。

String类中有两种实例化对象的方法。

//直接实例化String对象
String s1 = "abc";
String s2 = "abc";
//调用String类中的构造方法实例化对象
String s3 = new String("abc");
String s4 = new String("abc");

在上述实例化对象中,s1 == s2, s3 != s4。
String的常用方法

方法名 功能
boolean equals (Object anObject) : 将此字符串与指定对象进行比较
boolean equalsIgnoreCase (String anotherString) : 将此字符串与指定对象进行比较,忽略大小写。
int length () : 返回此字符串的长度。
String concat (String str) : 将指定的字符串连接到该字符串的末尾。
char charAt (int index) : 返回指定索引处的 char值。
int indexOf (String str) : 返回指定子字符串第一次出现在该字符串内的索引。
String substring (int beginIndex) : 返回一个子字符串,从beginIndex开始截取字符串到字符串结尾。
String substring (int beginIndex, int endIndex) : 返回一个子字符串
char[] toCharArray () : 将此字符串转换为新的字符数组。
byte[] getBytes () : 使用平台的默认字符集将该 String编码转换为新的字节数组。
String replace (CharSequence target, CharSequence replacement) : 将与target匹配的字符串使用replacement字符串替换。
String[] split(String regex) : 将此字符串按照给定的regex(规则)拆分为字符串数组。
boolean contains(CharSequence s): 判断字符串中是否包含指定字符。

发布了1 篇原创文章 · 获赞 2 · 访问量 56

猜你喜欢

转载自blog.csdn.net/Ricardo_Sl/article/details/104056437