Java基础第二章 数据类型和运算

1变量的命名

在Java中,标识某个实体的一个符号,在Java中,标识符是用户编程时用户起的名字。来为程序中变量.常量.方法.类.接口和包名。以建立名称与使用之间的关系。

标识符的命名规则

Java中的标识符规则有4个:

(1).标识符由字符、数字、下划线(_)、或者$组成

(2).标识符的首字母以字母、下划线、美元符号开头,不能以数字开头

(3).标识符命名不能与关键字、布尔值(false、true)和null相同

(4).标识符区分大小写,没有长度限制、坚持以见名知义的有原则

 

****见名知义原则与驼峰命名法:

见名知义的原则是指在使用标识符名时,要使用能反映被定义者的含义或作用的字符。这样,其他人在阅读代码时通过名称就可以对程序有所理解。

例如,定义姓名时使用name,定义年龄时使用Age,在定义学生姓名时使用studentName,在定义老师年龄时使用teacherAge,一看便能知道其代表的含义,是推荐使用的用法,如果定义为a,A1,s等名称,虽然没错,但是对理解此程序没有任何的意义,应该杜绝使用。

驼峰命名法就是当使用标识符命名时,如果由第一个或多个单词连接一起的,第一个单词以小写字母开始,第二个单词及后续每一个单词的首字母都采用大写字母,这样的变量名看上去就象驼峰一样此起彼符,故因此得名,如fileUtil、fileName、dataManage、studentInfo。

驼峰命名法的命名规则可视为一种惯例,并不绝对强制,为的是增强程序的可读性。

2.关键字

是电脑事先定义的,有特别意义的标识符

  1. abstract: 用于声明抽象类,以及抽象方法。

  2. boolean: 用于将变量声明为布尔值类型,只有 true 和 false 两个值。

  3. break: 用于中断循环或 switch 语句。

  4. byte: 用于声明一个可以容纳 8 个比特的变量。

  5. case: 用于在 switch 语句中标记条件的值。

  6. catch: 用于捕获 try 语句中的异常。

  7. char: 用于声明一个可以容纳无符号 16 位比特的 Unicode 字符的变量。

  8. class: 用于声明一个类。

  9. continue: 用于继续下一个循环,可以在指定条件下跳过其余代码。

  10. default: 用于指定 switch 语句中除去 case 条件之外的默认代码块。

  11. do: 通常和 while 关键字配合使用,do 后紧跟循环体。

  12. double: 用于声明一个可以容纳 64 位浮点数的变量。

  13. else: 用于指示 if 语句中的备用分支。

  14. enum: 用于定义一组固定的常量(枚举)。

  15. extends: 用于指示一个类是从另一个类或接口继承的。

  16. final: 用于指示该变量是不可更改的。

  17. finally:try-catch 配合使用,表示无论是否处理异常,总是执行 finally 块中的代码。

  18. float: 用于声明一个可以容纳 32 位浮点数的变量。

  19. for: 用于声明一个 for 循环,如果循环次数是固定的,建议使用 for 循环。

  20. if: 用于指定条件,如果条件为真,则执行对应代码。

  21. implements: 用于实现接口。

  22. import: 用于导入对应的类或者接口。

  23. instanceof: 用于判断对象是否属于某个类型(class)。

  24. int: 用于声明一个可以容纳 32 位带符号的整数变量。

  25. interface: 用于声明接口。

  26. long: 用于声明一个可以容纳 64 位整数的变量。

  27. native: 用于指定一个方法是通过调用本机接口(非 Java)实现的。

  28. new: 用于创建一个新的对象。

  29. null: 如果一个变量是空的(什么引用也没有指向),就可以将它赋值为 null,和空指针异常息息相关。

  30. package: 用于声明类所在的包。

  31. private: 一个访问权限修饰符,表示方法或变量只对当前类可见。

  32. protected: 一个访问权限修饰符,表示方法或变量对同一包内的类和所有子类可见。

  33. public: 一个访问权限修饰符,除了可以声明方法和变量(所有类可见),还可以声明类。main() 方法必须声明为 public。

  34. return: 用于在代码执行完成后返回(一个值)。

  35. short: 用于声明一个可以容纳 16 位整数的变量。

  36. static: 表示该变量或方法是静态变量或静态方法。

  37. strictfp: 并不常见,通常用于修饰一个方法,确保方法体内的浮点数运算在每个平台上执行的结果相同。

  38. super: 可用于调用父类的方法或者字段。

  39. switch: 通常用于三个(以上)的条件判断。

  40. synchronized: 用于指定多线程代码中的同步方法、变量或者代码块。

  41. this: 可用于在方法或构造函数中引用当前对象。

  42. throw: 主动抛出异常。

  43. throws: 用于声明异常。

  44. transient: 修饰的字段不会被序列化。

  45. try: 于包裹要捕获异常的代码块。

  46. void: 用于指定方法没有返回值。

  47. volatile: 保证不同线程对它修饰的变量进行操作时的可见性,即一个线程修改了某个变量的值,新值对其他线程来说是立即可见的。

  48. while: 如果循环次数不固定,建议使用 while 循环。

