java语言学习笔记一
<1>标识符
标识符可以标识类名,变量名,接口名,方法名
- Java 标识符的命名规则
a) 标识符是由,数字,字母,下划线和美元符号构成,其他符号不可以
b) 必须以字母、下划线或美元符号开头,不能以数字开头 - 关键字不能作为标识符
- 标识符区分大小写
- 标识符理论上没有大小限制
- 参见表格
合法标识符 | 非法标识符 |
---|---|
Helloworld | Hello-World |
_123Test | 123Test |
HelloWorld | HelloWorld# |
public1 | public |
HelloWord | Hello Word |
命名 Java 标识符,最好见名知意,可以使用驼峰标示
<2>关键字
在 Java 中关键字都是小写的
<3>数据类型
java主要有两种数据类型,一种为基本类型,一种为引用类型,基本类型有8种,引用类型有3种。
数据类型
1 基本数据类型
数值类型
整数型(byte,short,int,long)
浮点型(float,double)
字符类型(char)
布尔类型(boolean,只能取值 true 和 false)
2 引用数据类型
数组
类
接口
在计算机内部,所有信息都采用二进制表示,每个二进制由 0 和 1 两种状态,一个字节有 8
位,也就是由 8 个 0 或 1 构成,如果 short 类型的 6 在计算机中是如何存储的,short 是两个
字节,那么 short 6 的二进制为:00000000 00000110,int 类型的 6 在计算机中存储为 32 位:
00000000 00000000 00000000 00000110
<4>进制换算
- 简单了解十进制到二进制的换算 规则:除 2 取余,逆序输出 如 10 进制 6 二进制换算方式为: 6/2=3 余 0 3/2=1 余
1 1/2=0 余 1 将余数逆序输出就是 6 的二进制表示:110,位数不够补零 - 简单了解二进制到十进制的换算
规则:取出最后一位,从 2 的 0 次方开始乘,将得到的结果相加即可 如:二进制的 110 的十进制换算: 02 的 0 次方=0 12 的 1 次方=2 1*2 的 2 次方=4 110 的十进制为:0+2+4=6。
<5>变量
变量其实是 java 中的一个最基本的单元,也就是内存中的一块区域,Java 中的变量有四个
基本属性:变量名,数据类型,存储单元和变量值
变量名:合法的标识符
变量的数据类型:可以是基本类型和引用类型(必须包含类型) 存储单元:存储单元大小是由数据类型决定的,如:int 为 4 个字节 32 位 变量值:在存储单元中放的就是变量值(如果是基本类型放的就是具体值,如果是
引用类型放的是内存地址,如果 null,表示不指向任何对象)
变量的声明格式:类型 变量名。
<6>数据类型详解
1整数类型
java整型包括:byte/short/long/int
java中表示整型常量一般有三种表示方法:十进制、八进制、十六进制、
Java 语言整数型默认为 int 类型,如果要声明成 long 类型在变量值后加入 L,如:
long l = 999999999999L,可以使用小写的 L,但是容易发生混淆,所以推荐使用大写的 L
2浮点类型
Java 语言中浮点类型包括:float/double
Java 语言中浮点类型默认为 double
3布尔类型
布尔类型的取值只能是 true 和 false,不能取其他的
<7>基本类型的转换
1在 java 中基本类型可以相互转换,boolean 类型比较特殊不可以转换成其他类型
(1)转换分为默认转换和强制转换: 默认转换:容量小的类型会默认转换为容量大的类型
(2)byte–>short–> int–>long–>float–>double
(3)char–> byte、short、char 之间计算不会互相转换,首先先转换成 int
2强制转换
(1)将容量大的类型转换成容量小的类型,需要进行强制转换
注意:只要不超出范围可以将整型值直接赋值给 byte,short,char
在多种类型混合运算过程中,首先先将所有数据转换成容量最大的那种,再运算
<8>运算符
|
|
算术运算符 | +, -, *, /, ++, --, % |
---|---|
关系运算符 | <, <=, >, >=,==, != |
布尔运算符 | &&, , &, , ! |
位运算符 | &, |
赋值类运算符 | =, +=, -=, *=, /=, %= |
字符串连接运算符 | + |
条件运算符 | ?: |
其他运算符 | instanceof, new |
关系运算符和布尔运算符
与:两个操作数相与,如果都为 true,则为 true
或:两个操作数相或,有一个为 true,则为 true
异或:相异为 true,两个操作数不一样就为 true
短路与和逻辑与的区别?
短路与, 从第一个操作数推断结果,只要有一个为 fase,不再计算第二个操作数
逻辑与,两个操作数都计算
短路或和逻辑或的区别?
短路或,从第一个操作数推断结果,只要为 true,不再计算第二个操作数
逻辑或,两个操作数都计算
短路与和逻辑与、短路或和逻辑或与虽然计算方式不一样,但结果都是一样的
条件运算符
条件运算符是 java 语言中的三元运算,格式如下:
op1 ? op2 : op3
如果操作数 op1 为 true 则输出 op2,否则输出 op3
注:算术运算符和赋值类运算符和位运算符不多做介绍。