Day02基础语法

第二讲 基础语法

一、注释

  • 概念

注释就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它参与也不影响程序的编译和运行

(二)作用

1、对程序的思路进行描述。

2、对程序进行调试:通过注释的方式,快速定位出现错误的代码位置。

(三)分类

1、单行注释

格式: //注释内容   ctrl+/

2、多行注释

格式: /*  注释内容  */    ctrl+shift+/

3、文档注释

格式:/** 注释内容 */  

 

                            ​​​​​​​       

 

  • 关键字
  • 概述
  1. 概念

关键字是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,public,static,void均为Java已经预设好的。可以先把Java关键字理解为“命令”!

  1. 特点

1、组成关键字的字母全部小写。

2、常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去死记硬背,在今后的学习中重要的关键字也会不断的出来。

(二)关键字展示

 

 

 

注意事项:

1、全部小写

2、自己起名字的时候,不要和关键字重名

3、有两个保留字:goto、const,在当前版本不使用,但是以后是否使用未知。

边学边积累(不用背)

三、标识符

(一)什么是标识符

其实标识符就是名称的意思,所有的名称都统称为标识符。

Java中经常要定义类、方法、变量(后面会学习到),在定义他们时总要给它们起名字,这些名字就是标识符。我们要学习的就是标识符的规范。凡是可以自己起名字的地方都叫做标识符。

  • 命名规则

硬性要求

标识符可以包含英文字母26个(区分大小写)、0-9数字 、$(美元符号)和_(下划线)

标识符不能以数字开头

标识符不能是关键字

  • 命名规范

类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。

方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。

变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。

要做到见名知意。

 

练习:以下标识符是否符合规则:

date、$2011、_date、D_$date

123.com、2com、height#、for、if

四、数据类型

(一)概念

软件就是用来处理数据的程序。可以把软件分为两个部分,一个部分是“数据”;另一个部分是“数据处理的逻辑”。

程序 = 数据 + 逻辑(算法)

什么是数据?用电商来举例,用户就是数据,商品也是数据。那么什么是数据处理逻辑呢?购买商品的流程就是数据处理逻辑了。

在生活中数据是有类型的,例如人的姓名是字符串类型,人的年龄是正整数类型。在Java中数据也是有类型的。

  • 分类

 

 

基本数据类型

是Java语言中内置的类型,分别是整数类型、浮点类型、字符类型、布尔类型。这四类基本类型是最简单、最基础的类型。

引用数据类型

是强大的数据类型,它是基于基本数据类型创建的。JavaSE中提供了一个超级类库,类库中包含了近万种引用数据类型,也可以自定义引用数据类型。不过现在我们先要学习的是基本类型!

  • 基本数据类型

整数类型

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

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

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

十六进制表示方式:以0x(0X)开头   数字以0-9及A-F组成  如0x23A2、0xa、0x10

浮点数类型

如1.0、-3.15、3.168、2.5f等

布尔类型

true、false

字符类型

如'a','A', '0', '家'

字符必须使用’’ 包裹,并且其中只能且仅能包含一个字符。

Java中的基本数据类型都一个关键字与之对应,且具有相应的取值范围。在定义变量时需要先指定数据类型。

四类

八种

字节数

数据表示范围

整型

(精确)

byte

1

-128~127

short

2

-32768~32767

int(默认)

4

-2147483648~2147483647

long

8

-263~263-1

浮点型

(不精确)

float

4

-3.403E38~3.403E38

double(默认)

8

-1.798E308~1.798E308

字符型

char

2

表示一个字符,如('a','A','0','家')

布尔型

boolean

1

只有两个值true与false

  • 常量

常量就是不变的数据量(字面值),例如100就是常量,任何数据量都有其类型,那么100这个常量是什么类型呢?回忆一下基本类型中有四类,分别是整数、小数(浮点数)、字符、布尔。

  

 

示例代码

回顾HelloWorld案例,其中System.out.println(“Hello World!”)的圆括号中放的就是一个字符串。那么我们是否可以把圆括号中的字符串换成其他字符串呢?答案是可以的!不只是可以换成其他字符串,还可以把圆括号中的字符串换成其他类型的常量,例如:

  • 变量
  • 概念

变量:在程序中可以变化的量称为变量(常量是固定不变的量)

数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。

程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。

Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型

  • 定义

格式

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

例如

 int a =100;

其中int是数据类型,指定了变量只能存储整数,而且指定了存储范围为-2147483648~2147483648。

其中a表示变量名,变量名是标识符,这说明只要是合法的标识符都可以用来做变量名。在程序中可以通过变量名来操作变量

其中“=100”是给变量赋值,即向a变量中写入100。

注意,给变量赋的值一定要与类型符合,也就是说int类型只能存储整数,而且必须是在-2147483648~2147483648范围内的整数。

(三)注意事项

1、变量定义后可以不赋值,使用时再赋值。不赋值不能使用。

2、变量不能重复定义,并且赋值时类型得匹配。

3、变量使用时有作用域的限制

(四)数据类型转换

1、概念

不同类型的变量是否可以在一起运算呢?答案是可以的,但要先进行类型转换再运算。

其实,我们所学习的数据,它的表示方式是可以灵活多变的,比如把小数转换成整数的操作。

2、数据类型转换的两种方式

(1)自动类型转换

表示范围小的数据类型(如byte)可以直接转换成范围大的数据类型(如int),这种方式称为自动类型转换。(小东西装入大盒子中)

格式:范围大的数据类型 变量 = 范围小的数据类型值;

(2)强制类型转换

表示范围大的数据类型(如int)不可以转换成范围小的数据类型(如byte),但可以强制转,这种方式称为强制类型转换。

格式:范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;

转换规律:

各种数据类型按照数据范围从小到大依次列出:范围小的类型向范围大的类型提升:byte<short=char‐‐>int‐‐>long‐‐>float‐‐>double

 byte、short、char 运算时直接提升为int,同样的道理,当一个int 类型变量和一个double 变量运算时, int 类型将会自动提升为double 类型进行运算

Java中整数常量的默认类型是int类型,浮点数的默认类型是double类型。

  

浮点转成整数,直接去掉小数点,可能造成数据损失精度。

int 强制转成byte砍掉3个字节,可能造成数据丢失(丢失精度)。

3、浮点数运算问题

浮点数做运算结果不精确,要少于甚至不用浮点数直接进行运算。想要进行精确运算,要使用BigDecimal去完成(后面的课程中会学习到)

(五)字符集和char类型

1、字符集概念

字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。

字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。中文文字数目大,而且还分为简体中文繁体中文两种不同书写规则的文字,而计算机最初是按英语单字节字符设计的,因此,对中文字符进行编码,是中文信息交流的技术基础。

2、常见字符集介绍

ASCII字符集&编码

ASCII(American Standard Code for Information Interchange, 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语。

ASCII一共定义了128个字符,包括33个控制字符,和95个可显示字符。大部分的控制字符已经被废弃。

ASCII码为单字节,用7位二进制数表示,由于计算机1个字节是8位二进制数,所以最高位为0,即00000000-01111111或0x00-0x7F。

 

2 GB2312字符集&编码

GB2312 或 GB2312–80 是中华人民共和国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB0,由中国国家标准总局发布,1981年5月1日实施。GB 2312编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB2312。

GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个字符,基本满足了汉字的计算机处理需要。它所收录的汉字已经覆盖中国大陆99.75%的使用频率,但对于人名、古汉语等方面出现的罕用字和繁体字,GB2312不能处理。

3 GBK字符集&编码

汉字内码扩展规范,称GBK,全名为《汉字内码扩展规范(GBK)》1.0版,由中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司和电子工业部科技与质量监督司1995年12月15日联合以《技术标函[1995]229号》文件的形式公布。

GBK的K为汉语拼音Kuo Zhan(扩展)中“扩”字的声母。英文全称Chinese Internal Code Extension Specification。

GB2312只收录6763个汉字,有不少汉字,如部分在GB2312推出以后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕的“镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,并未有收录在内。GBK对GB 2312-80进行扩展, 总计拥有23940个码位,共收入21886个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号883 个。

4 Unicode字符集&编码

Unicode(中文:万国码、国际码、统一码、单一码)是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。
Unicode伴随着通用字符集的标准而发展,同时也以书本的形式对外发表。Unicode至今仍在不断增修,每个新版本都加入更多新的字符。目前最新的版本为2016年6月21日公布的9.0.0,已经收入超过十万个字符(第十万个字符在2005年获采纳)。Unicode涵盖的数据除了视觉上的字形、编码方法、标准的字符编码外,还包含了字符特性,如大小写字母。

Unicode发展由非营利机构统一码联盟负责,该机构致力于让Unicode方案替换既有的字符编码方案。因为既有的方案往往空间非常有限,亦不适用于多语环境。

Unicode备受认可,并广泛地应用于电脑软件的国际化与本地化过程。有很多新科技,如可扩展置标语言、Java编程语言以及现代的操作系统,都采用Unicode编码。

统一码的编码方式与ISO 10646的通用字符集概念相对应。目前实际应用的统一码版本对应于UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示2的16次方(即65536)个字符。基本满足各种语言的使用。实际上当前版本的统一码并未完全使用这16位编码,而是保留了大量空间以作为特殊使用或将来扩展。

Unicode原编码占用两个字节,在使用ASCII字符时,高位字节的8位始终为0,这会造成空间的浪费。为了避免这种浪费,Unicode的实现方式不同于编码方式。一个字符的Unicode编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。Unicode的实现方式称为Unicode转换格式(Unicode Transformation Format,简称为UTF)。
UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

5 UTF-8 编码

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,也是一种前缀码。其编码中的第一个字节仍与ASCII兼容,这使得原来处理ASCII字符的软件无须或只须做少部分修改,即可继续使用。

UTF-8使用一至六个字节为每个字符编码(尽管如此,2003年11月UTF-8被RFC 3629重新规范,只能使用原来Unicode定义的区域,U+0000到U+10FFFF,也就是说最多四个字节):

128个US-ASCII字符只需一个字节编码(Unicode范围由U+0000至U+007F)。

带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及它拿字母则需要两个字节编码(Unicode范围由U+0080至U+07FF)。

其他基本多文种平面(BMP)中的字符(这包含了大部分常用字,如大部分的汉字)使用三个字节编码(Unicode范围由U+0800至U+FFFF)。

其他极少使用的Unicode 辅助平面的字符使用四至六字节编码(Unicode范围由U+10000至U+1FFFFF使用四字节,Unicode范围由U+200000至U+3FFFFFF使用五字节,Unicode范围由U+4000000至U+7FFFFFFF使用六字节)。

对上述提及的第四种字符而言,UTF-8使用四至六个字节来编码似乎太耗费资源了。但UTF-8对所有常用的字符都可以用三个字节表示,而且它的另一种选择,UTF-16编码,对前述的第四种字符同样需要四个字节来编码,所以要决定UTF-8或UTF-16哪种编码比较有效率,还要视所使用的字符的分布范围而定。

编码方式

单字节字符的最高有效比特永远为0。

多字节序列中的首个字符组的几个最高有效比特决定了序列的长度。最高有效位为110的是2字节序列,而1110的是三字节序列,如此类推。

多字节序列中其余的字节中的首两个最高有效比特为10。

3、char类型

Java语言采用国际通用编码集utf-8作为默认编码集。

赋值方式

和int类型的运算

说明

在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char类型提升为了int类型。char类型内存2个字节,int类型内存4个字节。

几个特殊意义的字符

\ 转义字符  

\’ 表示 单引号

\\  表示  \

\n   换行

\r   回车

\t   tab  制表符

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值