河南键盘价格联盟

第三天 Java基础入门 【云谷教育】

西部云谷IT2018-06-24 02:39:09

第5章 注释、关键字与标识符

5.1 注释

用来解释和说明程序的文字。案例中的代码我们并不知道什么意思,我们可以使用注释来提醒自己我的代码的功能是什么。注释是不会被执行的。

 

格式

单行注释    //注释内容

多行注释    /*注释内容*/

文档注释 /**注释内容*/

 

注释的进一步解释

对于单行和多行注释,被注释的文字,不会被JVM解释执行。

对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。在文档注释中可以使用注解配合javadoc完成对信息的进一步说明。

注释是一个程序员必须要具有的良好编程习惯。便于自己日后的代码维护,也方便别人阅读你的代码。

HelloWorld注释说明

/*

class:类,Java当中组织代码的基本单位

HelloWorld:类名,可自定义,必须与文件名一致

public:访问权限修饰符,现为固定写法

static:静态修饰符,现为固定写法

void:返回值类型,现为固定写法

main:方法名,现为固定写法

String[]:参数类型,现为固定写法

args:参数名,可以自定义修改,建议固定写为args

 */

public class HelloWorld {

/*

main方法是程序入口,即JVM从main方法处开始运行程序。

*/

public static void main(String[] args) {

//打印语句

//小括号内为打印字符串语句,字符串必须使用""包裹

System.out.println("Hello World!");

}

}


5.2 关键字

关键字是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的public,class,static,void均为Java已经预设好的。

学习java语言基础实际上就是学习各种关键字如何使用的过程

Java中关键字均为小写,注意String不是关键字

goto与const是Java中的保留字,即没有赋予特殊含义却仍被Java占用的单词

5.3 标识符及命名规则

标识符是用来表示某个实体的符号,即为代码中的部分内容起的名称。简单来说,在Java中自己起名字的地方使用的就叫标识符,遵守标识符规则(这些地方包括:变量名、方法名、类名、接口名、包名等的命名)。Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。

 

5.3.1 组成元素

英文字符: a-zA-Z

数字: 0-9

符号: _与$


5.3.2 标识符规则

数字不能开头

不可以使用关键字

严格区分大小写,不限制长度

起名时,尽量达到见名知意

 

        123sadfsd

        SDFD123

        #DFD

        _$

        static

 

5.3.3 在Java当中不同部分的命名规则

针对Java当中的不同内容,在标识符的基础上,为这些内容命名还要符合以下规定,但是这些规定是不受语法约束的。

包名:多单词组成时所有字母均小写,使用.连接  aaa.bbb.ccc

类名&接口名:大驼峰式   AaaBbbCcc

变量名&方法名:小驼峰式   aaaBbbCcc

常量名:多单词组成是所有字母均大写,使用_连接  AAA_BBB_CCC

第6章 常量及数据类型

6.1 常量

6.1.1 常量概念

常量是不能改变的量,即  每一个常量就是一个数值。

6.1.2 数据类型

如同在数学当中有小数与整数两种数值,在Java当中需要表示生活生产中的多样内容,其数据类型比数学中的小数与整数更为丰富。

Java是严格区分数据类型的强类型语言,即每个数据均必须有一个数据类型。

整数

    i. 十进制表示方式:正常数字   如 13、25等

    ii. 二进制表示方式:以0b(0B)开头    如0b1011 、0B1001

    iii. 十六进制表示方式:以0x(0X)开头   数字以0-9及A-F组成  

    如0x23A2、0xa、0x10

    iv. 八进制表示方式:以0开头   如01、07、0721

小数

    如2.13、1.0

布尔型

    用来表示是否,布尔类型只有两个值  true代表真即满足条件   

    false代表假即不满足条件

字符

    i. 表示单个字符,键盘的按键可以输入一个字符。中文的一个汉字可以代表一个字符。

    ii. 字符需要使用’’将内容包裹

    iii. 字符内容不能为空

    如  ‘1’、 ‘a’、 ‘ ’(空格)、 ‘中’、 ‘$’

