(java学习笔记)JavaSE基础
JavaSE基础
Java技术体系平台
JavaSE :标准版 ⾯向桌⾯型应⽤(Windows下的应⽤程序)的Java平台。提供完整的Java核⼼API,也叫J2SE.
JavaEE:企业版 开发企业环境下的应⽤程序。该技术体系中包含的技术 Servlet Jsp。主要针对Web应⽤程序开发。也叫J2EE.
JavaME:⼩型版 ⽀持Java程序运⾏在移动终端(⼿机、PDA:掌上电脑 条码扫描器、RFID读写器、POS机等
智能⼿机、平板电脑、⼿持的游戏机等)的平台,对Java API有所精简,并加⼊了针对移动终端的⽀持。也叫J2ME. Java Card ⽀持⼀些Java ⼩程序(Applets)运⾏在⼩内存设备(智能卡)上的平台。入门的java游戏小程序
⼀、Java语⾔特点
1、⾯向对象
两个基本概念:类和对象。
三⼤特性:封装,继承,多态。
2、健壮性完善性
在吸收了c/c++ 语⾔的优点。去除了影响健壮性的因素(指针、内存的申请和释放)。
3、跨平台 JVM
通过Java语⾔编写的应⽤程序在不同的系统平台上都可以运⾏。
Java应⽤程序 Java虚拟机 JVM 操作系统。
1、Java 两种核⼼机制
1.JVM (java虚拟机)
2.GC 垃圾回收机制
java 对不在使⽤的内存空间回收。垃圾回收在Java程序运⾏过程中开了个系统级线程⾃动检测进⾏(优点:⾃动 不会出现忘记回收,缺点:回收不及时)。
c/c++ 的垃圾回收 由程序员⼿动编写代码回收。(优点:能够在内存不使⽤时快速回收,准确⾼效。缺点:容易失误,出现bug)
宁可回收不及时 ⼀定要回收。
2、JDK配置设置环境变量
path :Windows系统执⾏命令时要搜寻的路径
1.打开我的电脑–属性–⾼级–环境变量
2.新建系统变量JAVA_HOME 和CLASSPATH
变量名:JAVA_HOME
变量值:D:\JAVAJDK\Java\jdk1.8.0_231(本⼈的安装⽬录)
变量名:CLASSPATH
变量值:.
;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
3.选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin⽬录的绝对路径,添加到Path变量的值中,并使⽤半⾓的分号和已有的路径进⾏分隔。
变量名:Path
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
3、JDK
Java开发⼯具包 1.包含了Java的开发⼯具,2.包括JRE。
其中的开发⼯具:编译⼯具() 打包⼯具()等。
安装了JDK 也就不⽤单独安装JRE。
4、JRE
Java运⾏环境 包括Java虚拟机(JVM )和Java程序所需的核⼼类库(API)等。
如果想要运⾏⼀个开发好的Java程序,计算机中只需要安装JRE即可。
简单⽽⾔,使⽤JDK的开发⼯具完成的java程序,交给JRE去运⾏。
.java⽂件(源⽂件) -------- 编译----.class⽂件( 字节码⽂件)--------执⾏----JVM
5、java基本规范
1.将 Java 代码编写到扩展名为 .java 的⽂件中。
通过 javac 命令对该 java ⽂件进⾏编译(通过DOS)。
通过 java 命令对⽣成的 class ⽂件进⾏运⾏
2.在⼀个java源⽂件可以声明多个class,但是只能最多有⼀个类声明为public ,⽽且要求声明为public的类的类名必须与源⽂件名⼀致Java源⽂件以“java”为扩展名。源⽂件的基本组成部分是类(class)。
3.Java应⽤程序的执⾏⼊⼝是main()⽅法。它有固定的书写格式:public static void main(String[] args) {…}
//arg:arguments 参数
4.输出语句
System.out.println(); 先输出数据,后换⾏
System.out.print(); 只输出数据
5.Java语⾔严格区分⼤⼩写。
Java⽅法由⼀条条语句构成,每个语句以“;”结束。
括号都是成对出现的,缺⼀不可。
6、Java中的注释类型:
Ø单⾏注释 //注释⽂字
Ø多⾏注释 /注释⽂字 / 不可以嵌套使⽤
对于单⾏和多⾏注释,被注释的⽂字,不会被JVM(java虚拟机)解释执⾏。
Ø⽂档注释(java特有)
注释内容可以被JDK提供的⼯具javadoc所解析,⽣成⼀套以⽹页⽂件形式体现的该程序的说明⽂档。
javadoc -d ⾃⼰起⼀个名字 -author -version -param HelloWorld
/
@author 指定java程序的作者
@version 指定源⽂件的版本
@param ⽅法的参数说明信息
*/
7、Java API :Java提供的基本编程接⼝(类库)
Java语⾔提供了⼤量的基础类,因此Oracle 也为这些基础类提供了相应的API⽂档,
⽤于告诉开发者如何使⽤这些类,以及这些类⾥包含的⽅法。
⼆、JAVA基本语法
1、java关键字中所有字母均为⼩写。
2、Java保留字:
现有Java版本尚未使⽤,但以后版本可能会作为关键字使⽤。
⾃⼰命名标记符时要避免使⽤这些保留字
byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const
3、java标识符:
ØJava 对各种变量、⽅法和类等要素命名时使⽤的字符序列称为标识符
Ø凡是⾃⼰可以起名字的地⽅都叫标识符。
3.1、定义合法标识符规则:
Ø由26个英⽂字母⼤⼩写,0-9 ,_或 $ 组成
Ø数字不可以开头。
Ø不可以使⽤关键字和保留字,但能包含关键字和保留字。
ØJava中严格区分⼤⼩写,长度⽆限制。
Ø标识符不能包含空格。
注意:在起名字时,为了提⾼阅读性,要尽量有意义,“见名知意”。
3.2、Java中的名称命名规范:
Ø包名:多单词组成时所有字母都⼩写:xxxyyyzzz
Ø类名、接⼝名:多单词组成时,所有单词的⾸字母⼤写:XxxYyyZzz
Ø变量名、⽅法名:多单词组成时,第⼀个单词⾸字母⼩写,第⼆个单词开始每个单词⾸字母⼤写:xxxYyyZzz
Ø常量名:所有字母都⼤写。多单词时每个单词⽤下划线连接:XXX_YYY_ZZZ
4、数据类型
4.1、整型
java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
4.2、浮点型
Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
浮点型常量有两种表⽰形式:
⼗进制数形式:如:5.12 512.0f .512 (必须有⼩数点)
科学计数法形式:如:5.12e2 512E2 100E-2
4.3、字符型(char)
字符型常量的三种表现形式:
字符常量是⽤单引号‘ ’括起来的单个字符,涵盖世界上所有书⾯语的字符。例如:char c1 = ‘a’; char c2 = ‘中’; char c3 =‘9’;
Java中还允许使⽤转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’; // '\n’表⽰换⾏符
直接使⽤ Unicode 值来表⽰字符型常量:‘\uXXXX’。其中,XXXX代表⼀个⼗六进制整数。如:\u000
a 表⽰ \n。
char类型是可以进⾏运算的。因为它都对应有Unicode码。
4.4、布尔类型(boolean)
boolean 类型适于逻辑运算,⼀般⽤于程序流程控制:
if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;
boolean类型数据只允许取值true和false,⽆null。
不可以0或⾮ 0 的整数替代false和true,这点和C语⾔不同。
4.5、引⽤数据类型
字符串: String类(不是基本数据类型,属于引⽤数据类型)
值null可以赋值给任何引⽤类型(类、接⼝、数组)的变量,⽤以表⽰这个引⽤类型变量中保存的地址为空。
String类是⼀个典型的不可变类,String对象创建出来就不可能被改变。
创建出的字符串将存放在数据区,保证每个字符串常量只有⼀个,不会产⽣多个副本。中数据类型变量做运算
String可以和8种数据类型做运算,其运算只能是连接运算:+,运算结果还是String型
5、基本数据类型转换
5.1、⾃动类型提升
容量⼩的类型变量⾃动转换为容量⼤数据变量。按容量⼤⼩(表⽰数的范围,不是字节数的多少)排序为:
\图⽚\⾃动类型提升.png)]
有多种类型的数据混合运算时,系统⾸先⾃动将所转换成容量最⼤那种数据类型,然后再进⾏计算。
byte,short,char 之间不会相互转换,他们三者在计算时⾸先为 int 类型 。
boolean 类型不能与其它数据运算。
当把任何基本数据类型的值和字符串 (String) 进⾏连接运算时 (+) ,基本数据类型的值将⾃动转化为字符串 (String) 类型 。
5.2、强制类型转换
⾃动类型转换的逆过程 ,将容量⼤的数据类型转换为容量⼩的数据类型。使⽤时要加上强制转换符 :() ,但可能造成精度降低或溢出 ,格外要注意 。
通常 ,字符串不能直接转换为基本类型 ,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型 。
Ø如: String a = “97”; int i = Integer.parseInt (a);
Øboolean 类型不可以转换为其它的数据类型。
6、变量
按声明位置分类
在⽅法体外,类内声明的变量称为 成员变量 。
在⽅法体内部声明的变量称为 局部变量 。
两者在初始化值⽅⾯的异同:
异:局部变量除形参外,需显⽰初始化
同:都有⽣命周期
7、运算符
算术运算符
取模运算的结果正负号与被模数有关
⾃增运算不会改变本来的数据类型
赋值运算符
符号: =
Ø当“=”两侧数据类型不⼀致时, 可以使⽤⾃动类型转换或使⽤强制类型转换原则进⾏处理 。Ø⽀持连续赋值 。
扩展赋值运算符: +=, -=, *=, /=, %=
⽐较运算符
⽐较运算符的结果都是 boolea型,也就是要么true,要么是 false 。
逻辑运算符
&—逻辑与 | —逻辑或 !—逻辑⾮
&& —短路与 || —短路或 ^ —逻辑异或
逻辑运算符⽤于连接布尔型表达式,在 Java中不可以写成 3<x<6,应该写 成x>3 & x<6。
& 与 && 的结果相同
&和&&的区别

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。