Java预习阶段学习笔记.docx
- 文档编号:20118172
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:38
- 大小:125.85KB
Java预习阶段学习笔记.docx
《Java预习阶段学习笔记.docx》由会员分享,可在线阅读,更多相关《Java预习阶段学习笔记.docx(38页珍藏版)》请在冰豆网上搜索。
Java预习阶段学习笔记
第一阶段视频学习内容
进入cmd程序运行进入F盘:
f:
编译文件目录,进入java目录:
cd空格java目录(存放代码的目录)
编译:
javac空格文件名.java
运行:
java空格类名
包:
编译:
java空格-d空格.空格文件名.java
运行:
java空格包名.类名
一、java起源背景
1、Java起源Sun公司(Sun公司现在被oracle公司收购了)1995年5月23日Java语言问世。
Java语言是在Green项目团队里Jamesgosling的带领下创建的,一开始java语言的命名为Oak语言。
Java是仿照C++来编写的,也是用C++开发的。
二、Java语言的特性
1.跨平台性
2.简单性(这个简单性是C++对比)
3.纯面向对象
4.开放性
---------------------------------------------
三、语言的运行机制
源文件→可执行文件运行可执行文件→机器指令。
Java源文件-编译→.class字节码文件-解释执行→真正的解释指令。
Java源文件-编译→.class字节码文件-在JVM(java虚拟机)中解释执行→真正的解释指令。
(JVM虚拟机屏蔽不同操作系统差异)
编译的方式运行效率高
解释的方式可以夸平台
先编译后解释(java)
.Java源文件==>.class字节码文件==>解释运行
.class文件:
平台中立
Java是先编译后解释。
(所以运行效率高,且可以夸平台)
JVM+解释器=JAE(java运行环境)
JDK(java开发工具包)=JRE+编译器+工具+类库。
四、Java环境变量
JAVA_HOME:
JDK安装目录【给其他软件使用】【三个环境的作用】
PATH:
后追加JAVA_HOME\bin安装目录(加安装目录前加个分号)【你要运行exe软件,它去找PATH下的根目录,想在任何情况下运行java,就需要把bin根目录放在PATH下】
CLASSPATH:
.【指示编译器和JVM,到哪儿去找所需要的类】
要使配置后的环境变量适用,必须重新打开命令行(cmd里重新开一行输入命令:
你的安装目录名字)
之后输入javac名字.java。
在运行中学会看错误:
名字.java:
4:
需要‘;’在语句第4行前有错误,需要分号
错误前的数字表示有几处错误。
查看目录下的文件用dir命令。
.java编译成功会生成一个.class文件,而这个文件的名为java里编写时取的名字.class文件
如classabc{
publicstaticvoidmain(String[]args){
System.out.println("liqin");
}
}
产生一个abc.class文件(在命令符输入javacc.java(c为你编写程序文件取的名字)java有1个空格后跟abc(abc为类名)会显示liqin)
编译javac有1个空格后跟源文件名一个类编译之后,会对应一个.class文件
运行:
java有1个空格后跟类名。
一个源文件里可以有很多的类。
类前可以加public,就称公开类(包外用,谁都可以用)。
一个源文件中可以定义多个类,一个源文件中只能定义一个公开类,而且公开类的类名必须和文件名完全相同。
5、第一个程序
1.首先我们写出HelloWorld程序的代码。
在硬盘上创建一个名为test.java的文件,并用记事本打开这个文件,书写如下内容。
注意:
区分大小写,并注意空格:
classHelloWorld{
publicstaticvoidmain(Stringargs[]){
System.out.println("HelloWorld");
}
}
2深入HelloWorld
首先,第一行:
classHelloWorld,这句话定义了一个名字叫做HelloWorld的类。
其中,class是Java语言的关键字,而HelloWorld则是定义的类的名字。
至于什么是类,这个概念对于初学者来说比较复杂,在此不多做介绍。
对于初学者来说,可以把类理解成:
代码的容器。
也就是说,在Java中绝大部分代码都要写在类的范围之内,要写代码就必须先定义一个类。
在定义完了HelloWorld之后,后面有一对花括号,花括号中的内容就表示是这个类中的内容。
在这个花括号里,下面的这行:
publicstaticvoidmain(Stringargs[])这一行定义了一个主方法(也叫主函数)。
在Java中,主方法的定义比较长,但是非常有用,也许你现在还无法理解这些内容,随着学习的深入,你会理解这里面的每一个单词。
但是现在,照着写并且记住主方法的写法就行了。
那么主方法有什么用呢?
我们把主方法称之为:
程序执行的入口。
也就是说,Java程序在执行的时候,会执行类中的主方法,当主方法执行完毕之后,程序也就退出了。
---------------------------------------------
6、包
本节内容介绍包的使用,主要包括package语句和import语句。
1.1package语句。
随着代码的大量增加,程序员写的.java源文件以及编译产生的.class字节码文件会大量的增加。
如果任由这种情况发生的话,无论是查询还是管理都会非常的不方便。
为了解决这方面的问题,Java提供了“包”来帮助我们组织和管理类。
使用package语句可以用来将一个特定的类放入包中。
要注意的是,如果要使用package语句,则这个语句必须作为.java文件的第一个语句,并写在任何类的外面。
例如,对我们之前写的HelloWorld类放入book.corejava.chp2包,则代码如下:
packagebook.corejava.chp2;
publicclassHelloWorld{
publicstaticvoidmain(Stringargs[]){
System.out.println(“HelloWorld”);
}
}
上面的这段代码,就把HelloWorld类放在了book.corejava.chp2包下。
要注意的是,在加包之后,使用HelloWorld类时必须加上包名作为前缀,因此完整的写法应当是:
book.corejava.chp2.HelloWorld。
这种在类名前面加上包名的写法称为类的全限定名。
使用包的主要目的是为了避免类名冲突。
包结构必须和硬盘上的文件夹结构一致。
2.2import语句
前面的import语句,就好比是一个声明。
这个声明表明,在程序接下来的代码中,如果遇到HelloWorld类,则指的都是之前引入的book.corejava.chp2.HelloWorld类。
这样在后面我们定义hello这个变量的时候,就省略了冗长的包名。
此外,一个.java文件中可以有多个import语句,用于导入多个类。
如果想要一次导入某个包下的所有类,则可以使用*通配符。
例如,下面这个语句importjava.util.*;表示导入java.util包内的所有类。
也就是说,当我们用到这个包里面任何一个类的时候,都可以省略包名。
特别要提醒的是,上述语句并不能导入util包的子包,也就是说,java.util.jar、java.util.logging等包下的类并未导入。
由于importjava.util.*能够导入java.util.ArrayList和java.util.HashSet类,但不能导入java.util的子包中的类,因此java.util.logging.Logger类没有导入,编译器找不到这个类,因此编译出错。
import语句表示导入特定的类。
在使用import语句导入一个类之后,使用时就能简单的使用类名。
另外,只能用*导入一个包,而不能使用java.*或java.*.*等语法,试图导入所有以java为前缀的包。
最后,java.lang包为标准Java库中的最常用的包,这个包中的类会在所有java程序中自动被导入。
也可以理解为,在所有.java文件中,importjava.lang.*;这个语句都不用写,编译器会自动导入这个包下的类。
类:
一个网站里包含很多类,类→.class文件
Javap1.Hello
JVM会根据Classpath(.)在当前目录下,找p1子目录,并在这个子目录中找Hello.class。
运行:
java类名
一个源文件中可以定义多个类
一个源文件中只能定义一个公开类,公开类的类名必须和文件名相同
CLASSPATH:
指示编译器和JVM,到哪去找所需要的类。
-----------------------------------------------
javap1.Hello
JVM会根据ClassPath,在当前目录下,找p1子目录,并在这个子目录中找Hello.class
javac-d编译时,-d表示生成的.class文件自动的按照包结构去存放。
-d空格.空格Hello.java
import引入包避免重复的写包名
importjava.lang.*;系统默认添加的
*为通配符
package0-1(可以使用多个)
import0-n(可以使用多个)
class1-n(可以使用多个)公开类0-1(只能用一个或不用)
---------------------------------------------
cmd命令:
cls:
清屏
cdJAVA:
打开JAVA文件夹
cd..:
返回上一级目录
cd\:
返回主目录
dir:
查看当前文件夹的所有文件
DELD:
\aaaaa\*.*:
删除aaaaa下所有文件(而非文件夹)
rd/sD:
\aaaaa:
删除aaaaa下的所有空文件夹
---------------------------------------------
注释:
能够极大的增强代码的可读性。
注释指的是一些描述代码的文字。
Java中的注释从语法上来说主要有三种:
单行注释、多行注释和javadoc注释。
1.//单行注释//注释开始,换行结束
2./**/多行注释/*注释开始,*/注释结束,多行注释里允许单行注释,但是不允许多行注释嵌套多行注释。
3./***/多行注释/**注释开始,*/注释结束。
配合JavaDoc工具使用的,JavaDoc工具可以将你代码里的所有注释单独抽取出来形成一个文档交给用户。
只有这样/***/形式的注释可以被JavaDoc工具抽取出来。
javadoc注释,是Java中一种比较特殊的注释。
这种注释用来生成api文档。
程序员在对外发布Java代码的时候,还应当对外公布这些代码的用法。
这样,才能让其他的程序员能够更加方便的利用已有的代码。
在Java中,我们往往使用api文档,来向其他程序员介绍代码的组成和用法。
抽取方法:
javadoc空格-d空格doc空格Hello.java注意:
doc是生成的文件夹查看index.html
3编码规范
1、良好的注释2、良好的标识符命名3、良好的缩进
标识符,指的是程序员为程序组件起的名字。
起名字是一门艺术,这一点对标识符也一样。
而所有的Java程序组件基本分为5大类:
包、类、变量、函数、常量。
首先我们介绍一下Java标识符的命名规则。
一、Java标识符由字母、数字、下划线(_)、货币符号($)组成,其中数字不能开头。
要注意的是,所谓“字母”,从技术上说,是一个unicode字符,包括中文字符。
换句话说,Java标识符能够使用中文。
二、Java标识符区分大小写。
也就是说,helloWorld,HelloWorld,HELLOWORLD这三个标识符,对于Java来说是完全不同的三个名字。
三、不能与Java关键字重名。
四、没有长度限制
习惯:
1、望文生义这指的是说,标识符的名字应当起的有意义,最好能通过名字,让人一眼就能看出标识符的作用。
例如,变量totalScore肯定是用来统计总分,函数addStudent肯定是用来增加一个学生。
这样的名字是比较好的名字。
它们很容易让人理解这个标识符的意义,从而提高程序的可读性。
二、大小写规范相比上一条规范,这一条显得非常教条。
Java语言中,对于不同的程序组件,有着不同的大小写规范。
罗列一下:
包名:
全小写。
例如book.corejava
类名:
每个单词首字母大写。
例如HelloWorld
变量/函数名:
首单词小写,后面每个单词首字母大写。
例如helloWorld
常量名:
全大写,单词之间用下划线分隔。
例如HELLO_WORLD
缩进指的是在写代码的时候,在某些行的行首,会留出一些空白字符。
良好、规范的缩进能够极大的提高代码的清晰程度,让可读性大大增加。
数据类型变量
此外,在Java中,变量是强类型的。
所谓强类型,指的是每一个变量都有自身的类型。
不同的变量类型,大小不同,所能存放的数据也不同。
下面我们就来介绍一下Java语言中的变量类型。
在Java中,所有变量类型分为两类,一类为基本类型,一类为对象类型。
本章主要介绍的是基本类型。
基本类型,英语叫primitivetype,也有人翻译成“原始类型”、“简单类型”等等。
这类变量属于编程语言中比较基础的组成部分,因此也被称之为“基本类型”。
基本类型总共分为8种,分别为byte、short、int、long、float、double、char、boolean。
有四种类型都用来表示整数,他们是byte、short、int、long,他们之间的区别在于他们所占的内存空间和表示范围。
下表为这四种基本类型的参数。
类型名称所占空间表示范围
byte1个字节-128~127
Short2个字节-32768~32767
int4个字节-2147483648~2147483647
long8个字节-9223372036854775808~9223372036854775807
可以把这四种基本类型想象成四个大小不同的饭盒,虽然空间不同,但是所装的数据基本上是一类的。
要注意的是,表示范围小的类型可以直接赋值给表示范围大的类型,而反之不行。
字面值指的是某个类型的合法取值,或者说,可以为该类型的变量赋值的数据。
例如,“inta=5;”,在这个代码中,a就是变量,5就是字面值。
4.2.2浮点数类型
在计算机术语中,小数被称为浮点数。
在Java语言中,浮点数有两种,分别为float和double。
两者相关参数如下:
类型名称所占空间表示范围float4个字节3.4028235×1038~1.4×10-45double8个字节1.7976931348623157×10308~4.9×10-324浮点数类型的符号可以是正的,也可以是负的。
强类型:
变量类型必须和数据类型一致。
定义变量:
变量类型变量名;
数据类型
对象类型:
有无穷无限种,每一个类都可以成为对象类型(除去8种简单类型之外都是对象类型)。
简单类型(基本类型,原始类型)8种
byteshortintlongfoaltdoublecharboolean
1、整数类型4种:
1.byte1B(字节)=8位-128~127(自左至右左高右低)可以表示2^8=256个不同的数据
2.short2B(字节)=16位-32768~32767
3.int4B(字节)=32位-2147483648~2147483647
4.long8B(字节)=64位-2^63~2^63-1字面值byte=200是错误的,short=200是正确的longP=14L(大L和小l都可以,就是把14赋值给P)。
5.6、浮点数(小数):
float单精度4Bfloatf=1.4f(系统默认小数为double类型,因此要赋值给float型时后边加小f和大F都可以但是后边必须加f);
double双精度8Bdoubled=1.4d,系统默认小数为double类型后边加不加d都可以,大D和小d一样;
doubles=1.4e10表示1.4*10^10
7、字符型char2B字节unicode编码方式'A'65'\u0041'(十六进制)char可以参与整型运算。
A=65
a=97
转义字符'\t'表示水平跳格'\n'表示换行
'\''单引号'\"'双引号'\\'反斜杠
String字符串字面值"HelloWorld"
只能参与加法运算,表示字符串连接。
单引号引的是字符‘A’,双引号引的是字符串“abcd”。
字符相加得到是数charA=65,charB=66,‘A’+‘B’=131,String字符串相加得到的是字符串,“A”+“B”=“AB”。
"ab"+"cd"=abcd"ab"+10="ab10"
8、boolean布尔类型4字节字面值true真false假,判断用,布尔类型在java中不能参与运算。
(c语言里能参与运算,true相当于1,false相当于0)
---------------------------------------------
shorts=280;
byteb=(byte)s;强制转换将剩下的舍去
00000010000110002800001100024
inti;shorts;
自动类型转换i=s;
强制类型转换s=(short)i;
a+b两个简单类型的数参与运算就会被自动类型提升。
如果a和b里边有一个是double的==>结果就是double
如果a和b里边有一个是float的==>结果就是float
如果a和b里边有long的==>结果就是long
上述结果都不满足时,==>默认结果是int
表达式:
变量和字面值用某个运算符连接的式子,一个表达式必须有固定值。
4、运算符
+-*/%(取余也叫模)
=赋值,+=a+=3不会进行byte变化(a=a+3值会进行提升变化)
-=a-=3(a=a-3)*=/=...
++--a++等同于a+=1相当于a=a+1如果a=4,a++为4,先取值在加1,++a为5,先加1在取值。
(a的值都是5)
==在布尔运算符a==b判断ab值是否一样,判断真假,相等为真取前边,不等为假取后边。
==等于>大于<小于>=大于等于<=小于等于
!
=&&与(同为真结果为真,两边有一个为假,结果就为假)
||或(有一真结果为真)!
非(取反)
位运算符
&按位求与(两个1结果为1)|按位求或(两个里一个有1就是1)^异或(两个相同为0,不同为1)~按位取反
--------------------------------------
1011101110111011
&1001|1001^1001~——
——————0100
101110110010
--------------------------------------
&非短路&&短路
单竖线双竖线逻辑求或
有符号移位>>a>>1右移1位(相当于整数除以2,高位需要补1位,正数移后是正,负数移后是负,符号不会丢)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 预习 阶段 学习 笔记