字符串

    i. 字符串String是一种特殊的数据类型

    ii. 字符串必须使用“”包裹

    如  “我爱Java”、 “0”、 “a”、 “”、 “null”


/*

常量:固定不变的数

整数,小数,字符,布尔,字符串

*/

public class ConstDemo{

public static void main(String[] args){

//整数

//十进制:常用

System.out.println(8);

//二进制:以0b/0B开头 只包含0和1

System.out.println(0b1000);

//十六进制:以0x/0X开头 0-9 a-f

System.out.println(0x8);

System.out.println(0xb);

//八进制:以0开头 0-7

System.out.println(010);//8

System.out.println(011);//9

System.out.println(017);//15


//小数

System.out.println(3.1415926);


//布尔

System.out.println(true);

System.out.println(false);


//字符 必须用''包裹起来 不能为空

System.out.println('1');

System.out.println('a');

System.out.println('B');

System.out.println('家');

System.out.println('&');

System.out.println(' ');

//System.out.println('10');//错误: 未结束的字符文字


//字符串 必须用""包裹起来

System.out.println("我想有一个女同桌!");

System.out.println("");

}

}


6.2 常量案例---超市水果报价单

6.2.1 案例介绍与演示

根据不同的水果种类,在控制台打印所有水果价格的列表。


6.2.2 案例分析

每行以每个水果为单位,记录该水果的编号、名称、单价、计价单位、品质五个属性值,依次完成多个水果的记录

将多个水果的信息以列表的形式打印到控制台

 

我们可以使用死数据来完成报价单,这里的“死数据”指不能改变,不与客户交互的数据,用来测试程序。

我们需要将需求当中的各种属性打印到控制台。

这里有两种方式可以实现:

全部使用字符串的方式,这是非常直观的方式:

直接打印字符串即可。

 

代码:

System.out.println("水果编号    水果名称    水果单价    计价单位    品质");

System.out.println("   1          榴莲        32.0        公斤       A");

System.out.println("   2          苹果        6.5         公斤       B");

System.out.println("   3         猕猴桃       6.0         公斤       A");

  

区分数据类型,打印不同数据类型的方式:

对于Java是严格区分数据类型的。

在HelloWorld案例中,我们使用System.out.println(“打印内容”)打印的就是字符串,即一段话,文本文字,是无法做数学运算的。

水果名称与计价单位显然是字符串类型的,按照字符串格式打印即可。如”香蕉”、 ”苹果”、”大鸭梨”等。

编号应该为整数,不应该像名称一样是文本文字。不需要使用“”。

水果单价应该为小数,可以参与计算。同样不需要使用“”。

水果品质一个字母就可以表示,应该为字符。字符需要使用‘’。


我们把数据调整为对应的常量类型后,还需要把常量其他的字符串连接起来,我们使

用“+”来完成连接,我们来看几个连接后的效果

1 + “World”,连接后的结果就是”1World”

“Hello”+ 3.3,连接后的结果就是”Hello3.3”

 

 

当区分数据类型时,修改代码为:

System.out.println("水果编号    水果名称    水果单价    计价单位    品质");

System.out.println("   "+1+"          榴莲        "+32.0+"        公斤       "+'A');

System.out.println("   "+2+"          苹果        "+6.5+"         公斤       "+'B');

System.out.println("   "+3+"         猕猴桃       "+6.0+"         公斤       "+'A');

 

注意以上代码为黑色部分并不是字符串,我们通过“+”将整数编号、小数单价、字符品质和字符串的名称与计价单位拼起来一起输出了。

类似这样,直接写出来的整数、小数、字符、字符串,均叫做常量。写入程序后是无法改变的。

 

