第一章 Java了解知识
1.1Java语言的特点:
-
性质:
面向对象(封装,继承,多态)Java语言中的所有函数都必须与对象有关(这些函数被称为类方法)。
平台无关性(跨平台性)。 -
核心机制–Java虚拟机
JVM是一个虚拟的计算机,具有指令集并使用不同的储存区域,负责执行 指令管理数据,内存,寄存器。JVM应用于Java程序。 -
核心机制—垃圾回收
垃圾回收:将不再使用的内存空间进行回收。
Java不需要程序员负责回收无用的内存,它提供一种系统级线程跟踪存储空间的分配情况。
垃圾回收在Java程序运行过程中自动进行,无法精确控制和干预。 -
Java常见缩写及开发工具
应用程序接口(API):Java预定类和接口
Java开发工具包(JDK)
集成开发环境(IDE):在一个圆形界面中,完成编辑,编译,调试在线帮助等功能。 -
面向对象:专注于有哪一个对象实体对解决这个问题,编程特点:出现了一个个的类,由类去生成对象。
面向过程:专注于如何去解决一个问题的过程,编程特点是用一个个函数去实现过程操作,没有类与对象的概念。 -
编译与解释并存
(解释器将字节码文件再翻译成二进制码运行)
1.2Java程序的结构
一个复杂的程序可以由一个或多个Java源程序构成,每个文件中可以有多个类定义。
一般Java源程序文件:
package语句(0句或1句)
import语句(0句或多句)
类定义(1个或多个)
注意:1.Java是严格区分大小写的语言。
2.一个程序中可以多个类,但只能有一个类是主类(包含main()方法的类)Java应用程序的主类必须有一个定义为public static void main (String[] args)的主方法,这是Java应用程序执行的入口。
1.3 注释
1.多行注释:/ * … * /
2.单行注释: //…
3.文档注释:可以使用Javadoc提取注释形成文档 / ** …*/
类和方法前使用文档注释,方法步骤前使用行注释。
1.4 类
类(class)是Java的基本结构,类是对象的模板或蓝图。一个程序包含一个或多个类,Java解释器通过调用main方法执行应用程序。
具有相似特征和行为的对象集合。某个类的一个具体的对象称为该类的一个实例。
命名:
1.变量和方法名使用小写,如果有多个单词,第一个单词首字母小写其他单词首字母大写。
2.类名的每个单词首字母大写
3.常量使用大写,单词间以下划线分隔
1.5 对象
静态特征:对象状态
动态特征:对象行为
定义:其自身所具有的状态特征及可以对这些状态施加的操作组合在一起所构成的实体。
对象是状态(属性)和行为(操作或方法)封装体,实现信息隐藏,通过接口与外界通信。
第二章 Java语言基础
2.1 数据类型
Java在定义变量时必须声明变量的类型,在为变量赋值时必须赋予变量同一种类型值。
基本数据类型 | 整数类型 | 字节型(byte) | 1字节 |
短整型(short) | 2字节 | ||
整型(int) | 4字节 | ||
长整型(long) | 8字节 | ||
浮点类型 | 单浮点型(float) | 4字节 | |
双浮点型(double) | 8字节 | ||
字符类型 | char(采用Unicode字符集编码方案) | 2字节 | |
布尔类型 | boolean(true和false) | ||
引用数据类型 | 接口 interface | 数组[ ]name | 类 class |
枚举类型enum |
浮点类型数据的两种表示方法:标准计数法和科学计数法,当计算精度要求较高时应该选用double型声明变量。
布尔类型(逻辑型)的值只有true和false,是独立的类型,不对应任何整数,不能进行整数运算。所有关系运算的返回值都是逻辑值。
(Java是一种严格的类型语言,不允许在数值型和布尔类型之间转换,1不能表示true,0也不能表示false)
字符型:Java语言中字符采用的是Unicode字符集编码方案,占 2个字节,其值用十六进制无符号整数表示,Unicode前128刚好是ASCII表char类型数据。
常用字符的ASCII值 | ||
---|---|---|
‘0’~‘9’ | 48~57 | \u0030~\u0039 |
‘A’~‘Z’ | 65~90 | \u0041~\u005A |
‘a’~‘z’ | 97~122 | \u0061~\u007A |
2.2 关键词与标识符
所有的关键词(已经被赋予特定意义的单词符号)都是小写,不能作为类名,方法名和变量名等来使用。
标识符用来表示变量名,类名,方法名,数组名和文件名的有效字符序列。
1.可以由字母,数字,下划线,美元符号组合而成。
2.必须以字母,下划线或美元符号开头,不能用数字。
3.区分大小写,任意长度。
标识符命名规范(驼峰式命名法):
见名知意,类名首字母大写,变量,方法及对象首字母小写,中间单词首字母大写。
2.3 常量与变量
- 常量是在程序运行过程中,其值不可进行改变的数据。一旦初始化后就不能再改变的数据,符号常量一般用大写字母,单词之间用下划线分隔。
语法:
final datatype CONTANT_NAME = value;
例子:final datatype PI = 3.1415926;
整型:八进制,十进制,十六进制,长整型后需要加l或L
浮点型:小数形式和指数形式;单精度后加f或F,双精度后加d或D或省略
字符型:用单引号括起来,分为普通字符和转义字符
字符串:用双括号括起来
\b | \u0008 | 退格 |
\t | \u0009 | 横向制表符 |
\n | \u000a | 换行 |
\f | \u000c | 走纸换页 |
\r | \u000d | 回车 |
" | \u0022 | 双引号 |
’ | \u0027 | 单引号 |
\ | \u005c | 反斜杠 |
\ddd | 1~3位八进制 | 八进制转义符 |
\uxxxx | \u0000 to \uffff | 十六进制转义符 |
例:输出" "
System.out.println("""");
2. 变量:在程序执行过程中其值可以改变的数,并编译时已经确定类型。每个变量在被使用之间必须先声明后使用
Java中可以随时定义变量,不必集中在执行语句之前。
语法(驼峰式)
datatype variableName; 或datatype v1,v2;
例: int x ; double radius,area;
3.变量声明
Java语言的变量除了有类型之外,还有修饰词来限定它的使用。
*修饰词包括:public,protected,private,static。
语法:
<修饰词列表><变量类型><变量名列表>
例:static int b=1;
变量声明时可以初始化,同一类型一次声明多个变量时用逗号分隔。
float f = 3.14f;
doble f = 3.14;
2.4 数据类型转换
- 自动类型转换(短–>长)
- 转换前的数据类型与转换后的数据类型兼容。
- 转换后的数据类型的表示范围比转换前的类型大。
注意:不同的类型数据进行运算时,需先转换为同一类型,然后在进行运算。
bype–>short–>char–>int–>long–>float–>double–>string
只限该语句本身,并不会影响原先变量,布尔类型数据无法进行类型转换。
- 强制类型(长–>短)
- 字符串型数据与整型数据相互转换
例子:String MyNumber = “123.45”;
float MyFloat = Float.parseFloat(MyNumber); - 数值型数据转换为字符串
字符串可用"+"来实现连接操作
例子:int MyInt = 1234;
String MyString = " " + MyInt;
2.5 由键盘输入数据
- 键盘输入数据
Java将文字,数字都视为字符串,因此由键盘输入数字必须要经过先转换
import java.io.*;
public class class_name {
public static void main (String[] args)throws IOException
{
float num;
String str;
BufferedReader buf;
buf = new BufferedReader (new InoutStreamReader(System.in));
System.out.print("请输入字符串:");
str = buf.readLine(); //将输入的文字指定给字符串变量str存放
num = Float.parseFloar(str);//将str转换成float类型后赋给num
System.out.println("您输入的数:" + num);
}
}
//num = Integer.parseInt(str); 将str转成int类型赋给num