第一章
java入门
1.Java的核心优势:跨平台。跨平台是靠JVM(虚拟机)实现的。
(JVM是一个虚拟的用于执行字节码的虚拟机)
2.Java各版本的含义:
JavaSE(Java Standard Edition)标准版,定位在个人计算机的应用。
JavaEE(Java Enterprise Edition)企业版,定位在服务器端的应用。
JavaME(Java Micro Edition)微型版,定位在消费电子产品的应用。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200309132557999.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTcyOTMzNQ==,size_16,color_FFFFFF,t_70)
3.Java程序的开发运行过程为:编写代码、编译、解释运行。
4.JDK用于开发Java程序,JRE是Java运行环境; JVM是JRE的子集,JRE是JDK的子集。
5.JDK配置,需要新建JAVA_HOME环境变量;需要修改Path环境变量。
6.Java是面向对象的语言,所有代码必须位于类class里面。main方法是Java应用程序的入口方法。
固定写法:
public static void main(String[] args) {…}
7.常见的Java集成开发环境有三个:eclipse、IntelliJ IDE、NetBeans。
8.一个源文件中至多只能声明一个public的类,其它类的个数不限,如果源文件中包含一个public 类,源文件名必须和其中定义的public的类名相同,且以“.java”为扩展名。
9.java对大小写敏感,如果出现大小写拼写错误,无法执行。
练习题
选择题
1.以下( C )不是Java的特点。(选择一项)
A.平台无关性
B.高可靠性和安全性
C.指针运算
D.分布式应用和多线程
(java为了保证安全性,并未引入指针概念)
2.以下选项中关于Java跨平台原理的说法正确的是( AC )。(选择二项)
A Java源程序要先编译成与平台无关的字节码文件(.class),然后字节码文件再被解释成机器码运行
B. Java语言只需要编译,不需要进行解释
C.Java虚拟机是运行Java字节码文件的虚拟计算机。不同平台的虚拟机是不同的
D. Java语言具有一次编译,到处运行的特点,可以在所有的平台上运行
(第一步:Java源代码——.CLASS文件字节码,是java的第一次编译。生成的这个.class文件就是可以到处运行的文件。
第二步:Java字节码——到目标机器代码;执行是由JVM执行引擎来完成,JAVA的第二次编译。
“到处”运行的隐含条件是“装有JVM”。第二次编译就是在JVM中执行的,也就是在任何一个装有“JVM”的操作系统中完成的。JAVA提供了各种不同平台上的虚拟机制,所以可以实现“到处”。)
3.以下选项中是对一个Java源文件进行正确编译的语句是(D )(选择一项)
A. java Test
B. java Test.class
C. javac Test
D. javac Test.java
4.在Java中,源文件Test.java中包含如下代码,则程序编译运行的结果是(B )
public class Test {
public static void main(String[ ] args) {
system.out.println(“Hello!”);
}
}
A 输出:Hello!
B. 编译出错,提示“无法解析system”
C. 运行正常,但没有输出任何内容
D. 运行时出现异常
(System应该大写)
5.有一段Java 程序,其中public类名是A1,那么保存它的源文件名可以是( A )
A A1.java
B. A1.class
C. A1
D. 都不对
简答题
1.计算机语言发展史中的主线。
机器语言->汇编语言->高级语言
2.Java的跨平台的实现原理。
.java在操作系统上加入了jvm虚拟机,程序运行在jvm上,jvm会自动根据不同操作系统将相同的.class字节码解释成不同的机器码
3.JDK、JRE、JVM 的区别和联系。
4.Java程序的开发和执行过程。
.编写源文件->编译源文件(使用编译器javac)->字节码->执行字节码(使用解释器java)
5.环境变量Path的作用和配置。
随着电脑安装的软件越来越多,我们记不住所有软件的安装路径,想运行某一软件就很麻烦。2、如果想在某一路径下直接运行某款软件,我们无能为力。
通过在环境变量里面加入所有软件的安装路径,当我们想运行某一软件时双击其快捷方式或者在DOS界面输入软件名称,此时,计算机除了在其当前目录下寻找该软件的.exe文件外,还在环境变量中搜索软件的路径,找到,运行。
综上,Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
第二章
数据类型和运算符
1.注释方式
单行注释: 使用“//”开头,“//”后面的单行内容均为注释。
多行注释: 以“/”开头以“/”结尾,在“/”和“/”之间的内容为注释,我们也可以使用多行注释作为行内注释。但是在使用时要注意,多行注释不能嵌套使用。
文档注释: 以“/**”开头以“*/”结尾,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API)
2.标识符
标识符必须以字母、下划线_、美元符号
开
头
。
标
识
符
其
它
部
分
可
以
是
字
母
、
下
划
线
“
”
、
美
元
符
“
开头。 标识符其它部分可以是字母、下划线“_”、美元符“
开头。标识符其它部分可以是字母、下划线“”、美元符“”和数字的任意组合。
Java 标识符大小写敏感,且长度无限制。
标识符不可以是Java的关键字。
表示类名的标识符:每个单词的首字母大写,如Man, GoodMan
表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()
3.变量
变量本质上就是代表一个”可操作的存储空间“
Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。
4.常量
在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。
变量和常量命名规范
(1)所有变量、方法、类名:见名知意
(2)类成员变量:首字母小写和驼峰原则: monthSalary
(3)局部变量:首字母小写和驼峰原则
(4)常量:大写字母和下划线:MAX_VALUE
(5) 类名:首字母大写和驼峰原则: Man, GoodMan
(6) 方法名:首字母小写和驼峰原则: run(), runRun()
5.基本数据类型
(1)整形变量/常量
Java语言的整型常数默认为int型,声明long型常量可以后加‘ l ’或‘ L ’ 。
byte 1字节 short 2字节
int 4字节 long 8字节
(2) 浮点型变量/常量
float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。浮点型常量默认类型也是double。
float有十进制数形式和科学计数法形式
float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。也可以在浮点数值后添加后缀D或者d, 以明确其为double类型。
float f = 3.14F;
double d1 = 3.14;
double d2 = 3.14D;
不要使用浮点数进行比较!很多新人甚至很多理论不扎实的有工作经验的程序员也会犯这个错误!需要比较请使用BigDecimal类
(3)字符型变量/常量
字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。例如’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串。
char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。
以后我们学的String类,其实是字符序列(char sequence)。
(4)布尔类型
boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制
6.运算符
二元运算符的运算规则:
整数运算:
1. 如果两个操作数有一个为Long, 则结果也为long。
2. 没有long时,结果为int。即使操作数全为short,byte,结果也是int。
浮点运算:
3. 如果两个操作数有一个为double,则结果为double。
4. 只有两个操作数都是float,则结果才为float。
取模运算:
1.其操作数可以为浮点数,一般使用整数,结果是“余数”,“余数”符号和左边操作数相同,如:7%3=1,-7%3=-1,7%-3=1。
算术运算符中++,–属于一元运算符,该类运算符只需要一个操作数。
=是赋值运算符,而真正的判断两个操作数是否相等的运算符是==
==、!= 是所有(基本和引用)数据类型都可以使用 >、>=、 <、 <= 仅针对数值类型(byte/short/int/long, float/double。以及char)
逻辑运算符
位运算符:
字符串连接符:
“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
条件运算符:
x ? y : z
其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
运算符优先级
练习题
选择题
1.以下选项中属于合法的Java标识符的是( CD )。(选择二项)
A.public
B.3num
C.name
D._age
(public是关键字,3num不能以数字开头)
2.下面的代码段中,执行之后i和j的值是( C )。(选择一项)
int i=1; int j;
j=i++;
A1,1
B.1,2
C.2,1
D.2,2
(j=i++ 相当于 j=i,i++)
3.下面的赋值语句中错误的是( A )。(选择一项)
A.float f = 11.1;
B.double d = 5.3E12;
C.double d = 3.14159;
D.double d = 3.14D;
( float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。也可以在浮点数值后添加后缀D或者d, 以明确其为double类型)
4.在Java中,下面( AB )语句能正确通过编译。(选择二项)
ASystem.out.println(1+1);
B.char i =2+‘2’;
System.out.println(i);
C.String s=“on”+‘one’;
D.int b=255.0;
( C字符串String中用双引号,int是整形)
5.5.以下Java运算符中优先级别最低的两个选项是( AB )。(选择二项)
A赋值运算符=
B.条件运算符 ?=
C.逻辑运算符|
D.算术运算符+
简答题
1.1.Java是一种强类型语言,说明Java的数据类型分类。
bool byte->short->char->int->long->float->double
2.i++和++i的异同之处
j=i++ <=> j=i; i++; j=++i <=> i++; j=i;
3.运算符||和|的异同之处
||是逻辑或运算符,是两个bool值的或运算; 结果是bool型 . |是位运算,是两个数据的按二进制展开后每位进行或运算,结果是一个数
4.Java中基本数据类型转换的规则
byte->short->char->int->long->float->double
总结来自 https://www.sxt.cn/Java_jQuery_in_action/two-Exercise.html