加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JAVA第四天

发布时间:2020-12-15 05:35:02 所属栏目:Java 来源:网络整理
导读:package : ? 包 : ???? package写在源文件的第一行 ???? 作用:装 .java 源文件 ??? ?: 区别可能同名的源文件 ??? ?: 可以把具有相同/类似功能的类放到同一个包中 ???? 具有package的源文件,编写,编译,运行 ??? 编译:javac -d bin src/Test1.java ????????

package :

? 包 :

???? package写在源文件的第一行

???? 作用:装 .java 源文件

??? ?: 区别可能同名的源文件

??? ?: 可以把具有相同/类似功能的类放到同一个包中

???? 具有package的源文件,编写,编译,运行

??? 编译:javac -d bin src/Test1.java

????????? -d:把编译以后的.class文件放到指定目录下(bin)

??? 运行:java -cp bin com.briup.ch2.Test1

??? ? -cp:运行指定目录中的类

??? ????? 这个目录可以是文件夹,也可以是jar包

? ? ? ? ? 代码:jar -cvf hello.jar HelloWorld.class

?

import 导入: (导包)

??? 当前类中使用Test1

??? ch1/Test1.java

??? ch2/Test1.java

?

??? import ch1.Test1

??? main(){

??? new Test1();

??? new ch2.Test1();

??? }

?

注释:编译的时候会删除所有注释

??? //单行

??? /* 多行

???

??? */

??? 文档注释:使用javadoc生成api

??? /**

????? @param

????? @return

????? @author

????? @version

??? */

?

空格 :

??? 分隔关键字;类型 和 变量名;

??? 优化代码格式

?

代码块 :

??? 代码需要写到代码块中,有名字的代码块就是方法。

??? {

???

??? }

第一部分:java代码中的注释

??? 1.1:单行注释? 语法:? //

??? 1.2:多行注释? 语法:? /* 多行内容 */

??? 1.3:文档注释? 语法:? /**注释内容 */

??????? @author? 作者

??????? @version? 版本

??????? @param??? 方法的参数

??????? @return?? 方法返回类型

??????? @exception 返回抛出的异常

?

??? 1.4:注释不会被编译器编译到.class文件中

??? 1.5:文档注释 会被javadoc命令产生到帮助文档中

??????? javadoc -d 目录 CommentTest.java

??????? javadoc -encoding utf-8 -d mydoc CommentTest.java

??????? javadoc -encoding utf-8 -d mydoc -author -version CommentTest.java

??????? javadoc -encoding utf-8 -d mydoc -author -version *.java

?

第二部分:分号,空格和块

??? 1,分号: java中一句代码(语句)以分号结尾,必须出现。

??? ??? 注:大括号后面可以不加

??? 2,空格: 空格? tab? 回车 换行? 都是为了格式的好看出现,没有实际功能。

??????? eg: int?????????????????? abc

??????????????????????????????????????? =

??????????????????????????????????????????? 10;

??????? ??? 等价于 :? int abc = 10;

??? 3,块:又名为代码块 : 基础写法是 {}

?

??????? 知识点速记: 代码必须写在方法中,有名字的代码块就是方法。

?

第三部分:标识符

标识符

?? package名:全小写

?? 类名:首字母大写,剩下的单词驼峰命名法则

?? 方法名:首字母小写,剩下的单词驼峰命名法则

?? 变量名:首字母小写,剩下的单词驼峰命名法则

?

??? 1,java什么地方会用标识符:类名,方法名和变量名

??? 2,标识符的约束:

??? ?? 1) java标识符以字母、_和$开头,不能以数字开头,后跟字母、数字、“_”和“$”的组合;

??? ?? 2) 大小写敏感

??? ?? 3) 没有长度限制。

??? ?? 4) 不能是java中的关键字

??? 3,标识符样例

??? ????? 合法????? ? 非法

??? ????? try1??????????????? try#

??? ? GROUP_7??????????????? 7GROUP

??? ? openDoor?????????????? open-door

??? ? boolean1????? ?????????boolean

?

第四部分: 关键字

??? ?Java语言的关键字是程序代码中的特殊字符。包括:

??? ?. 类和接口的声明——class,extends,implements,interface

??? ?. 包引入和包声明——import,package

??? ?. 数据类型——boolean,byte,char,double,float,int,long,short

??? ?. 某些数据类型的可选值——false,true,null

??? ?. 流程控制——break,case,continue,default,do,else,for,if,return,switch,while

??? ?. 异常处理——catch,finally,throw,throws,try

??? ?. 修饰符——abstract,final,native,private,protected,public,static,synchronized,transient,volatile

??? ?. 操作符——instanceof

??? ?. 创建对象——new

??? ?. 引用——this,super

??? ?. 方法返回类型——void

?

??? ?Java语言的保留字是指预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。

??? ?. 所有关键字都是小写;

??? ?. friendly,sizeof不是Java语言的关键字,这有别于C++;

??? ?. 程序中标识符不能以关键字命名;

???

第五部分:数据类型中基本数据类型

?

数据类型:规定数据在内存所占用的空间

?? 基本数据类型:? 0101? 4bit

????? *byte 字节? 8位 bit?

??????? 0000 0000

??????? 1111 1111? -128

??????? 0111 1111?? 127

????? short 短整型 16位

????? *int? 整型?? 32位???? 10

????? *long 长整型 64位???? 10L

?

????? *float 单精度浮点型 32位?? 10.11f

????? *double 双精度浮点型64位?? 10.11

?

????? boolean? true false

?

????? char??? 两个字节表示一个字符 16位

??? ????? 一次只能表示一个字符

??????? 数字

??????? 字母

??????? 普通字符

??????? 中文汉字

??? ??? 表示特殊字符: 使用转义字符[]将特殊含义的字符转换为没有特殊含义的普通字符

????? char a = ‘‘‘;

????? char a = ‘‘

?

?

?

?

?? 引用数据类型:

????? 类类型:

??? String msg = "tom";

????? 接口类型

????? 数组类型

?

变量 : 用来承载一个数据

?????? 为了后期操作数据方便

? 声明变量:

??? 数据类型 变量名;

? 给变量赋值:

??? 变量名 = 数据类型对应的值;

? 使用变量:

??? syso(变量名);

?

? 简写 :

??? 数据类型 变量名 = 数据类型对应的值;

?

? 同时声明多个变量:

?????? 数据类型 变量名1,变量名2,...;

? 同时声明多个变量并且赋值

????? 数据类型 变量名1=值,变量名2=值....;

?

?

?

字符:

??? char a = ‘a‘;

??? char a = ‘1‘;

??? char a = 97;

??? char a = 0x0061;

??? char a = ‘u4e06‘// 厂

??? char a = ‘中‘;

Unicode/utf-8编码 : 两个字节 表示一个字符

?

ASCII 0-127? ‘"A-z

gb2312 : 中文

gbk : 中文

iso-8859-1

?

编码:

?utf-8

?? 0100 1010 中

?? 0100 1110 国

?gbk

?? 三个字节一个字符

?? 0100 1010 0000?

?

?? 这耐宁 --->? 山西方言 utf-8

??? ? --->? 普通话? gbk

?

??? 1,java中数据类型包括

??? ?基本数据类型:float double byte short int long char boolean

??? ?引用数据类型:类类型 接口类型 数组类型

??? 2,什么是数据类型

??? ?数据类型决定了如何将代表这些值的位存储到计算机的内存中

?

??? 3,位: bit:

??? ? 在数字电路和电脑技术中采用二进制,代码只有"0"和"1",其中无论是"0"或是"1"在CPU中都是一"位"。

??? ? eg: 0000 1111 ---> 8位? 8bit

??? 4,字节: byte

??? ? 字节是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于有八位,也表示一些计算机编程语言中的数据类型。

?

??? 知识点速记: 一个字节 等于 8 位。 eg: 一个字节 = 0000 0000

??? 5,基本数据类型中的长度

??? ? byte??? 8位? 0000 0000