3.Java中的注释

  用来解析说明代码

作用:好的提高代码的可读性,提高软件的维护成本

java提供了注释有三种:

1.单行注释  用 //          快捷键:ctrl+/

2.多行注释 以/*开头    快捷键:ctrl+shift+/

                  以*/结尾   

3 .文档注释  /**            快捷键:输入/**,然后按enter键,iDEA会自动显示文档注释

                   *                                

                   *        

                   */

4数据类型

Java分为基本数据类型和引用数据类型

(1)基本数据类型

整数型:(byte、short、int、long)

浮点型:(float、double)

字符型:char

步尔型:boolean

其中整数型和浮点型又叫数值型,int、double、long 等都是java定义的关键字

Java中的基本数据类型的取值范围:

 

基本数据类型大小示例取值范围
boolean1字节,8位truetrue、false
byte1字节,8位有符号整数-12-128~+127
short2字节,16位有符号整数100-32768~+32767
int4字节,32位有符号整数12-2147483648~+2147483647
long8字节,64位有符号整数1000-2147438648~+2147438647
char2字节,16位Unicode'a'0~65535
float4字节,32位浮点数(单精度) 有效数字6位3.4f-3.4E38~3.4E38
double8字节,64位浮点数(双精度) 有效15位-2.1e3D-1.7E308~1.7E308

注意:

1.char类型占2个字节,采用Unicode:

