《Java知识点总结系列》第二章——语法篇

《Java知识点总结系列》第二章——语法篇
《Java知识点总结系列》第二章——语法篇

内容预览

注释

jar命令

标识符

变量与字面值

局部变量

表达式与运算符

String字符串初探

Java的注释

(说明性质的文字增强程序的可读性不被编译器编译直接忽略)

任意一种语言都支持单行、多行注释

Java注释的分类:

1. 单行注释(//)

a) 可以书写在任何位置

b) 反斜杠后写一行描述性文字

2. 多行注释(/* */)

a)不允许嵌套

3. javadoc注释(/** */)实现注释和代码分离

a) 只能写在类、方法上面,不能写在方法内部

b) 区别:只给用户看注释,不给用户看源代码

Java:

企业级软件ERP CRM

行业软件eg:医院只给软件使用权不需要给用户看源代码

c) javadoc命令可以抽取注释生成html文件

d) javadoc命令格式

javadoc –d doc HelloWorld.java

-d:目录(directory)

doc:特定文件夹(html文件放在doc里面)

用户查看index.html文件

e) 生成javadoc文件,必须是公共类

格式:

/**

*类名:

*作者:

*开发日期:

*作用:

*修复日期:

*原因:

*/

4. 总结Java的注释

a) 注释的3种写法

b) javadoc注释的作用

c) JavaSE API文档Application Interface

1. 包的概念(解决类名冲突类似于操作系统的文件夹但实际上不是)

2. 包的创建与package关键字

带有包的编译javac –d .HelloWorld.java

java p1.HelloWorld

a) 写在类代码的第一行,大小写区分

b) 不一定要写,极大程度解决类名命名冲突

c) 属性从属于包------>全限定名(包名+类名)

3. 子包的概念(文件夹的嵌套)

a) javac –d . HelloWorld.java

b) 一个包里可以有多个类(不要同名)

c) 不能够手工创建文件夹充当包

4. 带有包的使用和import语句

a) p1.p2.HelloWorld hw;声明时全限定名

带包时,按层级结构,严格书写,最深层

b) 相同包下的类,不用写包

c) 使用的类多次使用import

import p1.p2.HelloWorld;预先声明

import p1.p2.*; 所有的类

5. JavaSE中的包

a) java lang(System,String)https://www.360docs.net/doc/e7966867.html,ng中的包不用import 直接使用

b) java.util

c) java.sql

d) java.io

e) 后续学习其中的类

6. java包的命名要求

a) 不要以java开头

b) 建议:以公司的域名反写作为java类的包

c) 一般包名全部小写package com.oralce.项目.模块

d) 自己写的类可以带*,但Java API里的类用哪个导入哪个

jar命令

1. jar包(保存、压缩.class文件文件的压缩格式)

防止病毒感染传输速率快

tar: Linux

zip: Windows、Linux

rar:Windows

a) java cvf test.jar HelloWorld.class

b) java cvf test.jarHelloWorld.class Welcome.class(多个类以空格区分)

c) java cvf test.jar p1(包名最外层)

d) cvf:

c:create 创建

v:view 显示创建信息

f:创建文件

2. 第三方jar

现在的软件是大规模、多人配合;不是单打独斗。

别的程序员写的,不必关心实现,只知道调用。

设置CLASSPATH

a) oracle_common.jar

b) CLASSPATH

.;D:\ oracle_common.jar

c) oracle_common.jar的使用

标识符

1. 标识符的概念

a) 合法字符(类、变量、包)

字母、数字、下划线、货币符号($)

数字不能应用首字母

b) 大小写敏感

HelloWorld !=helloworld

c) Java语法关键字

java中有一些字符用作特殊用途称之为关键字

关键字不能用于标识符

如:class public staticvoid package import

2. Java语言中的关键字(关键字、保留字、boolean 小写,不能用于标识符)

a) ……

b) Java语言保留但未使用的关键字:gotoconst(C/C++)

c) 严格来说true和false不是关键字,他们是布尔数据类型的值

3. 标识符命名习惯(养成良好的习惯----->约定俗成的习惯)

a) 望文生义

b) 推荐命名规则

i. 包名:全部小写,如com.oraclesdp

ii. 类名:每个单词首字母大写如:HelloWorld

iii. 接口名:每个单词首字母大写如:HelloInterface

iv. 变量/方法名:第一个单词小写后面每一个单词大写如:score showUserInfo(驼峰命名法)

v. 常量:每个单词都大写多个单词之间以下划线连接如:REQUEST_CODE

变量与字面值

1. 变量概念(在内存中开辟空间,存储数据,并取名)

a) 程序运行在内存中