??? ? short?? 16位 0000 0000 0000 0000

??? ? int???? 32位 0000 0000 0000 0000 0000 0000 0000 0000

??? ? long??? 64位 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

??? ? float?? 32位 0000 0000 0000 0000 0000 0000 0000 0000

??? ? double? 64位 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

??? ? boolean? 不讨论

??? ? char??? 16位

?

??? 6,字符编码:java使用的是Unicode(UCS-2)(utf-8)

??????? 字符编码:指用一串二进制数据来表示特定的字符

??????? 1,ASCII 编码

??????????? 主用于表达现代英语和其他西欧语言中的字符。它是现今最通用的单字节编码系统,它只用一个字节的7位,一共表示128个字符

??????? 2,ISO-8859-1编码

??????????? 国际标准化组织(ISO)为西欧语言中的字符制定的编码,兼容ASCLL编码

??????? 3,GB2312编码

??????????? 简体中文字符的编码它与ASCII字符编码兼容,收录了7445个字符

??????? 4,GBK编码

??????????? 对GB2312字符编码的扩展收录了21886个字符

??????? 5,Unicode字符编码

??????????? 收录了全世界所有语言文字中的字符,是一种跨平台的字符编码。

??????? ? 5.1:UCS(Universal Character Set)是指采用Unicode字符编码的通用字符集。

??????? ????? Unicode具有两种编码方案:

??????? ?????? . 用2个字节(16位)编码,被称为UCS-2,Java语言采用;

??????? ?????? . 用4个字节(32位)编码,被称为UCS-4;

??????? 6,UTF编码 : 衍生编码

??????????? ?有些操作系统不完全支持16位或32位的Unicode字符编码,UTF(UCS Transformation Format)字符编码能够把Unicode字符编码转换为操作系统支持的编码

??????? 知识点速记:java使用Unicode编码,java代码都是utf-8编码

?

?

??? 7 : 字符的取值

??????? 以下4种赋值方式是等价的:

??? ??? 字符用单引号引着(英文输入法下面的单引号)

??? ??? 字符串用双引号引着

?

??? ??? char c = ‘a‘;

??? ??? char c = ‘u0061‘;????? //设定"a"的十六进制数据的Unicode字符编码

??? ??? char c = 0x0061;??????? //设定"a"的十六进制数据的Unicode字符编码

??? ??? char c = 97;??????????? //设定"a"的十进制数据的Unicode字符编码

?

??? ??? 其他一些例子:

??? ??? char a1 = ‘a‘;? ?? //一个字母

??? ??? char a2 = ‘中‘; ?? //一个中文字符

??? ??? char a3 = ‘u0060‘???? //unicode编码

?

??? 8,转义字符:

??????? 1,作用:把java中含有特殊含义的字符转变为没有任何含义的字符。

??????? 2,写法:?? 特殊字符

??????? 3,转义字符的常见使用

??????? ??? n??? 换行符,将光标定位到下一行的开头;

??????? ??? t??? 垂直制表符,将光标移到下一个制表符的位置;

??????? ??? ??? 反斜杠字符

??????? ??? ‘??? 单引号字符

??????? ??? "??? 双引号字符

??? 9,整数类型:

??????? byte short int long : 都是整数类型:java中都是有符号整型,第一位是符号位。

??????? java中 八进制为 0 开头

??????? java中 16进制为 0x开头

?

??????? 注意:在使用long类型的时候需要使用L标明

??????????? eg: long a = 10;? 错误写法

??????????????? long a = 10L; 正确写法

??? 10,浮点类型:小数类型

??????? 注意:使用浮点型的时候也需要注明

??????? float :?? f 占四个字节,称为单精度浮点型

??????????? eg:float a = 10;? 错误写法

??????????? ?? float a = 10f; 正确写法

?

??????? double:?? d 占八个字节,称为双精度浮点型

??????????? eg:double a = 10;? 错误写法

??????????? ?? double a = 10d; 正确写法

???????

??????? 注:浮点型的取值范围是无穷大+NaN

??????????? NaN:一个常数,持有float类型的非数字(NaN)值。?