(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、

编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为

每种语言中的每个字符设定了统一且唯一的二进制编码,以满足跨语言、跨平台

进行文本转换,处理的要求。

2.byte类型占1字节,是整数类型的一种

3.所有的数据长度固定,不会因为硬件、软件系统不同而发生变化

4.String类型不是基本数据类型、而是引用数据类型,它是Java提供的一个类

Java中处理基本数据类型都是引用数据类型,常用的有:1类:class ,2接口:interface,3数组:array[],4字符串:string,5包装类 

5.八大基本数据的包装类:Byte,Integer、Short、Long、Float、Double、Character、Boolean

作用:1.作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。

2.包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

 例如打入    BYTE.  弹出byte所以相关属性

选择最大值

 

6.Java中引用数据类型包含类、接口、和数组。

5.变量:

​    概念:与常量相对应,指程序中运行值可以改变的量。它是java程序中存储的一个基本单元

​    变量的语法格式:

​        变量类型  变量名 =[初始值]

​        变量的类型可以在数据类型中选择的

​        “变量名”是定义变量的名称,要遵循表示符命名的规则

​        中括号里面的值的内容为初始值,可选项

注意:Java标识符中包括了对包,类,方法,变量等的起名,也就是说变量名是标识符中的一种,需要满足标识符的命名规则

6.数据类型的转换:

概念:

不同的基本数据类型之间进行运算时,需要类型转换,除布尔类型外,所有的基本数据类型进行运算时要考虑类型转换,主要应用在算术运算和赋值运算

算术运算时:

存储位数越多,类型级别越高,

(1)自动类型转换

将低级别的类型赋值给高级别的类型时进行的自动转换

   如把 int a  赋值给 double b 自动转换到double类型

 

(2)强制类型转换

将高级别的类型赋值给低级别的类型时,必须要进行的强制转换,在Java中,使用一对小括号进行表示强制类型转换

 

 这里直接报错无法直接把 double a 赋值给 int b 

 在 a 前加上(int)即可强转

注意:

进行强制转换的时候,可能存在精度丢失,当double类型进行强制转换为int类型时,会造成浮点型小数的丢失:

7 常用运算符

​    概念:运算符就是告诉程序执行特定的运算符操作符号。java中提供了6类运算符:

​            赋值运算、算术运算、关系运算、逻辑运算、位运算、条件运算

##### 1.赋值运算

​        赋值运算符号“=”用于给变量指定变量的值,并可以和算术运算符结合起来,组成复合赋值运算符。复合赋值运算符:“+=”、“-=”、“*=”、“/=”、“%=”

例:int i =15;

int j =5;

i=i+j;    就等价于   i+=j;

##### 2.算术运算

​    算术运算符包括:“+”,“-”,“*”,“/”,“%”、“++”、“--”

​    其中:++表示自增运算

​        --表示自减运算

##### 注意:

​    比较:相同点都进行了i+1,操作:i++先赋值表达式,再进行自增运算;++i:先进行了i+i运算,再进行了表达式运算

​    同理可得i--和--i的相同点和不同点。

​    

​    对于除法运算,如果两个操作数都是整数,结果也是整数,会舍去小数部分,如果两个数,有一个是浮点数,将会进行自动类型转换,结果也是浮点数,保留小数部分

​    对于取模运算符,如果两个操作数均是整数,结果也是整数,如果两个操作数有一个浮点数结果也是浮点数,保留小数部分

##### 3.关系运算符

​    关系运算符有时又叫比较运算符,用于比较两个变量或常量的大小,运行的结果是布尔值:true

或false;

Java中有6个关系运算符:“==”、“!=” ">","<",">=";"<="

##### 注意:

​    1."="表示是赋值运算符;”==“表示等于运算符

​    2.”>“;"<",">=";"<=";只支持数值类型的比较

​    3.“==”、“!=”支持所有数据类型的比较,包括数值类型、布尔类型、引用类型

​    4.关系运算符,运算后的结果是一个布尔值

​    5.">","<",">=";"<=";运算符的优先级高于”==“、”!=“

##### 4.逻辑运算符

逻辑运算符用于对布尔类型操作数进行运算,其结果还是布尔值,逻辑运算如下

运算符含义运算规则
&逻辑与两个操作数都是true,结果才是true;不论左边取值,右边的表达式都会进行运算
|逻辑或两个操作数一个是true,结果也是true;不论左边取值,右边的表达式都会进行运算
^逻辑异或两个操作数相同,结果为false;两个操作数不同,结果为true
逻辑非操作数为true,结果为false;操作数为false,结果为true
&&短路与运算规则同“&”,不同在于如果左边为fasle,右边表达式不会进行运算
||短路或运算规则同“|”,不同在于如果运算符左边的值为true,右边的表达式不会进行运算

注意:

1.操作数类型只能是布尔类型,操作的结果也是布尔类型

2.优先级别:”!“>"&">"^">"|">"&&">"||"。

3.&与&&的区别:当“&&”的左侧为fasle时,将不会计算其右侧的表达式,即左边false则fasle;无论任何情况,“&”两侧的表达式都会参与计算

4.逻辑或和短路或:的区别和逻辑与与短路与类似

 

5.位运算(了解即可)

运算符含义运算规则
&按位与两个操作数都是1的时候,结果才是1
|按位或两个操作数一个是1,结果就是1
^按位异或两个操作数相同,结果为0,两个操作数不同,结果为1
~取反/按位非操作数为1,结果为0;操作数为0,结果·为1
<<左移右侧空位补0
>>右移左侧空位补最高位
>>>无符号右移左侧空位补0

提示:

1.位运算符对操作数,以二进制单位为单位进行运算

2.位运算符操作数是整数类型:int、short、long、byte、char

3.位运算符运算的结果也是整数:包括int、long

4.如果操作数,是char、byte、short位运算前其值先自动晋升int,所以结果也是int

6.条件运算(三目运算符)

是java中唯一需要3个操作数的运算符,又叫三元运算或三目运算

条件运算符的语法格式:

条件? 表达式1:表达式2

运算过程:

1.先对条件进行判断,结果为true,则返回表示式1的值

2.如果结果为false,则返回表达式2的值

 

8运算符的优先级(从高到低)

优先级

描述

运算符

1

括号

()、[]

2

正负号

+、-

3

自增自减,非

++、--、!

4

乘除,取余

*、/、%

5

加减

+、-

6

移位运算

<<、>>、>>>

7

大小关系

>、>=、<、<=

8

相等关系

==、!=

9

按位与

&

10

按位异或

^

11

按位或

|

12

逻辑与

&&

13

逻辑或

||

14

条件运算

?:

15

赋值运算

=、+=、-=、*=、/=、%=

16

位赋值运算

&=、|=、<<=、>>=、>>>=

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值