黑马程序员——java复习总结——Java基础知识
来源:互联网 发布:php博客项目实战开发 编辑:程序博客网 时间:2024/06/11 04:46
------- android培训、java培训、期待与您交流! ----------
一、Java语言的概括
1.1 java语言的介绍
1.2 java语言的技术架构
Java语言有三种技术架构,他们分别是:J2EE(Java 2Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案,改技术体系中包含的技术如Servlet Jsp等,主要针对Web应用程序。
J2SE(Java 2Platform Standard Edition)标准版
是为开发普通桌面的商务应用程序提供的解决方案,该体系是共有其他两者的基础,可以完成一些桌面应用程序的开发,比如Java版的扫雷。
J2ME(Java 2Platform Micro Edition)小型版
是为了开发电子消费产品和嵌入式设备提供的解决方案,该技术体系主要用于小型电子消费产品,如手机中的应用程序等。
而在Java5.0版本后,这三者更名为JAVAEE JAVASE JAVAME
1.3 Java语言的特点——跨平台性
跨平台性是指Java语言编写的应用程序在不同的系统上都可以运行。
而它的原理是,Java程序是由JVM(JavaVirtual Machine)来负责运行的。而不同的操作系统可以通过它们对应的JVM来执行Java的程序,所以这样就实现了Java程序的跨平台性,也称为Java具有良好的可移植性。
二、Java语言的基础组成
2.1 java语言的关键字
定义:被java语言赋予了特殊含义的单词
特点:关键字中所有的字母都为小写。
用于定义数据类型的关键字:
用于定义数据类型值的关键字
用于定义流程控制的关键字
2.2 标识符
定义:在程序中自定义的一些名称。
由26个英文字母大小写,数字0-9和符号_$组成。
在定义标识符时,具有以下规则:
1、 数字不可以开头
2、 不可以使用关键字
Java中严格区分大小写,所以在起名字时,为了提高阅读性,尽量起有意义的名字。
注意:main不是关键字,确实虚拟机所识别的一个名称。
Java命名的规范:
包名:多个单词都小写
类名和接口:多个单词组成时,所有单词的首字母大写。
变量名和函数名:多个单词组成时,第一个单词首字母小写,后面的单词首字母大写。
常量名:所有字母都大写,多个单词时使用下划线连接。
2.3 注释
Java中注释有三种:
行注释: // 它表示它后面的这一行都是注释
段注释: 以 /* 开头,以 */ 结尾,两个符合中间的一段都是注释。
文本注释:以 /** 开头,以 */ 结尾,和段注释相同,只是这个注释中可以用@生成文本。
注意:java中注释不可以嵌套。
2.4 常量和变量
常量表示不能改变的数值
Java中的常量分类:
1、 整数常量,所有整数。
2、 小数常量,所有小数。
3、 布尔型常量,较为特有,只有两种数值,true和false。
4、 字符常量,将一个数字字母或者符号用单引号(’ ’)标识。
5、 字符串常量,将一个或者多个字符用双引号标识。
6、 Null常量,只有一个数值就是null。
对于整数:java有三种表现形式。
十进制:0-9,满10进1。
八进制:0-7,满8进1,用0表示开头。
十六进制:0-9,A-F,满16进1,用0x开头表示。
负数的二进制:将他对应正数的二进制全部取反然后加1.
2.5 类型的转换
数据类型的级别:byte、char、short-->int-->float-->long-->double
自动类型转换:在java预算中,会将级别从低到高,进行自动转换。
强制类型转换:将一个高级别数赋给一个低级别数时使用,不然会出现数据可能损失精度的错误。
例如:
byte b = 1; b = b+1;
在第二个表达式中,有自动类型转换,这是因为byte型的b和int型数据运算时,会自动向高级类型转换。而再将高级的数值赋给低级别byte的b时,就会出现数据损失精度的错误了。
2.6 运算符
运算符有很多种,这里分为:
1、 算术运算符
2、 赋值运算符
3、 比较运算符
4、 逻辑运算符
5、 位运算符
6、 三元运算符
2.6.1 算术运算符
2.6.2 赋值运算符
= += -= *= /= %=
2.6.3 比较运算符
比较运算符的结构都是boolean型,要么是true,要么是false。
2.6.4 逻辑运算符
2.6.5 位运算符
位运算符是直接对二进制进行运算。所以也是效率最高的。
例如:3<<3就是表示3*8,但是相比于直接写3*8,写3<<3时计算机效率更高。
对于^异或运算,对于一个数,连续异或同一个数两次,那么还是原来的这个数,利用这个特点,可以进行数据加密,或者在不实用第三方变量的情况下,实现数据的互换。
例如:交换int m,n;
n = n^m;
m = n^m;
n = n^m;
这样,就实现了在不适用第三方变量的情况下,交换两个int类型的数。
2.7 程序流程控制
判断结构( if else )
选择结构( switch case )
循环结构( while或者 do while 或者for)
2.7.1
If语句的三种格式:
第一种:
If(条件表达式)
{
执行语句;
}
第二种:
If()
{
执行语句;
}
Else
{
执行语句;
}
第三种:
If(条件表达式)
{
执行语句;
}
else if(条件表达式)
{
执行语句;
}
… …
else
{
执行语句;
}
2.7.2 选择结构
switch语句
格式:
switch(表达式)
{
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
……
default:
执行语句;
break;
}
2.7.3 循环结构
while语句格式:
while(条件表达式)
{
执行语句;
}
do while语句格式:
do
{
执行语句;
}while(条件表达式);
do while特点是无论条件是否满足,循环体至少被执行一次。
for语句格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
2.7.4 无限循环的最简单表现形式:
while(true)
for( ; ; ){}
2.7.5 其他流程控制语句
break(跳出) continue(继续)
break语句:应用范围,选择结构和循环结构。
continue语句,应用于循环结构。
注意:
1、 这两个语句离开了应用范围,都是存在没有意义的。
2、这两个语句单独存在在下面都是不可以有语句的,因为执行不到。
3、continue语句是结束本次循环继续下次循环。
4、标号的出现,可以让这两个语句作用于指定范围。
2.8 函数
2.8.1 函数的定义
函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。
函数的格式:
修饰符返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
实际参数:传递给形式参数的具体数值。
return :用于结束函数。
返回值:该值会返回给调用者。
2.8.2 函数的特点
1、定义函数可以将功能代码进行封装,便于对于该功能进行反复复用。
2、函数只有在被调用才会执行。
3、函数的出现提高了代码的复用性。
4、对于函数没有具体的返回值的情况,返回值类型用关键字void表示,那么函数中的return语句如果在最后一行可以省略不写。
注意:
函数中只能调用函数,不可以在函数内部定义函数。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
2.8.3 函数的重载
重载的概念:
在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
重载的特点:
与返回值类型无关,只看参数列表。
重载的好处:
方便阅读,优化了程序。
2.9 数组
数组的概念:
同一种类型的数据的集合,其实数组就是一个容器。
数组的好处:
可以自动的给数组中的元素从0开始编号,方便操作这些元素。
格式1:
元素类型[] 数组名= new 元素类型[元素的个数或者数组长度];
示例:int[] arr = new int[5];
格式2:
元素类型[] 数组名= new 元素类型[]{元素,元素,……};
int[] arr = new int[]{}1,2,3,4;
int[] arr = {1,2,3,4};
2.10 内存结构
java程序在运行时,需要在内存中分配空间,为了提高运行效率,有对空间进行不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
栈内存:
用于存储局部变量,当数据使用完,所占的空间会自动释放。
堆内存:
1、数组和对象,通过new建立的实力都存放在堆内存中。
2、每一个死体都有内存地址值。
3、实体中的变量都有默认的初始化值。
4、实体不在被使用,会在不确定的时间内被垃圾回收器回收。
方法区:本地方法区,寄存器。
- 黑马程序员——java复习总结——Java基础知识
- 黑马程序员—java基础复习—基础知识
- 黑马程序员—Java基础知识
- 黑马程序员——java复习总结——多线程
- 黑马程序员——java复习总结——字符串
- 黑马程序员——java复习总结——反射
- 黑马程序员——Java集合框架复习总结(一)
- 黑马程序员——Java集合框架复习总结(二)
- 黑马程序员——Java集合框架复习总结(三)
- 黑马程序员——java基础面向对象基础知识总结
- 黑马程序员——Java基础知识总结(超级经典)
- 黑马程序员——java基础知识总结(一)
- 黑马程序员——Java基础知识
- 黑马程序员——Java基础知识补充
- 黑马程序员——java基础知识
- 黑马程序员——Java基础知识
- 黑马程序员——Java基础知识
- 黑马程序员——Java基础知识
- POJ 1426 Find The Multiple
- EGOTableViewPullRefresh和MJRefresh
- fedora22弃用yum改用dnf
- LeetCode -- 查找最小公共祖先
- npc显示主机监控状态,不显示服务监控状态
- 黑马程序员——java复习总结——Java基础知识
- ireport自定义JFreeChart折线图
- java中判断字符串是否为空
- MySQL必知必会笔记(五)事务处理 全球化和本地化(字符集和校对)
- Netfilter
- android 全局路径变量
- Regular Expresssion Matching
- Redis常用的命令(四)-------hash
- phpize简介