Java基础知识(上)
---------------------- QQ:371524846 期待与您交流! ----------------------
一、Java是什么?
Java是由SUN(斯坦福大学网络公司)公司于1995年推出的一门面向Internet的计算机高级编程语言。
计算机语言:人与计算机交流的方式。
二、Java语言特点:
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
Java和C++最大的不同在于Java采用的指针模型可以消除重写内容和损坏数据的可能性。
三、java语言的三种技术架构:
JavaEE(Java Platform Enterprise Edition)企业版:
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。
JavaSE(Java Platform Standard Edition)标准版:
是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。比如Java版的扫雷。
JavaME(Java Platform Micro Edition)小型版:
是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。
三、1. 常用的DOS命令
1.1 cd\ 路径(目录)退出到根目录
1.2 dir 列出当前目录下的所有文件 格式:dir [盘符:][路径][文件名] [参数]
1.3 md 创建文件夹命令 格式: md [盘符][路径]
1.4 cd 进入文件夹 格式: cd [路径]
1.5 cd.. 退到上一级文件夹
1.6 rd 删除文件夹 格式: rd [盘符][路径]
1.7 del 删除文件 格式: del [盘符][路径][文件名.] [参数]
1.8 cls 清屏
2.JVM、JRE和JDK的区别:
JVM(Java Virtual Machine): Java虚拟机,用于保证Java跨平台的特性。 注:Java语言跨平台,jvm不跨平台。
JRE(Java Runtime Environment): Java运行环境,包括jvm+java的核心类库。
JDK(Java Development Kit): Java的开发工具,包括jre+开发工具。
3. path和classpath
path - ->Javac.exe使用
classpath- ->java.exe使用
区别:Path针对与Windows可执行文件(.exe);而classpath针对与Java字节码文件(.class)。
四、关键字
关键字的定义和特点
定义:被Java语言赋予了特殊含义的单词
特点:关键字中所有字母都为小写
1.定义数据类型的关键字:
引用类型class,interface
整数类型:byte,short,int,long 浮点类型:float,double
字符类型:char 布尔类型:boolean
void
2.定义数据类型值的关键字:true,false,null
3.定义流程控制的关键字:if,else,switch,case,default,while,do,for,break,continue,return
4.定义访问权限修饰符的关键字:private,protected,public
5.定义类、函数、变量修饰符的关键字:abstract,final,static,synchronized
6.定义类于类之间关系的关键字:extends,implements
7.用于定义建立实例及引用实例,判断实例的关键字:new,this,super,instanceof
8.用于异常处置的关键字:try,catch,finally,throw,throws
9.用于包的关键字:package,import
10.其他修饰符关键字:native,strictfp,transient,volatile,assert
五、标识符
由26个英文字母大小写,数字:0-9 符号:_ $ 组成
定义合法标识符规则:
㈠ 数字不可以开头。
㈡ 不可以使用关键字。
注意:Java中严格区分大小写,尽量起有意义的名字
Java中的名称规范:
包名:多单词组成时所有字母都小写。 eg: xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。eg: XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。eg: xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。eg: XXX_YYY_ZZZ
六、注释:
单行注释//
多行注释/* */
独有注释,文档注释 /** */
注:帮助文档的制作 javadoc –d myhelp (文件夹名称)–author(打印作者) –version(打印版本) ArrayTool.java(java文件名)
七、常量与变量
1,常量:
在java中,使用final声明常量,变量名要全部大写。。如:
public static final double PI = 3.1415926;
注意:
a.声明变量并赋初值后,这个值就不能再更改了。
b.类常量的声明位于main方法的外部,或无main函数的类的全局中的位置。这样,可以在同一个类中的其他地方使用这个常量。
2,变量:
定义变量的格式: 数据类型 变量名 = 初始化值;
注:格式是固定的,记住格式,以不变应万变。
八、数据类型
1.java中的数据类型分为基本数据类型和引用数据类型。
基本数据类型:
整数类型:byte sort int long 浮点数据类型:float double 字符型:char 布尔型:boolean
引用数据类型:类 class 接口 interface 数组[ ]
byte: 字节型 -------> 1字节,取值范围:(-2E7 ~ 2E7 - 1)-128 ~ 127
short:短整型 -------> 2字节,取值范围:(-2E15 ~ 2E15 - 1)-32768 ~ 32767
int: 整型 -------> 4字节,取值范围:(-2E31 ~ 2E31 - 1)-2147483648 ~ 214748367 ---超过20亿
long: 长整型 -------> 8字节,取值范围:(-2E61 ~ 2E61 - 1)-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807
float: 单精度浮点型 -------> 4字节,取值范围:大约± 3.402 823 47E + 38F(有效位6 ~ 7位)
double:双精度浮点型 -------> 8字节,取值范围:大约± 1.797 693 134 862 315 70E + 308(有效位15位)
char:字符型 ------->用于表示单个字符。如‘A’。
boolean:布尔型 ------->表示逻辑判断条件,有两个值为true和false。
2.基本数据类型说明:
整数默认:int 小数默认:double
基本数据类型的初始化:
整型默认初始化为: 0 字符型默认初始化为:null
浮点型默认初始化为: 0.0(f) 布尔型默认初始化为:false
3.自动类型转换
a.所有byte、short、char类型的值将提升为int类型。
b.自动类型转换关系:byte -->short(char) -->int -->long -->float -->double
4.强制类型转换:
格式:int i = (int)3.38;,就是将“大”数据强转为“小”数据。 注:强转会损失精度。
九、运算符
1.算术运算符:
1.1 +、-、*、/、%、++、--
1.2 取模(即取余)a%b
a<b时,结果为a;例如:-3%5,结果是-3
a>b时,结果为余;例如:5%3,结果是3
结果符号与a的符号相同。
1.3 ++和--
eg: int a=10;
a++;++a;
a--;--a;
把a的值赋给临时开辟的空间的先后顺序。
注:自增与自减是在本空间中运算的,不做检查!编译不会出错,但运行时可能会出问题。
eg: byte b = -128;
b--;
System.out.println("b = "+b);
2.赋值运算符
= , +=, -=, *=, /=, %=
注:复合赋值运算符:+= ,-= ,*= , /= ,%= 一次运算,自动完成强转操作。
3.比较运算符
==,!=,<,>,<=,>=,instanceof
比较运算符的结果都是boolean
4.逻辑运算符
4.1 &,&&(并且):两边都为true才是true,否则为false;
4.2 |,|| (或者) :两边都为false才为false,否则为true;
4.3 ^(逻辑异或)(最不常用的): 两边相同结果为false,两边不同结果才是true。
4.4 ! (逻辑非):非真即假。
4.5 &和&&,|和||的特点:
4.6 & 无论左边是true是false,右边都运算。
4.7 && 当左边为false时,右边不运算。
4.8 | 两边都参与运算;||当左边为true时,右边不运算。
4.9 ||和&&是短路效应。
5.条件运算符(三元运算符):
5.1 格式: (条件表达式)?表达式1:表达式2;
5.2 如果条件为true,运算后的结果是表达式1;
5.3 如果条件为false,运算后的结果是表达式2.
6.位运算符
位运算是直接对二进制进行运算。(掌握)
6.1 << (左移 ) : 其实就是这个数乘以2的移动的位数次幂。
eg:3<<2 - ->3 * 22 =12
6.2 >> ( 右移) :就是这个数除以2的移动的位数次幂。
eg:6>>2 - ->6/22 =1
6.3 >>>(无符号右移): 带符号的不能用它。
>>:最高位补什么由原有数据的最高位的值而定。
>>>:无论最高位是什么,右移后,都用0补上。
6.4 &(按位与),|(按位或),^(按位异或) 可以作为位运算符;
6.5 ^ (异或):一个数异或同一个数两次,结果还是那个数。(此种方法一般用于加密)
eg: 7 ^ 4 ^ 4 = 7
6.6 ~ (取反码)也可以作为位运算符。
反码运算: 取反减一,再取反,带上正负就是它的值。
eg: ~0x5d14 = -23828 (十六进制直接转换十进制带上负号)
~6 = -7
000...000110
111...111001 //取反
000...000001
111...111000 //减一的值
000...000111 //再取反
---------------------- QQ:371524846 期待与您交流! ----------------------