??????????????? ?float f1 = (float)(0f/0f);

?

?注意:

数据类型的转换问题:: 位数越大? 大

? 大 转 小? : 强制类型转换

??? int a = (int)10L;

?

? 小 转 大? : 隐式类型转换

??? long a = 10;

?

?

第六部分:变量的声明和赋值

??? 1,为啥用变量:程序是利用计算机对数据的快速计算能力完成一些功能。

??????? 变量就是为了让程序员更好的使用指定的数据

??? 2,变量的作用:

??? ??? 变量可以用来存储 一个 数据,给这个数据起了名字(变量名)方便程序员使用该变量

?

??? 3,怎么声明变量:

??????? 语法:? 数据类型? 变量名;

??????? ?????? 数据类型? 变量名,变量名,变量名;

??????? 注意 :声明完变量以后,这个变量是没有指定数据的

??? 4,给变量赋值: 即给变量指定数据

??????? 语法:? 变量名 =? 值;

?

??? 变量的声明和赋值可以写在一起:

??????? 数据类型 变量名 =? 值;

??????? 数据类型 变量名 = 值,变量名 = 值,变量名=值;

?

??? 知识点速记:变量如果要使用,一定要赋值。

??????? 先声明再赋值最后使用。

?

第七部分:基本类型之间的转换

??? 隐式转换 :? 小类型---转换为--->大类型

??? 显示转换 :? 大类型---转换为--->小类型

?

??? eg:

??? int a = 10;

??? byte b = a;//错误,a 是int 类型,b 是小类型,把大类型的值符给小类型,需要强制类型转换,即显示转换.

?

??? eg:

??? int? a = 10;

??? long b = a; //正确: a 是int 类型 ,b是long 类型,

?

第八部分:类

??? 1,什么是类

??????? 类是一组具有相同属性和行为对象的模板

??????? 类是java中一种复杂的数据类型,

??? 2,类的作用是什么

??????? 复杂的数据在内容中如果存放,如何操作

?

??????? 知识点速记:类是一个模板,用来存放和操作数据.

?

??? 3,怎么编写一个类

??? ?? 创建类:在后缀为.java的文件中使用class关键字创建.

??????? ?class 类名 {

??????? ???? String name;

??????? ???? int age;

??????? ?}

?

??????? ?注意这个类,我没有加pulibc关键字,

?

??? 4,怎么使用一个类

??? ? 类是一个模板,如果要使用的话,是使用模板产生的某一个对象。每个对象都是唯一的。

?

??? ? 怎么使用模板产生对象?

??? ???? 使用new 关键字产生对象

??????? ?eg:

??????? ?Student stu = new? Student();

?

??? ?? 一个模板可以产生多少个对象?

??????? 一个模板可以产生N多对象,每个对象都是不一样的。

??????? 每个对象都是某个类的实例

??????? 同一个类的所有实例都有相同属性,但属性取值不一事实上相同

??????? 同一个类的所有实例都有相同行为,意味着它们具有一些相同的功能

第九部分:main方法:

??? 1,程序的主入口:

??????? 当执行命令 java HelloWorld 的时候就会找HelloWorld这个类中的主方法,程序会从主方法开始向下运行。

??? 2,如果main在public修饰的类中,是没有效果的,没办法找到main类

??? 3,public static void? main(String[] args){} 主方法的args 是用来接收参数的。这个参数在执行java HelloWorld命令的时候可以携带。

??????? eg: java HelloWorld? 1 tom abc

??? ??? 解释: 执行HelloWorld类中的main方法 并且 把 1? tom? abc 三个值传入到main方法参数的args中。

??? 4,static public void? main(String args[]){}

??? 4,public static void? main(String args[]){}

??? 4,public static void? main(String... args){}

??? 这三种写法都是代表main函数。

?

???

??? 普通方法,声明

??? public void 方法名(参数列表){

???????

??? }

??? 普通方法的调用,

??????? 这个普通方法位于哪个类中,就需要使用哪个类对象.方法名(参数);进行调用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读