b) 程序的核心是处理数据

c) 在内存中存储数据的单元(容器)

d) 内存中:内存地址------>不好记------>取别名------>变量

2. 变量的创建

int i;

int i, j;

习惯int i; int j;

a) 强数据类型编程语言定义变量时指定其数据类型

b) 满足不同需要(单人间、双人间、总统套房)

3. 变量的赋值(在空间中存储数据)

a) int i; i = 10;

b) int i = 10;(创建与赋值整合)

4. 变量的字面值

a) 变量可存储的合法的数据

b) int i; i = 10;

5. 注意几点:

a) 声明一个变量

b) 对变量进行赋值

c) 才能使用该变量

d) 实例变量和局部变量,局部变量必须先初始化才能使用,实例变量不必初始化也可使用。

变量的数据类型

1. 基本的数据类型(8种)

a) 整数类型byte short int long

b) 浮点数类型float double

c) 布尔类型boolean

d) 字符类型char

2. 对象数据类型

a) String

b) System

c) Student

3. byte(1个字节------>8位)

a) 取值范围-128-----127 -2^7-------2^7 - 1

4. short(2个字节------>16位)

a) 取值范围-32767-----32768 -2^15-------2^15 - 1

5. int(4个字节------>32位)

a) 取值范围-2147483648-----2147483647 -2^31-------2^31 - 1

6. long(8个字节------>64位)

a) 取值范围…… -2^63------2^64 – 1

b) long l = 100l;

c) long l = 100L;

d) 字面值(必须加L/l)------>一般大写L,因为小写l像数字1

7. 整数的8进制表示形式(逢8进1 以0开头)

a) byte b = 012;

b) long l = 012L;

8. 整数的16进制表示形式(逢16进1 以0x开头)

a) byte b = 0x41;

b) long l = 0x41L;

9. float(4个字节------>32位单精度浮点数)

a) float b = 12.2f;

b) float b = 12.2F;

10. double (8个字节------>64位双精度浮点数)

a) double b = 12.3;(可加D/d,亦可不加)

11. 科学计数法(8个字节------>64位)

a) float b = 2.667e13f;------>2.667 x 10^13 f

b) double d = 1.57e-3; ------>1.57x 10^-3

12. 浮点数丢失精度问题

a) double d = 2.0 –1.1;println(d); d = 2.8999999…;

b) 表达小数时有可能丢失

13. boolean(一个字节)真假存在与否

a) boolean 字面值true false

b) boolean 字面值不可以用0或者1C/C++(true/false 1/0)

c) 如:boolean isChecked = true;

14. char(2个字节------>16位)

a) char a = …A?;

b) unicode码表示------>和字母一一对应如:char a = …\u0041?;4位16进制数表示

c) char a = 65;翻译成对应的unicode码计算机只认识数字数字------>表示字符

15. 转义字符(特殊含义字符)

a) …\n?:换行

b) …\r?:回车

c) …\t?:退格,相当于TAB键

d) …\\?:\

e) …\??:?

f) …\???:??

g) Windows:换行=回车

h) 其他操作系统:不一定

类型转换

1. 类型转换(存储空间较小的数据可以赋值给存储空间大的,反之不行)

a) int i = 10;

b) long l = i;

c) int b = 10;

d) byte c = b;//错误

2. 强制类型转换(大的给小产生丢失精度问题)

a) int b = 10;

b) byte c = (byte)b;

c) byte b = (byte)128;//丢失精度-128

3. 自动类型提升(多变量运算运算结果类型有提升伴随强制类型转换)

a) byte b = 10;

b) byte c = 20;

c) byte d = b + c;//错误,int d

d) byte d = (byte)b + c;

4. 自动类型提升结论

a) A B 其中有double,运算结果为double

b) A B 其中有float,运算结果为float

c) A B 其中有long,运算结果为long

d) 其余情况为int

5. 思考

a) char c = …A?;

b) char b = c + 1;//错误

c) char b = (char)c + 1;//正确

局部变量

1. 局部变量概念

定义在方法(等同于函数)内部的变量叫做局部变量

2. 局部变量的使用要求

a) 先赋值,后使用

b) 代码说明

public classTestLocalVar{

public static void main(String[] args){

int i;

System.out.println(i);//错误

}

}

3. 局部变量的作用域

a) 从变量定义位置开始,到整个定义它的代码块为止

b) 同一个作用范围内不允许发生局部变量命名冲突

c) 局部变量------->就近原则

表达式

1. 概念:由字面值、变量、常量通过运算符连接的式子

2. 表达式一定要有结果

3. 举例:

a) 1 + 2;

b) a + b;

c) b = a;

