Java基本语法(上)
内容大纲
- 关键字和保留字
- 标识符
- Java命名规范
- 变量概念
- 变量分类
- 变量范围
- 基本数据类型转换
- 基本数据类型与String运算
- 变量部分练习
- 进制及其转换
- 原码、反码、补码
- 进制转换
- 进制转换练习
- 算术运算符
- 关键字与保留字
- 关键字定义:Java语言中定义的具有特殊意义、用途的单词
- 关键字特点:关键字所有字母小写
- 保留字定义:以后可能当作关键字,现在还未使用
- 标识符
- 可以自己取名的地方叫标识符
- 注意:
- ①26个字母大小写、0-9、$、_组成
- ②数字不可以作为开头
- ③不能是标识符、长度不限、不含空格
- Java命名规范
- 包名:多单词组成都小写 william.com
- 类名、接口名:多单词首字母大写 class TestDemo
- 变量名、方法名:首字母小写,从第二个单词首字母大写 testDemoFunction
- 常量名:所有单词大写,多单词连接用下划线 TEST_NUM
- 变量
- ①放在内存中存储②有范围③程序存储单元,存放数据
- 变量声明格式:变量类型 变量名 = 变量值 int number = 0;
- 变量必须先声明再使用,且不能重复
- 变量的作用域:{}内声明赋值的变量只在该作用域发挥作用
- 变量分类
- 按数据类型分类
![9e13e9d3b53876d16ccef87dea16321d.png](https://i-blog.csdnimg.cn/blog_migrate/fd255dd5b92ab9696155556727d0384a.jpeg)
- 按声明位置分类
①类内,方法外声明:成员变量
②方法体内部:局部变量
![b1ec257f28ca7941ae0f07af8a28388a.png](https://i-blog.csdnimg.cn/blog_migrate/5c88e1eb3081e51deaa9e6f283fd3e34.jpeg)
- 变量范围
- 整数类型:byte(1字节=8bit) -128~127 | short(2字节)| int(4字节)| long(8字节)
- ①long num=123445678L; 后面加 “L”
- ②double num=0.11;
- ③float num=0.11F; 后面加 “F”
- 字符类型:char(2字节) 字符
- ①Java中采用 Unicode编码,可存储一个字母、汉字、其他语言一个字符
- ② char c1 = 'a'; char c2 = '中'; char c3 = '9';
- ③ 可存储转义字符,如 char c4=' '; (16进制)表示
![064360bcf8f5d3c15ec0f0be263e0d31.png](https://i-blog.csdnimg.cn/blog_migrate/034eba2682e759bf7bd5692c97f13544.jpeg)
- 基础数据类型转换
- 自动类型提升:
- ①byte,short,char->int->long->float->double(小容量自动转换换成大容量,容量为表数范围)
- ②多类型数据混合运算,将数据类型转换成最大的再进行运算
- int a=10;
- long b=1000L;
- long c=a+b;
- ③byte,short,char运算时转换成int类型运算
- 强制类型转换:
- ①大容量放到小容量 ②使用强制转换符③boolean不能强制类型转换
- ④byte,short,char之间做运算会先将自身提升成int类型
- int b=1;
- int a=1;
- byte c=(byte)b + (byte)a; //编译不通过,byte类型运算时会自动转为int类型
- 正确写法:byte c = byte(b+a);
- 基本数据类型与String类型运算
- String s = "hello"; String s2 = new String("hello2");
- String类型与其他类型相加都转为String类型
- Java的整型常量默认为int类型,Java的浮点类型默认为double类型
- 变量部分练习
![4e4e103f34d2e14a67ebca5fe3b27081.png](https://i-blog.csdnimg.cn/blog_migrate/39229d0d3a81209d79ba583d9b10b423.jpeg)
- 进制
- 二进制(binary):0,1 ,满2进1.以0b或0B开头。
- 十进制(decimal):0-9 ,满10进1。
- 八进制(octal):0-7 ,满8进1. 以数字0开头表示。
- 十六进制(hex):0-9及A-F,满16进1. 以0x或0X开头表示。
- 010 0b10 0x10 10
![5642b6aac277dfbcfd1490ae6e50b328.png](https://i-blog.csdnimg.cn/blog_migrate/179b8bc2544e7ce28424b3cda2c05f5f.jpeg)
- 原码、反码、补码(二进制整数)
- 原码:直接将一个数值换成二进制数。最高位是符号位
- 负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
- 负数的补码:其反码加1。
①计算机以二进制补码的形式保存所有的整数。
②正数的原码、反码、补码都相同
③负数的补码是其反码+1
- 进制转换
- 十进制->二进制: 除2取余的逆 如13转换:连除2余数分别为1、0、1、1;逆序为1101
- 二进制->十进制 乘以2的幂数
- 二进制 八进制互转
![9cbe2d3f7b6921790eb37efba47b6ebe.png](https://i-blog.csdnimg.cn/blog_migrate/46405ad7f53c4741dce20dddcb39062a.jpeg)
- 二进制 十六进制互转
![65e9585ae96ed48410f4353e6fd95978.png](https://i-blog.csdnimg.cn/blog_migrate/3166842e6ef14ff913a3a26e31987bca.jpeg)
- 十进制 八进制互转:先转成二进制
- 十进制 十六进制互转:先转成二进制
- 进制练习
![3d42812f4acb12c462c97be53be03a81.png](https://i-blog.csdnimg.cn/blog_migrate/1b7ec20dc9a367107c01b7e4f912de1c.jpeg)
- 算术运算符
![51f6d8695ca11af05e1c29c59bf51113.png](https://i-blog.csdnimg.cn/blog_migrate/be7d61847b453401711963730ff9e970.jpeg)
① 取模结果的正负和被模数的正负有关
System.out.println( 4 % -3); // 1
System.out.println(-4 % 3); //-1
System.out.println(-4 % -3); //-1
② 整数之间做除法只保留整数部分
③ 计算机中运算顺序不同可能会导致不同结果
n2 = 10 / 4 * 4;//8.0
n2 = 10 * 4 / 4; //10.0
- 练习
随意给出一个整数,打印显示它的个位数,十位数,百位数的值。格式如下:
数字xxx的情况如下:
个位数:
十位数:
百位数: