Java基本语法(上)
内容大纲
- 关键字和保留字
- 标识符
- Java命名规范
- 变量概念
- 变量分类
- 变量范围
- 基本数据类型转换
- 基本数据类型与String运算
- 变量部分练习
- 进制及其转换
- 原码 、反码、补码
- 进制转换
- 进制转换练习
- 算术运算符
- 关键字与保留字
- 关键字定义:Java语言中定义的具有特殊意义、用途的单词
- 关键字特点:关键字所有字母小写
- 保留字定义:以后可能当作关键字,现在还未使用
- 标识符
- 可以自己取名的地方叫标识符
- 注意:
- ①26个字母大小写、0-9、$、_组成
- ②数字不可以作为开头
- ③不能是标识符、长度不限、不含空格
- Java命名规范
- 包名:多单词组成都小写 william.com
- 类名、接口名:多单词首字母大写 class TestDemo
- 变量名、方法名:首字母小写,从第二个单词首字母大写 testDemoFunction
- 常量名:所有单词大写,多单词连接用下划线 TEST_NUM
- 变量
- ①放在内存中存储②有范围③程序存储单元,存放数据
- 变量声明格式:变量类型 变量名 = 变量值 int number = 0;
- 变量必须先声明再使用,且不能重复
- 变量的 作用域 :{}内声明赋值的变量只在该作用域发挥作用
- 变量分类
- 按数据类型分类
- 按声明位置分类
①类内,方法外声明:成员变量
②方法体内部:局部变量
- 变量范围
- 整数类型: 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=’\u000a’; (16进制)表示 \n
- 基础数据类型转换
- 自动类型提升 :
- ①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类型
- 变量部分练习
- 进制
- 二进制 (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
- 原码、反码、补码(二进制整数)
- 原码: 直接将一个数值换成二进制数。最高位是符号位
- 负数的反码: 是对原码按位取反,只是最高位(符号位)确定为1。
- 负数的补码: 其反码加1。
①计算机以 二进制补码 的形式保存所有的整数。
②正数的原码、反码、补码都相同
③负数的补码是其反码+1
- 进制转换
- 十进制->二进制: 除2取余的逆 如13转换:连除2余数分别为1、0、1、1;逆序为1101
- 二进制->十进制 乘以2的幂数
- 二进制 八进制互转
- 二进制 十六进制互转
- 十进制 八进制互转: 先转成二进制
- 十进制 十六进制互转: 先转成二进制
- 进制练习
- 算术运算符
① 取模结果的正负和被模数的正负有关
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的情况如下:
个位数:
十位数:
百位数: