第二章

第二课程 java 的基础语法的基础

1.关键字都是小写,会变为蓝色

2.标志符:

标志符就是给类,接口,方法,变量等起的名字。

起名字规则(只允许有这些东西):

英文大小写字母

            数字字符

            $和_

注意事项:不能以数字开头

          不能是关键字

          Java语言严格区分大小写(关键词有了一个字母大写,就不是关键词了)

3.常见的命名规则:

1.举例:定义一个学生类

class Student{}

不要用 class S{}因为S人不知道是什么意思


2.包(因为在同一个路径下不能用建立两个一样的类名,但是又要见名知意所以就要想办法区分开)命名全部是小写。

包其实就是文件夹。用以把相同的类名区分(每个字母都是小写)

  单级包:liuyi

  多级包:cn.itcase  (.是用来区分的级的。)

3.类和接口  命名一个时,首字母大写。多个时,每个单词首字母必须大写

  接口可以看做是和类一样的东西。

  一个单词:Student

多个单词: HelloWorld,StudentName

4.方法和变量

一个单词命名单词首字母必须大写

  一个单词:main ,age

  多个单词,从第二个开始,每个单词首字母大写

  举例:studentAge.  showStudentNames()  【加()的是方法,不加的变量】

5.常量 (每个字母都大写)

一个单词全部大写 如:PI

多个单词每个字母大写用_分开  如:STUDENT_MAX_AGE


4.注释

1.单行注释//

2.多行注释不能嵌套使用:/* */(多行注释不能嵌套,会没法运行)

3.文档注释;被javadoc工具解析生成一个说明书,面对对象部分讲解(没讲)

  //** */比多行注释多了一个*

注释有两个作用:

一是:可以通过注释来找程序的问题。可以帮我们调试程序。

二是:可以提高程序的阅读性

6.常量

1.字面值常量与自定义常量(后面讲)

字面值常量

          1 字符串常量  如 括号内形式“ HelloWorld”输出的字符串内容

          2 整数性常量  如 括号内形式 100 200

          3 小数常量  如  括号内形式  10.2  11.22

      4 字符常量(用单引号栝起来的单个字符)  如 括号内形式 ‘a’ ‘b’  ‘0’(这里0是一个字符不是数字)’ab’(这是错误的写法)

5布尔常量

比较特殊:括号内形式 :只有ture和false

          6 空常量(后面讲)

            如:null

7.进制

2进制只有两个状态,所以用8个二进制数来表示一个数据,这个单位叫字节

1byte(字节)=8bit 、、1k=1034byte


8进制是吧110  100  111 三个数字分为一块然后用十进制算法算出表示

16进制是吧1110  0001 四个一组用十进制的算法算出然后表示

规则: 进制越大,表示形式越短


3.

因为直接看数据分不出是几进制所以

二进制开头是0b  (后缀一个B也表示为二进制)

八进制开头是0 

十六进制开头是0x


写程序出错:

1.把100也加上引号,整数不用加

2.修改过后没有保存,就运行所以结果不会变

8.原码,反码,补码


在计算机内,有符号数有3种表示方法:原码,反码,补码。

计算机所有的运算都是采用数据对应的二进制补码运算的。

 

原码:

正数的原码最高位为0

负数的原码最高位为1

其他是数值位(数值位前面的用0补齐够7位)

    符号位  数值位

+7    0      0000111

-7    1      0000111

反码:

    正数的反码与原码一样

    负数的反码符号位不变,数值位每一位取反,就是0变1,1变0

        符号位  数值位

+7  0      0000111

-7  1      1111000

补码:

    正数的补码与原码一样

负数的补码是补码+1(当然是最小位)(注意:不能先写符号位了,因为类似111111111最后符号位会变)

        符号位    数值位

+7    0      0000111

-7    1      1111001 

1.已知某数x的原码10110100B。求补码与反码

 

反码1  1001011

补码1  1001100



2.已知某数x的补码11101110B。求原码


补码:1  1101110

反码:1  1101101

原码:1  0010010


9.什么是变量




10.数据类型




1.

Java是一种强数据类型的语言。


2.分为基本数据类型和引用数据类型

基本数据类型:4类8种

整数:

          所占字节数

  byte      1

  short      2   

  int        3

  long        4 

浮点数(小数):

                所占字节数

  float(单精度)      4

  double(双精度)    8

       

字符:

        所占字节数

  char :    2

布尔:

        所占字节数(很多地方没有明确给定,但因为只有0、1两种情况,所以认为是1)

boolean:  1


各种类型的取值正负都可byte(1字节):  -128~127

整数默认int 小数默认 double


引用数据类型3种(以后讲)


3.


1byte=8bie \\ 1字节等于8位  (对于原码的问题:如果第8位刚好是数值型怎么办,还怎么分原码,那就用2字节来表示,进而区分原码……)


1.定义变量注意事项:

当定义的整数型变量超过 int 型时,就需要用long型写,需要注意用long时long=100000000L(L大小写都可以)。如果不写还是会按int型处理,然后会报错。

同理double型也是,如果用float型时,会提醒你可能损失精度,因为float型时4字节,可能会自动删除变量超出的部分,所以会提醒可能损失精度;

如图


字符型如图:


布尔型;



2.定义变量注意的问题:

变量适用的范围:


1.格式最好是

 

2.一行可以定义多个变量,但是不建议。如


3.可以同时定义多个如:



4.可以先定义一个变量,而不给初始值,只要在使用(输出)前 初始化就行;如:


5不能这样:


用,隔开会以为是同一种类型。所以计算机识别不了int 属于int类型,所以好会报错。

11.运算符

1.

一般来说用运算符的时候,左右两边数据类型要一致。


+中可以直接在括号内写然后实现运算结果如:…….println(3+4)


2.

如果前后数据类型不一致,都向大的靠近(不让就会提示可能损失精度)。如图:



下图是算的原理;

字节少的先変为,字节更长的形式,在进行运算。如图:



3.

强制转换:

不要随意去使用强制转换,因为可能确会损失精度。

就是说,当你知道。大的与小的运算结果,明明byte字节够用时,可以强制转换。

写法: byte c = (byte)(a + b); 

正常写法: byte c = a + b ;


注意:如果后面是一个变量如:byte c = (byte) a  这里不用加括号,只有多个才用加。

4.


float a = (float) 29.323;

float a= 29.323F;

这两个是一样的,但是第一个是把double类型,截取然后成为float类。而第二个,本身就可以是一个float类型。



面试题:

题1.


答案是:

第二句会编译失败,因为第二句的变量相加是会自动变为int型,而b是byte,把int给byte会损失精度,所以会报错。变量赋值给变量是先在运行的时候(.class)文件时,才运算。

第三句是常量加法,是先计算出来后面的结果,如果结果在byte类型里,就不提示会损失精度,不报错。

byte b1 = 2 ,b2 = 3 , b 这种写法是可以的。

反编译工具:xjad.exe  可以把class文件读出来。方便差错。


题2.


有问题:因为byte取值范围 -128--127,130超过了,所以会报错。

byte b = (byte) 130; 这样强制转换就不会报错了。

结果:

做法分析,计算机是对补码运算的,所以要走一遍原码反码补码,在倒着走一遍才可以得出答案。 

130的二进制数为10000010

原码、反码、补码都为 10000010  (正数的原 反 补一样,负数 补码+1)

int型  00000000 00000000 00000000  10000010

因为byte型,所以做截取操作  10000010 (这是补码)

        符号位    数值位

补码    1        0000010

反码    1        0000001

原码    1        1111110

然后:1代表负数 ,后边的是126

-126



12.ASCII码表;

1.

System.out.println(‘a’+1);


‘a’  97 后面的以此加 1

‘A’  65

‘0’  48


2.


只要字符串在前,+相当于连接符,结果自然就是字符串形式

如 System.out.println (“5+5=”+5+5)  \\5+5=55

System.out.println (5+5“=5+5”)  \\  10=5+5



如果是整数+’a’ 会看成是 97 +1

双引号,表示输出字符串,单引号可以看成是char(字符)。



习惯;

1.

包名是:起包名时,全是小写,多级包名时。给什么公司做,习惯就用该公司域名的反写。如 com.baidu



2.

写代码的注释;  一般写了需求和分析就行。后两步直接写代码就行。


第二课程 java 的基础语法的基础

1.关键字都是小写,会变为蓝色

2.标志符:

标志符就是给类,接口,方法,变量等起的名字。

起名字规则(只允许有这些东西):

英文大小写字母

            数字字符

            $和_

注意事项:不能以数字开头

          不能是关键字

          Java语言严格区分大小写(关键词有了一个字母大写,就不是关键词了)

3.常见的命名规则:

1.举例:定义一个学生类

class Student{}

不要用 class S{}因为S人不知道是什么意思

2.包(因为在同一个路径下不能用建立两个一样的类名,但是又要见名知意所以就要想办法区分开)命名全部是小写。

包其实就是文件夹。用以把相同的类名区分(每个字母都是小写)

  单级包:liuyi

  多级包:cn.itcase  (.是用来区分的级的。)

3.类和接口  命名一个时,首字母大写。多个时,每个单词首字母必须大写

  接口可以看做是和类一样的东西。

  一个单词:Student

多个单词: HelloWorld,StudentName

4.方法和变量

一个单词命名单词首字母必须大写

  一个单词:main ,age

  多个单词,从第二个开始,每个单词首字母大写

  举例:studentAge.  showStudentNames()  【加()的是方法,不加的变量】

5.常量 (每个字母都大写)

一个单词全部大写 如:PI

多个单词每个字母大写用_分开  如:STUDENT_MAX_AGE

4.注释

1.单行注释//

2.多行注释不能嵌套使用:/* */(多行注释不能嵌套,会没法运行)

3.文档注释;被javadoc工具解析生成一个说明书,面对对象部分讲解(没讲)

  //** */比多行注释多了一个*

注释有两个作用:

一是:可以通过注释来找程序的问题。可以帮我们调试程序。

二是:可以提高程序的阅读性

6.常量

1.字面值常量与自定义常量(后面讲)

字面值常量

          1 字符串常量  如 括号内形式“ HelloWorld”输出的字符串内容

          2 整数性常量  如 括号内形式 100 200

          3 小数常量  如  括号内形式  10.2  11.22

      4 字符常量(用单引号栝起来的单个字符)  如 括号内形式 ‘a’ ‘b’  ‘0’(这里0是一个字符不是数字)’ab’(这是错误的写法)

5布尔常量

比较特殊:括号内形式 :只有ture和false

          6 空常量(后面讲)

            如:null

7.进制

2进制只有两个状态,所以用8个二进制数来表示一个数据,这个单位叫字节

1byte(字节)=8bit 、、1k=1034byte

8进制是吧110  100  111 三个数字分为一块然后用十进制算法算出表示

16进制是吧1110  0001 四个一组用十进制的算法算出然后表示

规则: 进制越大,表示形式越短

3.

因为直接看数据分不出是几进制所以

二进制开头是0b  (后缀一个B也表示为二进制)

八进制开头是0 

十六进制开头是0x

写程序出错:

1.把100也加上引号,整数不用加

2.修改过后没有保存,就运行所以结果不会变

8.原码,反码,补码

在计算机内,有符号数有3种表示方法:原码,反码,补码。

计算机所有的运算都是采用数据对应的二进制补码运算的。

 

原码:

正数的原码最高位为0

负数的原码最高位为1

其他是数值位(数值位前面的用0补齐够7位)

    符号位  数值位

+7    0      0000111

-7    1      0000111

反码:

    正数的反码与原码一样

    负数的反码符号位不变,数值位每一位取反,就是0变1,1变0

        符号位  数值位

+7  0      0000111

-7  1      1111000

补码:

    正数的补码与原码一样

负数的补码是补码+1(当然是最小位)(注意:不能先写符号位了,因为类似111111111最后符号位会变)

        符号位    数值位

+7    0      0000111

-7    1      1111001 

1.已知某数x的原码10110100B。求补码与反码

 

反码1  1001011

补码1  1001100

2.已知某数x的补码11101110B。求原码

补码:1  1101110

反码:1  1101101

原码:1  0010010

9.什么是变量

10.数据类型

1.

Java是一种强数据类型的语言。

2.分为基本数据类型和引用数据类型

基本数据类型:4类8种

整数:

          所占字节数

  byte      1

  short      2   

  int        3

  long        4 

浮点数(小数):

                所占字节数

  float(单精度)      4

  double(双精度)    8

       

字符:

        所占字节数

  char :    2

布尔:

        所占字节数(很多地方没有明确给定,但因为只有0、1两种情况,所以认为是1)

boolean:  1

各种类型的取值正负都可byte(1字节):  -128~127

整数默认int 小数默认 double

引用数据类型3种(以后讲)

3.

1byte=8bie \\ 1字节等于8位  (对于原码的问题:如果第8位刚好是数值型怎么办,还怎么分原码,那就用2字节来表示,进而区分原码……)

1.定义变量注意事项:

当定义的整数型变量超过 int 型时,就需要用long型写,需要注意用long时long=100000000L(L大小写都可以)。如果不写还是会按int型处理,然后会报错。

同理double型也是,如果用float型时,会提醒你可能损失精度,因为float型时4字节,可能会自动删除变量超出的部分,所以会提醒可能损失精度;

如图

字符型如图:

布尔型;

2.定义变量注意的问题:

变量适用的范围:

1.格式最好是

 

2.一行可以定义多个变量,但是不建议。如

3.可以同时定义多个如:

4.可以先定义一个变量,而不给初始值,只要在使用(输出)前 初始化就行;如:

5不能这样:

用,隔开会以为是同一种类型。所以计算机识别不了int 属于int类型,所以好会报错。

11.运算符

1.

一般来说用运算符的时候,左右两边数据类型要一致。

+中可以直接在括号内写然后实现运算结果如:…….println(3+4)

2.

如果前后数据类型不一致,都向大的靠近(不让就会提示可能损失精度)。如图:

下图是算的原理;

字节少的先変为,字节更长的形式,在进行运算。如图:

3.

强制转换:

不要随意去使用强制转换,因为可能确会损失精度。

就是说,当你知道。大的与小的运算结果,明明byte字节够用时,可以强制转换。

写法: byte c = (byte)(a + b); 

正常写法: byte c = a + b ;

注意:如果后面是一个变量如:byte c = (byte) a  这里不用加括号,只有多个才用加。

4.

float a = (float) 29.323;

float a= 29.323F;

这两个是一样的,但是第一个是把double类型,截取然后成为float类。而第二个,本身就可以是一个float类型。

面试题:

题1.

答案是:

第二句会编译失败,因为第二句的变量相加是会自动变为int型,而b是byte,把int给byte会损失精度,所以会报错。变量赋值给变量是先在运行的时候(.class)文件时,才运算。

第三句是常量加法,是先计算出来后面的结果,如果结果在byte类型里,就不提示会损失精度,不报错。

byte b1 = 2 ,b2 = 3 , b 这种写法是可以的。

反编译工具:xjad.exe  可以把class文件读出来。方便差错。

题2.

有问题:因为byte取值范围 -128--127,130超过了,所以会报错。

byte b = (byte) 130; 这样强制转换就不会报错了。

结果:

做法分析,计算机是对补码运算的,所以要走一遍原码反码补码,在倒着走一遍才可以得出答案。 

130的二进制数为10000010

原码、反码、补码都为 10000010  (正数的原 反 补一样,负数 补码+1)

int型  00000000 00000000 00000000  10000010

因为byte型,所以做截取操作  10000010 (这是补码)

        符号位    数值位

补码    1        0000010

反码    1        0000001

原码    1        1111110

然后:1代表负数 ,后边的是126

-126

12.ASCII码表;

1.

System.out.println(‘a’+1);

‘a’  97 后面的以此加 1

‘A’  65

‘0’  48

2.

只要字符串在前,+相当于连接符,结果自然就是字符串形式

如 System.out.println (“5+5=”+5+5)  \\5+5=55

System.out.println (5+5“=5+5”)  \\  10=5+5

如果是整数+’a’ 会看成是 97 +1

双引号,表示输出字符串,单引号可以看成是char(字符)。

习惯;

1.

包名是:起包名时,全是小写,多级包名时。给什么公司做,习惯就用该公司域名的反写。如 com.baidu

2.

写代码的注释;  一般写了需求和分析就行。后两步直接写代码就行。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容