/*

水果超市报价单:字符串常量方式

水果编号 水果名称 水果单价 计价单位 品质

1   榴莲  32.0  公斤  A

2   苹果  6.5   公斤  B

3   猕猴桃  6.0   公斤  A


水果超市报价单:多种常量方式打印

水果编号:整数

水果名称:字符串

水果单价:小数

计价单位:字符串

品质:字符

*/

public class List01{

public static void main(String[] args){

//字符串常量方式

System.out.println("水果编号 水果名称 水果单价 计价单位 品质");

System.out.println("1  榴莲  32.0  公斤  A");

System.out.println("2  苹果  6.5  公斤  B");

System.out.println("3  猕猴桃  6.0  公斤  A");


System.out.println("============================================================");

//多种常量连接 + 任何常量和字符串常量相加结果都是字符串

System.out.println(1+"Hello");//"1Hello"

System.out.println("asdf" + 3.3);//"asdf3.3"


System.out.println("============================================================");

//多种常量方式打印

System.out.println("水果编号 水果名称 水果单价 计价单位 品质");

System.out.println(1+"  榴莲  "+32.0+"  公斤  "+'A');

System.out.println(2+"  苹果  "+6.5+"  公斤  "+'B');

System.out.println(3+"  猕猴桃  "+6.0+"  公斤  "+'A');


}

}

第7章 习题总结:

7.1 知识点相关题

7.1.1  简述java语言,具有哪些特性?

1.java语言是简单的

java语言是和c++语言类似的,其次java中丢弃了c++中一些难理解的特性,比如运算符重载等,java语言不使用指针,并且拥有垃圾回收机制

2.java语言是面向对象的

java语言提供了类、接口和继承等特性,只支持类之间的单继承,但是支持接口之间的多继承,并且支持类与接口之间的实现机制,而且java是全面支持动态绑定的。

3.java语言是分布式的

java语言支持Internet应用的开发,在java编程中有一个编程接口时java,net接口,它是用来提供网络编程的一个类库,java的RMI机制也是开发分布式应用的重要手段。

4.java语言是健壮的

它丢弃了c++中的指针,但是他拥有强大的垃圾回收机制,强制类型转化机制,异常处理机制,安全性检查等重要机制。

5.java语言是安全的

java语言自身有安全性之外,它还可以通过网络下载的类本身具有一个安全防范机制,通过分配不同的名字空间,以放代替本地的同类名和字节码检查,并且提供安全管理机制(类SecurityManager)让java应用设置安全的哨兵。

6.java语言是跨平台的

java程序在Java平台上面可以被编译为字节码文件,独立存在,可以在任何的操作系统中的JVM上进行解释运行。

7.java语言是多线程的

java语言支持多个线程同时执行,并且提供多线程之间的同步机制.


7.1.2   完成JAVA_HOME方式的环境变量配置并验证

为什么要配置

我们发现每次程序编译与运行都要输入D:\develop\Java\jdk1.7.0_51\bin后,才能使用javac.exe与java.exe,这样的方式很麻烦,那么,能否不输入D:\develop\Java\jdk1.7.0_51\bin呢?是可以的,通过配置Windows的PATH环境变量来完成。

 

我们配置path的目的是让Java的bin目录下的.exe命令可以在任意目录下执行,无需进入到javac所在的目录就可以找到javac.exe命令,方便完成程序。

 

如何配置

创建新的变量名称:JAVA_HOME

计算机-右键属性-高级系统设置-高级-环境变量-系统变量

为JAVA_HOME添加变量值:JDK安装目录

在path环境变量最前面添加如下内容%JAVA_HOME%\bin;

 

7.1.3  什么是JDK,什么是JRE,这两者有什么关系?


7.1.4  简述什么是java中的关键字,关键字的特点及常见的关键字

一九五五年九月下旬一天中午,我偷溜上一列从洛杉矶开出、朝圣巴巴拉(Santa Barbara)而去的货运火车。我头枕在行李袋上,翘着腿,注视着天上的滚滚浮云。那是一列慢车,我计划在圣巴巴拉的海滩睡一晚,隔天一大早再偷溜上一列开往圣路易斯-奥比斯蟹(San LuisObispo)的慢车,要不就是等到傍晚七点,溜上一列到旧金山去的直达车。