d) int c = 45; int d;System.out.println(d = c);

运算符

1. 赋值运算符(从右往左看)

a) = *= /= %=

b) += -= <<= >>=

c) >>>= &= ^= /=

d) 说明:>>=:有符号右移>>>=:无符号右移

e) byte b = 1; b = b + 1;//错误,有自动类型提升b += 1;//不用自动类型提升

2. 比较运算符(布尔表达式)

a) > >= < <= instanceof(面向对象)

3. 相等运算符

a) == !=

b) ! 相反

c) int a =10; int b = 20;System.out.println(!(b > a));

4. 算术运算符

a) + - * / %

b) 5 / 2;//自动类型提升5.0 / 2;//2.5

c) %:求模(判断偶数? % 2 == 0)

5. 移位运算符(加密运算,使用很少)

a) >> << >>>

b) >>:移一位除2

c) <<:移一位乘2

d) >>>:无符号右移(正数:同右移运算符负数:变成正数,非常大,无规律)

6. 位运算符(二进制运算)

a) & | ^ ~

b) 与或异或反

c) 与:有0出0

d) 或:有1出1

e) 异或:相同为0,不同为1

7. 逻辑运算符(双方为布尔值)----->运算结果也为布尔值

a) & | && ||

b) &:两个变量都要看

c) &&:短路与,前面为false,结果为false(效果同&,效率高于&)

d) ||:短路或,前面为true,结果为true(效果同|,效率高于|)

8. 条件运算符(三元/三目运算符)

a) ? :

b) 说明:问号前面跟布尔表达式,为true执行冒号前面的,为false执行冒号后面的

9. ++ -- 运算符

a) ++ --

b) ++i:变量的值效果同,表达式的值不同(先加后使用)

c) i++:变量的值效果同,表达式的值不同(先使用和加)

d) 比如,i = 10; i ++; ++i;i++和++i后i都是11,但是++i表达式的值为11,i++表达式的值为10.

10. 运算符的优先级加()表示优先执行

String初探

1. String类型(对象类型,不是8种基本数据类型)

2. 示例

a) String name = “suns”;

b) char a = …A?;

c) char b = …AB?;//错误

d) String c = …ABC?;//错误

e) String nam = “Suns”;

3. String的连接:使用?+?。可以连接字符串、各种基本数据类型。

实验 2 Java 基本语法练习

实验 2 Java 基本语法练习 一、实验目的 1.了解Java 的数据类型 2.掌握各种变量的声明方式。 3.理解运算符的优先级。 4.掌握Java 基本数据类型、运算符与表达式。 5.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 6.通过以上内容,掌握Java 语言的编程规则。 二、实验要求 1. 编写一个声明Java 不同数据类型变量的程序。 2. 编写一个使用运算符、表达式、变量的程序。 3. 编写一个使用Java 数组的的程序。 4. 编写表达式语句、复合语句的程序。 5. 编写使用不同选择结构的程序。 6. 编写使用不同循环结构结构的程序。 三、实验内容 (一)声明不同数据类型的变量 1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。

2.编译并运行该程序 (二)了解变量的使用范围 1.建立KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。

2.编译KY2_2.java 此时会出现错误提示。因为变量k 在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。 3.修改上面的程序。 4.成功运行该程序。 思考:KY2_2.java 程序说明了什么问题? (三)使用关系运算符和逻辑运算符 1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。 2.编译并运行该程序。 (四)使用表达式语句与复合语句 1.建立包含表达式语句程序,源代码如下。 2.建立包含复合语句程序,源代码如下。

3.编译并运行上述两个源程序 4.将变量i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。 思考:指出程序的复合结构以及变量的使用范围。 (五)使用选择语句 1.使用if...else 语句 ?程序功能:使用if...else 语句构造多分支,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。 ?编写源程序文件,代码如下。

java基本语法总结

一、标识符及字符集 Java语言规定标识符是以字母、下划线"_"或美元符号"$"开始,随后可跟数字、字母、下划线或美元符号的字符序列。Java标识符大小写敏感,没有长度限制,可以为标识符取任意长度的名字,但关键字不能作为标识符。为增强程序可读性,Java作如下的约定: 1.类、接口:通常使用名词,且每个单词的首字母要大写 2.方法:通常使用动词,首字母小写,其后用大写字母分隔每个单词 3.常量:全部大写,单词之间用下划线分隔 4.变量:通常使用名词,首字母小写,其后大写字母分隔每个单词,避免使用$符号。 Java语言使用国际字符集(Unicode)。Unicode字符集定义了一套国际标准字符集。通常的ASCII码是8位的,而Unicode字符集中的每个字符占16位,即2个字节,整个字符集共包括65336个字符,兼容ASCII,排在Unicode字符集最前面的256个字符就是ASCII码。Unicode除了可以表示256个ASCII码外,还可以表示汉字、拉丁语、希腊字母、朝鲜语等。 Java标识符总结:1.由字母、数字、_或$组成,不能以数字开头;2.严格区分大小写;3.长度不限 二、关键字 Java常用关键字列表如下: 关键字含义 Abstract 用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现 Boolean布尔类型,只有true或者false Break停止,并跳出本层循环 Byte 8bit (位),也就是8个1/0表示,即二进制

Case 用来定义一组分支选择,如果某个值和switch中给出的值一样,就会从该分支开始执行。 Catch 用来声明当try语句块中发生运行时错误或非运行时异常时运行的一个块。 Char用来定义一个字符类型Class类 Const 在Java中,const是作为保留字以备扩充,同样的保留字以备扩充还有goto.你可以用final关键字.final也可以用于声明方法或类,被声明为final的方法或类不能被继承。一般C里是const 对应java用final Continue 用来打断当前循环过程,从当前循环的最后重新开始执行,如果后面跟有一个标签,则从标签对应的地方开始执行。 Default 配合switch跟case使用,但case中没有找到匹配时,则输出或者为default后面的语句。 Do 用来声明一个循环,这个循环的结束条件可以通过while关键字设置 Double用来定义一个double类型的变量 Else 如果if语句的条件不满足就会执行该语句。 Extends extends 继承类X 通过extend 类Y来

JAVA基本语法练习_PROBLEM

Java基本语法练习 1.给定3个数a,b和c,输出最大的数。 2.某电信公司的市内通话费计算标准如下: 三分钟内0.2元,三分钟后每增加一分钟增加0.1元,不足一分钟的按一分钟计算。要求编写程序,给定一个通话时间(单位:秒),计算出应收费金额。 3.某市的出租车计费标准为:3公里以内10元,3公里以后每加0.5公里加收1元;每等待2.5分钟加收1元;超过15公里的加收原价的50%为空驶费。要求编写程序,对于任意给定的里程数(单位:公里)和等待时间(单位:秒)计算出应付车费,车费直接截去小数位,只取整数。 4.编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 5.给定一个百分制的分数,输出相应的等级。 90分以上A级 80~89B级 70~79C级 60~69D级 60分以下E级

6.编写程序求1+3+5+7+……+99的和值 7.编写程序输出1-100之间所有能被7整除的偶数。 8.求所有满足如下条件的四位数: 千位上的数字大于百位数字,百位数字大于十位数字,十位数字大于个位数字,并且千位数字是其他三位数字的和。 9.给定两个任意的正整数,求它们之间的所有完全平方数,完全平方数是指这个数是某个整数的平方,例如16,25,36等都是完全平方数。 10.编写程序求下列多项式的前50项的和: 1-1/3+1/5-1/7+1/9-…… 11.请编写程序输出九九乘法表。 12.编写程序输出1-100之间的所有素数。 13.在屏幕上输出一个n行的金字塔图案,例如,若n=5,则图案如下:* *** ***** ******* ********* 14.求斐波那契数列前n项的和值,斐波那契数列如下:1,1,2,3,5,8,13,21…… 前两位数是1,从第三位开始每位数都是前两位数之和 15.给定一个整数,把它的各位数字倒排过来形成一个新的整数。 例如:给定12345输出54321;给定9870输出789。

第二、三章java语法知识复习练习

第二、三章 Java基础知识与流程结构 1、Java语言是() A、区分大小写的 B、不完全区分大小写 C、完全不区分大小写 D、以上说法都不对 2、Java语言中,下列标识符错误的是 A、name B、?question C、$number D、_tree 3、在Java语言中,int类型在内存中所占的位数为 A、8 B、16 C、32 D、64 4、以下不属于基本类型的是 A、int B、interface C、float D、char 5、Java变量中,以下不属于复合类型的数据类型是 A、数组型 B、类 C、整数型 D、接口 6、专门定义常量的保留字是 A、var B、interface C、final D、const 7、下列定义变量错误的是 A、int al; B、char ch1; C、int d1=10; D、bool bl1; 8、下列定义变量错误的是() A、char s="23"; B、short I=100; C、double d; D、String srt="weare me!"; 9、在给数值类型赋值时,如数字后没有字母,计算机默认为()类型 A、integer类型 B、float类型 C、double类型 D、字符类型10、将较长的数据类型转换为较短的整数类型,要进行() A、类型的自动转换 B、类型的强制转换 C、无需转换 D、无法实现 11、下列表示回车的是 A、\f B、\n C、\t D、\r 12、下列赋值语句错误的是 A、i=i; B、I = = 0; C、I = I +1; D、I += 1; 13、在Java中,”%”符号的作用是 A、求百分比 B、求余 C、除 D、取整 14、下面不属于Java条件分支语句结构的是 A、if-else if结构 B、if-else结构 C、if-else if-else结构 D、if-end if结构 15、Java中最简单的条件语句是( )结构 A、if结构 B、while结构 C、if-else结构 D、以上都不对 16、当x=1、y=3,时,表达式 x%=y 的运算结果为( ) A、x=2,y=3 B、x=0,y=3 C、x=1,y=3 D、x=1,y=2 17、if语句中“条件”表达式可以是 A、关系表达式 B、布尔逻辑表达式 C、选项A、B都是 D、以上都错 18、if语句中“条件”为“真”时,可以执行 A、一条语句 B、两条语句 C、多条语句 D、一条语句,或者由“{}”括起的代码块