7.1.5  简述什么是标识符,标识符的组成,注意事项及命名规则

 

标识符组成

Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。

 

下面的标识符是合法的:

myName,My_name,Points,$points,_sys_ta,OK,_23b,_3_

 

下面的标识符是非法的:

#name,25name,class,&time,if

 

命名约定

1.类和接口名。每个字的首字母大写,含有大小写。例如,MyClass,HelloWorld,Time等。

2.方法名。首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。

3.常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。

4.变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。


7.1.6  简述注释的作用及分类,并在HelloWorld案例中添加注释

对于Java注释我们主要了解三种:

1, // 注释一行

2, /* ...... */ 注释若干行

3, /**……*/文档注释

 

作用:

通过注释提高Java源程序代码的可读性;

使得Java程序条理清晰,易于区分代码行与注释行。

另外通常在程序开头加入作者,时间,版本,要实现的功能等内容注释,方便后来的维护以及程序员的交流。


7.1.7  简述常量的分类,完成控制台输出不同类型的常量

Java一共提供了六种类型的常量:

 

1. 整型常量:整型常量的值为整数的类型,它可以采用十进制、八进制、十六进制表示。对于超过了int类型取值范围的大整数,系统不会自动当做long类型处理,此时必须在整数的后面增加大写或者小写的L作为后缀才能够作为long类型处理。通常我们推荐使用大写的L,小写的L容易和1混淆。

 

2. 浮点型常量:包括float和double两种类型,每一种类型都可以使用十进制或者是科学计数法,例如2.4e3,实际上表示2.4*103,Java语言的浮点型默认是double类型的,你如果希望把Java中的一个浮点数当作float类型处理那么必须增加后缀大写或小写的F,例如

3.4是double型,占用64位内存空间,而3.4f 位float类型,占用32位内存空间,当然也可以在一个浮点数后面加上大写或小写的d,指定其为double类型,但是通常没有这个必要,Java语言的浮点型默认是double类型的。

 

3. 布尔常量:只能取值true或false,注意不能使用0或1替代,也不能使用引号括起来

 

4. 字符常量:字符常量必须使用单引号括起来,只能是一个字符,Java中字符在内存中占用两个字节,采用的是Unicode编码,字符常量有二种变现形式,

(1)普通字符常量,例如’a’,’8’等等,使用单引号括起来。

(2)转义字符常量,例如’\n’表示换行,’\t’表示Tab键,’\b’退格键,这些控制字符都是不可显示字符,所以采用转义字符来表示。’\\’(反斜杠),’\’’(单引号),’\”’(双引号)。

 

5. 字符串常量:使用双引号括起来的一串字符,作为特殊情况也可以是0个或1个字符,例如”A” A是一个字符但是我们称”A”是一个字符串,不会把它认为是字符,字符常量是用单引号括起来的。

 

6. null常量:只有一个值null,表示引用变量保存的地址为空,还没有指向任何对象,可以把null常量赋给任意类型的引用类型的变量。

7.1.8  Java的“一次编写,多处运行”是如何实现的?

答:Java程序会被编译成字节码组成的class文件,这些字节码可以运行在不同平台的jvm上,所以说java是平台独立的。

7.2 代码题

7.2.1  第一题:分析以下需求,并用代码实现

1.定义一个HelloWold类

2.在类中定义主方法

3.在主方法中使用输出语句在dos控制台打印HelloWorld

打印结果如:HelloWorld

4.在案例中使用当行注释、多行注释添加相关的说明信息

 

代码实现:

/**

 * java第一个案例:HelloWorld

 *

 */

public class HelloWorld {

//定义主方法

public static void main(String[] args) {

//在控制台上打印HelloWorld

System.out.println("HelloWorld");

}

}

 

7.2.2  第二题:分析以下需求,并用代码实现

1.定义一个Test08类

2.要求在控制台打印输出一段话:

效果如下:

谁不曾一意孤行,怒发冲冠过怕只怕少了那份执着

世界上那些最容易的事情中,拖延时间最不费力

你若不想做,会找一个或无数个借口;你若想做,会想一个或无数个办法

代码实现:

public class Test08 {

//定义主方法

public static void main(String[] args) {

//在控制台上打印

System.out.println("谁不曾一意孤行,怒发冲冠过怕只怕少了那份执着");

System.out.println("世界上那些最容易的事情中,拖延时间最不费力");

System.out.println("你若不想做,会找一个或无数个借口;你若想做,会想一个或无数个办法");

}

 

}


7.2.3  第三题:分析以下需求,并用代码实现

1.定义一个Test09类

2.要求在控制台打印以下数据(利用常量的方式):

(1)字符串常量 "不忘初心方得始终"

(2)整数常量  88,-88

(3)小数常量  88.888

(4)字符常量  'A','8'

(5)布尔常量  true,false

代码实现:

public class Test09 {

//定义主方法

public static void main(String[] args) {

//在控制台上打印

System.out.println("不忘初心方得始终");

System.out.println(88);

System.out.println(-88);

System.out.println(88.888);

System.out.println('A');

System.out.println('8');

System.out.println(true);

System.out.println(false);

}

}

 

7.2.4 常量案例---超市水果报价单(选作)

7.2.4.1 案例介绍与演示

 

根据不同的水果种类,在控制台打印所有水果价格的列表。


7.2.4.2 案例分析

每行以每个水果为单位,记录该水果的编号、名称、单价、计价单位、品质五个属性值,依次完成多个水果的记录

将多个水果的信息以列表的形式打印到控制台

 

我们可以使用死数据来完成报价单,这里的“死数据”指不能改变,不与客户交互的数据,用来测试程序。

我们需要将需求当中的各种属性打印到控制台。

这里有两种方式可以实现:

1.全部使用字符串的方式,这是非常直观的方式:

直接打印字符串即可。

 

代码:

System.out.println("水果编号    水果名称    水果单价    计价单位    品质");

System.out.println("   1          榴莲        32.0        公斤       A");

System.out.println("   2          苹果        6.5         公斤       B");

System.out.println("   3         猕猴桃       6.0         公斤       A");

 

 

2.区分数据类型,打印不同数据类型的方式:

对于Java是严格区分数据类型的。

在HelloWorld案例中,我们使用System.out.println(“打印内容”)打印的就是字符串,即一段话,文本文字,是无法做数学运算的。

水果名称与计价单位显然是字符串类型的,按照字符串格式打印即可。如”香蕉”、 ”苹果”、”大鸭梨”等。

编号应该为整数,不应该像名称一样是文本文字。不需要使用“”。

水果单价应该为小数,可以参与计算。同样不需要使用“”。

水果品质一个字母就可以表示,应该为字符。字符需要使用‘’。


我们把数据调整为对应的常量类型后,还需要把常量其他的字符串连接起来,我们使用“+”来完成连接,我们来看几个连接后的效果

1 + “World”,连接后的结果就是”1World”

“Hello”+ 3.3,连接后的结果就是”Hello3.3”

 

当区分数据类型时,修改代码为:

System.out.println("水果编号    水果名称    水果单价    计价单位    品质");

System.out.println("   "+1+"          榴莲        "+32.0+"        公斤       "+'A');

System.out.println("   "+2+"          苹果        "+6.5+"         公斤       "+'B');

System.out.println("   "+3+"         猕猴桃       "+6.0+"         公斤       "+'A');

 

注意以上代码为黑色部分并不是字符串,我们通过“+”将整数编号、小数单价、字符品质和字符串的名称与计价单位拼起来一起输出了。

类似这样,直接写出来的整数、小数、字符、字符串,均叫做常量。写入程序后是无法改变的。