第2章 Java编程基础_教学设计

传智播客《Java基础入门》 教学设计 课程名称:Java基础教程 授课年级:2014年级 授课学期:2014学年第一学期 教师姓名:某某老师 2014年02月09日

课题名称第2章 Java编程基础计划 学时 8课时 内容分析学做任何事情,都要打好基础。同样地,要掌握并熟练使用Java语言,必须充分了解Java语言中的基础知识。本章将针对Java的基本语法、Java中的变量、运算符、方法、结构语句以及数组进行详细地讲解。 教学目标及基本要 求要求学生掌握Java的基本语法、掌握Java中常量和变量的使用、掌握Java流程控制语句的使用、掌握方法的定义和重载、掌握数组的定义与使用。 重点及措 施教学重点:Java变量、选择结构语句、循环结构语句、方法的重载、数组的定义与使用。 难点及措 施 教学难点:选择结构语句、循环结构语句。 教学方式教学采用教师课堂讲授为主,使用教学PPT讲解。 教学过程 第一课时 (Java代码的基本格式、注释、标识符、关键字和常量) Java代码的基本格式 ●Java中的代码分为结构定义语句和功能执行语句,其中,结构定义 语句用于声明一个类或方法,功能执行语句用于实现具体的功能。每 条功能执行语句的最后都必须用分号(;)结束。 ●Java语言是严格区分大小写的。 ●在编写程序代码时,尽量做到整齐、美观、层次清晰,使用代码保持 一种良好的格式,提高可读性。 Java中的注释 ?单行注释 单行注释是对程序中的某一行代码进行解释,用符号“//”表示。“//”后面为被注释的内容,具体示例如下: int c = 10; // 定义一个整型变量 ?多行注释 多行注释以符号“/*”开头,以符号“*/”结尾,具体示例如下: /* int c = 10; int x = 5; */ ?文档注释 以“/**”开头,并在注释内容末尾以“*/”结束。文档注释是对代码的解释说明,可以使用javadoc命令将文档注释提取出来生成帮助文档。 Java中的标识符 ?什么是标识符 在编程过程中,经常需要在程序中定义一些符号来标记一些名称,如,包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。

实验二 Java基本语法练习

实验二 Java基本语法练习 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6 【实验目的】 1.了解Java的数据类型 2.掌握各种变量的声明方式 3.理解运算符的优先级 4.掌握java基本数据类型。运算符与表达式、数组的使用方法 5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法【实验要求】 1.编写一个声明java不同数据类型变量的程序 2.编写一个使用运算符、表达式、变量的程序 3.编写一个使用java数据的程序 4.编写表达式语句、复合语句的程序 5.编写使用不同选择结构的程序 6.编写使用不同循环结构的程序 【实验内容】 一.声明不同数据类型的变量 1.编写声明不同数据类型变量的程序文件DEMO2_1.java,源代码如下。 public class Demo2_1 { public static void main(String args[]) { byte b=0x55; short s=0x55ff; int i=1000000; long l=0xffffL; char c='a'; float f=0.23F; double d=0.7E-3; boolean B=true; String S="这是字符串类数据类型"; System.out.println("字节型变量 b = "+b); System.out.println("短整型变量 s = "+s); System.out.println(" 整型变量 i = "+i); System.out.println("长整型变量 l = "+l); System.out.println("字符型变量 c = "+c); System.out.println("浮点型变量 f = "+f); System.out.println("双精度变量 d = "+d); System.out.println("布尔型变量 B = "+B); System.out.println("字符串类对象 S = "+S); } } 2.编译并运行该程序,结果如图2.1 所示。

相关文档
最新文档